poma
2015-Jul-07 20:08 UTC
[LightDM] [systemd-devel] sd 221 regression: login - nonexistent sessions via lightdm
On 07.07.2015 19:48, David Herrmann wrote:> Hi > > On Tue, Jul 7, 2015 at 7:10 PM, David Herrmann <dh.herrmann at gmail.com> wrote: >> Hi >> >> On Tue, Jul 7, 2015 at 6:55 PM, Martin Pitt <martin.pitt at ubuntu.com> wrote: >>> Hey David, >>> >>> David Herrmann [2015-07-07 18:31 +0200]: >>>>> Revert "login: re-use VT-sessions if they already exist" - commit 0204c4b >>>>> http://cgit.freedesktop.org/systemd/systemd/commit/?id=0204c4b >>>> >>>> Can someone elaborate what exactly lightdm does here? We really want >>>> to prevent multiple sessions on the same VT. This is just nasty and >>>> never made any sense. So I'm really interested why lightdm doesn't >>>> kill it's manager-session before it starts the new session. Any >>>> particular reason here? >>> >>> I'll let Robert answer with the details, but something I noticed: >>> >>> It's not that simple to reproduce, but sometimes it seems the lightdm >>> "greeter" session (running as user lightdm, where you select user/type >>> password and so on) doesn't completely terminate, but some processes >>> stay around in it. Thus the greeter session stays around in state >>> "Closing", and then the "real" session starts on the same VT. >>> >>> I asked the reporter of https://launchpad.net/bugs/1472259 to attach >>> systemd-cgls, so that we can see what's running in the session. >> >> So it might indeed just be a race in lightdm. Hmm.. >> Anyway, this patch here should also fix the issue (if it does, I'll >> commit something proper). > > Ok, I pushed this to -git now. Should be fixed. Can you guys verify? > > Thanks > David >$ loginctl list-sessions SESSION UID USER SEAT 1 1001 test seat0 c1 989 lightdm seat0 2 sessions listed. $ loginctl show-session c1 Id=c1 Name=lightdm Timestamp=Tue 2015-07-07 21:44:41 CEST TimestampMonotonic=51125373 VTNr=1 Display=:0 Remote=no Service=lightdm-greeter Scope=session-c1.scope Leader=1346 Audit=0 Type=x11 Class=greeter Active=no State=closing IdleHint=no IdleSinceHint=0 IdleSinceHintMonotonic=0 $ loginctl show-session 1 Id=1 Name=test Timestamp=Tue 2015-07-07 21:56:10 CEST TimestampMonotonic=739928248 VTNr=1 Display=:0 Remote=no Service=lightdm Desktop=xfce Scope=session-1.scope Leader=1983 Audit=1 Type=x11 Class=user Active=yes State=active IdleHint=no IdleSinceHint=0 IdleSinceHintMonotonic=0 $ rpm -q systemd lightdm lightdm-gtk systemd-222-2.fc23.x86_64 lightdm-1.15.0-2.fc23.x86_64 lightdm-gtk-2.0.1-2.fc23.x86_64 It's OK.
David Herrmann
2015-Jul-07 20:49 UTC
[LightDM] [systemd-devel] sd 221 regression: login - nonexistent sessions via lightdm
Hi On Tue, Jul 7, 2015 at 10:08 PM, poma <pomidorabelisima at gmail.com> wrote:> On 07.07.2015 19:48, David Herrmann wrote: >> Hi >> >> On Tue, Jul 7, 2015 at 7:10 PM, David Herrmann <dh.herrmann at gmail.com> wrote: >>> Hi >>> >>> On Tue, Jul 7, 2015 at 6:55 PM, Martin Pitt <martin.pitt at ubuntu.com> wrote: >>>> Hey David, >>>> >>>> David Herrmann [2015-07-07 18:31 +0200]: >>>>>> Revert "login: re-use VT-sessions if they already exist" - commit 0204c4b >>>>>> http://cgit.freedesktop.org/systemd/systemd/commit/?id=0204c4b >>>>> >>>>> Can someone elaborate what exactly lightdm does here? We really want >>>>> to prevent multiple sessions on the same VT. This is just nasty and >>>>> never made any sense. So I'm really interested why lightdm doesn't >>>>> kill it's manager-session before it starts the new session. Any >>>>> particular reason here? >>>> >>>> I'll let Robert answer with the details, but something I noticed: >>>> >>>> It's not that simple to reproduce, but sometimes it seems the lightdm >>>> "greeter" session (running as user lightdm, where you select user/type >>>> password and so on) doesn't completely terminate, but some processes >>>> stay around in it. Thus the greeter session stays around in state >>>> "Closing", and then the "real" session starts on the same VT. >>>> >>>> I asked the reporter of https://launchpad.net/bugs/1472259 to attach >>>> systemd-cgls, so that we can see what's running in the session. >>> >>> So it might indeed just be a race in lightdm. Hmm.. >>> Anyway, this patch here should also fix the issue (if it does, I'll >>> commit something proper). >> >> Ok, I pushed this to -git now. Should be fixed. Can you guys verify? >> >> Thanks >> David >> > > $ loginctl list-sessions > SESSION UID USER SEAT > 1 1001 test seat0 > c1 989 lightdm seat0 > > 2 sessions listed. > > $ loginctl show-session c1 > Id=c1 > Name=lightdm > Timestamp=Tue 2015-07-07 21:44:41 CEST > TimestampMonotonic=51125373 > VTNr=1 > Display=:0 > Remote=no > Service=lightdm-greeter > Scope=session-c1.scope > Leader=1346 > Audit=0 > Type=x11 > Class=greeter > Active=no > State=closing > IdleHint=no > IdleSinceHint=0 > IdleSinceHintMonotonic=0 > > $ loginctl show-session 1 > Id=1 > Name=test > Timestamp=Tue 2015-07-07 21:56:10 CEST > TimestampMonotonic=739928248 > VTNr=1 > Display=:0 > Remote=no > Service=lightdm > Desktop=xfce > Scope=session-1.scope > Leader=1983 > Audit=1 > Type=x11 > Class=user > Active=yes > State=active > IdleHint=no > IdleSinceHint=0 > IdleSinceHintMonotonic=0 > > $ rpm -q systemd lightdm lightdm-gtk > systemd-222-2.fc23.x86_64 > lightdm-1.15.0-2.fc23.x86_64 > lightdm-gtk-2.0.1-2.fc23.x86_64 > > It's OK.Much appreciated, thanks! I'd still prefer a comment from Robert about the intended behavior. But that's not release critical. Thanks David