[systemd-devel] sd 221 regression: login - nonexistent sessions via lightdm

poma pomidorabelisima at gmail.com
Wed Jul 8 04:29:56 PDT 2015


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




More information about the systemd-devel mailing list