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

poma pomidorabelisima at gmail.com
Thu Jul 9 09:44:39 PDT 2015


On 09.07.2015 10:21, David Herrmann wrote:
> Hi
> 
> On Wed, Jul 8, 2015 at 6:09 PM, poma <pomidorabelisima at gmail.com> wrote:
>> On 08.07.2015 16:39, poma wrote:
>>> On 08.07.2015 13:54, David Herrmann wrote:
>>>> diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c
>>>> index 82654ee..91cc67d 100644
>>>> --- a/src/login/logind-dbus.c
>>>> +++ b/src/login/logind-dbus.c
>>>> @@ -699,9 +699,12 @@ static int method_create_session(
>>>>           * after the user-session and want the user-session to take
>>>>           * over the VT. We need to support this for
>>>>           * backwards-compatibility, so make sure we allow new sessions
>>>> -         * on a VT that a greeter is running on.
>>>> +         * on a VT that a greeter is running on. Furthermore, to allow
>>>> +         * re-logins, we have to allow a greeter to take over a used VT for
>>>> +         * the exact same reasons.
>>>>           */
>>>> -        if (vtnr > 0 &&
>>>> +        if (class != SESSION_GREETER &&
> 
> ...crap. This obviously needs to be "c != SESS..." instead of "class
> != SESS...". I really need to listen to compiler warnings.. I'm really
> sorry. Corrected patch is appended below.
> 
>>>> +            vtnr > 0 &&
>>>>              vtnr < m->seat0->position_count &&
>>>>              m->seat0->positions[vtnr] &&
>>>>              m->seat0->positions[vtnr]->class != SESSION_GREETER)
>>>>
>>>
>>>
>>> No land in sight
>>> no seagull in the sky
>>> no rum on board
>>> are we gonna die
>>>
>>
>> Translated from "Haiku",
>> patch does not change anything.
>> :)
>>
>> I'll revert all the changes, actually unnecessary for lightdm scheme.
>> Thank you for trying to help.
> 
> Thanks a lot for testing. I still cannot reproduce this locally. Any
> hints on what exactly goes wrong are highly welcome (or maybe weird
> log messages etc.).
> I'd also help if we knew which patch exactly broke things. The patches
> in question are (chron. order):
> 
> 0204c4bd69f6: login: re-use VT-sessions if they already exist
> 586cd08e1bbf: logind: allow sessions to share a VT if it's a greeter
> b80120c4cba7: logind: fail on CreateSession if already in session
> 
> Corrected patch is appended.
> 
> Thanks
> David
> 
> diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c
> index 82654ee..a3a8b45 100644
> --- a/src/login/logind-dbus.c
> +++ b/src/login/logind-dbus.c
> @@ -699,9 +699,12 @@ static int method_create_session(
>           * after the user-session and want the user-session to take
>           * over the VT. We need to support this for
>           * backwards-compatibility, so make sure we allow new sessions
> -         * on a VT that a greeter is running on.
> +         * on a VT that a greeter is running on. Furthermore, to allow
> +         * re-logins, we have to allow a greeter to take over a used VT for
> +         * the exact same reasons.
>           */
> -        if (vtnr > 0 &&
> +        if (c != SESSION_GREETER &&
> +            vtnr > 0 &&
>              vtnr < m->seat0->position_count &&
>              m->seat0->positions[vtnr] &&
>              m->seat0->positions[vtnr]->class != SESSION_GREETER)
> 


Thanks, but again the same situation, there is no shift for the better.

Here I put the logs:
login: disturbed interaction with the LightDM - Xfce - LiveCD/DVD #536
https://github.com/systemd/systemd/issues/536




More information about the LightDM mailing list