Bug 1032014 - Fedora 20 (GNOME) fails to activate automatically user session for non-seat0 seats
Summary: Fedora 20 (GNOME) fails to activate automatically user session for non-seat0 ...
Keywords:
Status: CLOSED EOL
Alias: None
Product: Fedora
Classification: Fedora
Component: systemd
Version: 20
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: systemd-maint
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-11-19 11:24 UTC by Laercio de Sousa
Modified: 2015-06-29 13:00 UTC (History)
8 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-06-29 13:00:18 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Laercio de Sousa 2013-11-19 11:24:07 UTC
Description of problem:

In Fedora 20 (systemd 208 + GNOME 3.10 + GDM 3.10), I'm observing a strange behaviour in my multiseat system. When a user logs in at non-seat0 seat, its session is no longer activated automatically. I need to activate it manually by running "loginctl activate <user-session-id>".

I've observed that, when my system boots, gdm greeter sessions in both seat0 and non-seat0 seats are active, as expected. However, when a user logs in at non-seat0, its session remains inactive.

If I activate manually the user session and log him out, now the greeter session becomes inactive. If a user logs in once again, now its session becomes active automatically.

Shortly, it seems my system fails to switch safely from an active greeter session to an active user session and vice-versa. It only switches correctly from an inactive session to an active one.

This problem does not happen in Fedora 19 (systemd 204 + GNOME 3.8 + GDM 3.8). It also disappears when I replace GDM with KDM (with Fedora multiseat patches), which seems not to open greeter sessions.

Version-Release number of selected component (if applicable):
Fedora 20
systemd 208
GNOME 3.10
GDM 3.10


How reproducible:

Always


Steps to Reproduce:
1. Boot Fedora 20 (GNOME) (greeter session is active)
2. Log in at a non-seat0 seat (it starts an inactive user session)
3. Run "loginctl activate <user-session-id>" (user session becomes active)
4. Log out (greeter session now becomes inactive)
5. Log in once again (user session now is active)
6. Log out once again (greeter session is inactive again)
7. Log in one more time (user session is active)
8. And so on...

Actual results:


Expected results:


Additional info:

Comment 1 Toon Verstraelen 2014-08-07 18:23:24 UTC
I can confirm this problem. However, it also occurs on my multi-seat setup with seat0. This is problematic as inactive sessions require authentication from policykit to do just about anything (mounting usb, shutting down, ...)

Just to clarify, here is some output from loginctl

root@localhost ~> loginctl
   SESSION        UID USER             SEAT            
        c1         42 gdm              seat0           
        c2         42 gdm              seat2           
         9       1000 toon             seat0           

3 sessions listed.
root@localhost ~> loginctl show-session c1
Id=c1
Timestamp=Thu 2014-08-07 12:01:52 CEST
TimestampMonotonic=8962500
VTNr=0
Display=:0
Remote=no
Service=gdm-launch-environment
Scope=session-c1.scope
Leader=1112
Audit=0
Type=x11
Class=greeter
Active=no
State=closing
IdleHint=no
IdleSinceHint=0
IdleSinceHintMonotonic=0
Name=gdm
root@localhost ~> loginctl show-session c2
Id=c2
Timestamp=Thu 2014-08-07 12:01:52 CEST
TimestampMonotonic=9047612
VTNr=0
Display=:1
Remote=no
Service=gdm-launch-environment
Scope=session-c2.scope
Leader=1138
Audit=0
Type=x11
Class=greeter
Active=yes
State=active
IdleHint=yes
IdleSinceHint=1407406012116551
IdleSinceHintMonotonic=309042921
Name=gdm
root@localhost ~> loginctl show-session 9
Id=9
Timestamp=Thu 2014-08-07 19:33:06 CEST
TimestampMonotonic=27083856607
VTNr=0
Display=:0
Remote=no
Service=gdm-password
Scope=session-9.scope
Leader=6967
Audit=9
Type=x11
Class=user
Active=no
State=online
IdleHint=no
IdleSinceHint=0
IdleSinceHintMonotonic=0
Name=toon

Comment 2 Laercio de Sousa 2014-08-07 19:07:21 UTC
The problem with inactive non-seat0 seats can be solved with a patch David Herrmann pushed to systemd v209:

http://cgit.freedesktop.org/systemd/systemd/commit/?id=3fdb2494c1e24c0a020f5b54022d2c751fd26f50

On the other hand, the problem with inactive seat0 sessions may be related to a race condition between seat0 and non-seat0 X servers, with the non-seat0 one "stealing" the VT from the seat0 one.

xorg-server 1.16 includes a patch that prevents non-seat0 X servers from touching VTs (since they don't use it at all), avoiding that race condition. The patch is available here:

http://cgit.freedesktop.org/xorg/xserver/commit/?id=46cf2a60934076bf568062eb83121ce90b6ff596

Comment 3 Fedora End Of Life 2015-05-29 09:48:13 UTC
This message is a reminder that Fedora 20 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 20. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as EOL if it remains open with a Fedora  'version'
of '20'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 20 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 4 Fedora End Of Life 2015-06-29 13:00:18 UTC
Fedora 20 changed to end-of-life (EOL) status on 2015-06-23. Fedora 20 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.


Note You need to log in before you can comment on or make changes to this bug.