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
poma
2015-Jul-08 11:29 UTC
[LightDM] [systemd-devel] sd 221 regression: login - nonexistent sessions via lightdm
On 07.07.2015 22:49, David Herrmann wrote:> 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 >Here is another case where this is still broken - LiveCD/DVD constellation. Initial log-in should work, but subsequent ones sind kaputt aber glücklich. So how to reproduce: just log-out & log-in, again. Here is a visual record: http://goo.gl/Gm4ffO Screencast/catch-a-tiger-by-the-toe.webm and here is a test compilation, so you can test it yourself: http://goo.gl/Gm4ffO ISO/Rawhide-Live-Xfce-708.iso