After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 680314 - [systemd] gdm-session-worker process remains, prevents terminating user session
[systemd] gdm-session-worker process remains, prevents terminating user session
Status: RESOLVED FIXED
Product: gdm
Classification: Core
Component: general
3.5.x
Other Linux
: Normal normal
: ---
Assigned To: GDM maintainers
GDM maintainers
Depends on:
Blocks:
 
 
Reported: 2012-07-20 12:36 UTC by Gert Kulyk
Modified: 2012-07-21 18:16 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
daemon: don't kill remote session slave at login (1.55 KB, patch)
2012-07-20 18:09 UTC, Ray Strode [halfline]
committed Details | Review

Description Gert Kulyk 2012-07-20 12:36:58 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,...)
Comment 1 Ray Strode [halfline] 2012-07-20 18:09:32 UTC
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.
Comment 2 Ray Strode [halfline] 2012-07-20 18:09:35 UTC
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.
Comment 3 Ray Strode [halfline] 2012-07-20 18:11:32 UTC
ignore the misleading commit message.  i accidentally squashed two commits together into one.
Comment 4 Gert Kulyk 2012-07-20 18:43:26 UTC
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.
Comment 5 Ray Strode [halfline] 2012-07-20 21:04:06 UTC
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?
Comment 6 Gert Kulyk 2012-07-21 18:16:48 UTC
You're right, a reboot did it. Sorry for the mess and thanks!