GNOME Bugzilla – Bug 680314
[systemd] gdm-session-worker process remains, prevents terminating user session
Last modified: 2012-07-21 18:16:48 UTC
After an update to 3.5.4.x I have the following problem: When logging out from gnome shell and try to re-login, gdm does no longer allow me to choose session type. While I had this before when user processes were still lingering around, now it is even when all processes have been terminated properly. loginctl [v187] shows that there are still sessions for the given user around, though it was a clean logout and no processes are remaining. Looking at the system processes active, i've found that there are multiple instances of gdm-session-worker. Killing the older ones causes the inactive sessions to close properly and therefore I'm able to choose session type again in gdm. So my guess is that something is wrong with the gdm-session-management, but of course there are far more possibilities, where this behaviour may be caused (systemd, gnome-session,...)
Thanks for the report. 3.5.4 was the first release to move to GDBus so a lot of changes went into it, and there's been a little fall out. I've pushed the following change: e7b3beb daemon: don't kill remote session slave at login which I think should correct this issue.
Created attachment 219342 [details] [review] daemon: don't kill remote session slave at login When a user disconnects from an XDMCP session we need to clean it up the associated slave. The function that did that was also erroneously cleaning up the slave when the greeter disconnected following the user successfully typing their password. This commit guards against the latter problem by checking if the session is started before deciding whether or not to kill the slave.
ignore the misleading commit message. i accidentally squashed two commits together into one.
Thanks for the quick response and the patch. While the main issue seems to be fixed by the mentioned patch (after a re-login the old sessions now are closed), one thing remains: gdm-session-worker stays active after logout until I re-login, causing that the session chooser is not shown as gdm still thinks I'm logged in unless I really login. The session will be kept open when I'm logging in as another user, too, what should not happen.
Hey, So I can't reproduce the behavior you're seeing. Just to be sure it's not a lingering worker from an old version of GDM with the bug, did you do a full reboot after trying it?
You're right, a reboot did it. Sorry for the mess and thanks!