[systemd-devel] Requested transaction contradicts existing jobs: start is destructive

Mark Bannister mbannister at janestreet.com
Tue May 5 10:57:10 UTC 2020


On Mon May 4 12:44:12 UTC 2020, Kumar Kartikeya Dwivedi <memxor at
gmail.com> wrote:
> For your case, it could be that some process running under
> session-N.scope is not responding to SIGTERM, and this in turn is
> making session-N.scope take time to stop (it has a default timeout of
> 90s), because it has to wait for all processes run under it to die
> before exiting. This also means that your user-UID.slice is waiting
> for session-N.scope before being stopped.

So if I'm understanding correctly, your suggestion is that if an SSH
session runs a process that ignores SIGTERM and the session is closed
and then within 90 seconds the same user attempts to open a new SSH
session, it should trigger this error condition?

Perhaps I'm missing something or oversimplifying, but I tried to
reproduce the problem as follows: I created a script that ignores INT,
TERM and HUP and then loops indefinitely writing the time every second
to a log file.  I SSHed into the box, ran the script, and then from
another terminal window killed the parent (bash) and also retried the
experiment by killing the bash parent (sshd).  In both cases the
parent bash and sshd processes died (as expected), my script kept
running but the parent PID of the script was changed to 1 (systemd).
I did not receive any error messages in /var/log/messages.

Any ideas how I might reproduce this problem at will?

Thanks
Mark


More information about the systemd-devel mailing list