<div dir="ltr"><div dir="ltr">On Sat, Jan 29, 2022 at 5:29 AM Raman Gupta <<a href="mailto:rocketraman@gmail.com" target="_blank">rocketraman@gmail.com</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Try to set the systemd user instance's log level to 'debug'; I'm guessing it's not that systemd kills processes directly but that something triggers a 'systemctl stop' of the session .scope that they were in.</blockquote><div><br></div><div>Here are the logs at debug level with some annotations inline:</div><div><br></div><div><b><wake up at 21:57:30></b></div><div><br></div><div>Jan 28 21:57:34 edison plasmashell[3114743]: KCrash: Application 'plasmashell' crashing...<br>Jan 28 21:57:34 edison plasmashell[3114743]: KCrash: Attempting to start /usr/libexec/drkonqi<br></div><div><br></div><div><b><This is because of <a href="https://bugs.kde.org/show_bug.cgi?id=396359" target="_blank">https://bugs.kde.org/show_bug.cgi?id=396359</a>, could be related to subsequent events but I'm pretty sure I've seen this same problem even when Plasma doesn't crash></b></div><div><br></div><div>Jan 28 21:57:34 edison systemd[2551]: Got message type=signal sender=org.freedesktop.DBus destination=n/a path=/org/freedesktop/DBus interface=org.freedesktop.DBus member=NameOwnerChanged cookie=4294967295 reply_cookie=0 signature=sss error-name=n/a error-message=n/a<br>Jan 28 21:57:34 edison systemd[2551]: plasma-plasmashell.service: D-Bus name org.kde.plasmashell now not owned by anyone.<br>Jan 28 21:57:34 edison systemd[2551]: plasma-plasmashell.service: Changed running -> stop-sigterm<br>Jan 28 21:57:34 edison systemd[2551]: Sent message type=signal sender=n/a destination=n/a path=/org/freedesktop/systemd1/unit/plasma_2dplasmashell_2eservice interface=org.freedesktop.DBus.Properties member=PropertiesChanged cookie=10389 reply_cookie=0 signature=sa{sv}as error-name=n/a error-message=n/a<br>Jan 28 21:57:34 edison systemd[2551]: Sent message type=signal sender=n/a destination=n/a path=/org/freedesktop/systemd1/unit/plasma_2dplasmashell_2eservice interface=org.freedesktop.DBus.Properties member=PropertiesChanged cookie=10390 reply_cookie=0 signature=sa{sv}as error-name=n/a error-message=n/a<br>Jan 28 21:57:34 edison systemd[2551]: Received SIGCHLD from PID 3326812 (idea.sh).<br>Jan 28 21:57:34 edison systemd[2551]: Child 3326812 (idea.sh) died (code=killed, status=15/TERM)</div><div><br></div><div><b><This seems to indicate that systemd is receiving notification that IDEA died. Not sure why killsnoop.py seems to think that systemd is the process that <i>sends</i> the SIGTERM -- it's still unclear to me where IDEA is receiving the SIGTERM from></b></div></div></blockquote><div><br></div><div>Processes get SIGCHLD for all children that exit -- it's not suppressed just because the same process sent a SIGTERM recently.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><br>Jan 28 21:57:34 edison systemd[2551]: plasma-plasmashell.service: Child 3326812 belongs to plasma-plasmashell.service.<br>Jan 28 21:57:34 edison systemd[2551]: Child 3114994 (kio_http_cache_) died (code=killed, status=15/TERM)<br>Jan 28 21:57:34 edison systemd[2551]: plasma-plasmashell.service: Child 3114994 belongs to plasma-plasmashell.service.<br>Jan 28 21:57:34 edison systemd[2551]: Child 3328167 (adb) died (code=killed, status=15/TERM)<br>Jan 28 21:57:34 edison systemd[2551]: plasma-plasmashell.service: Child 3328167 belongs to plasma-plasmashell.service.<br>Jan 28 21:57:34 edison systemd[2551]: Received SIGCHLD from PID 3328167 (n/a).<br></div><div><br></div><div><b><bunch more processes dying similarly, plasma restarting, etc.></b></div></div></blockquote><div><br></div><div>Honestly this just sounds like systemd killing "leftover" processes within the plasma-plasmashell cgroup, after the "main" process of that service has exited. That's not a bug; that's standard behavior for systemd services.</div><div><br></div><div>For special cases like desktop environments, I think this means the .service should have KillMode=process (as long as that's still supported, anyway), *or* Plasma should be improved to no longer spawn apps directly but to put them in new systemd units (like gnome-shell does).</div></div><div><br></div>-- <br><div dir="ltr"><div dir="ltr">Mantas Mikulėnas</div></div></div>