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

Laércio de Sousa laerciosousa at sme-mogidascruzes.sp.gov.br
Tue Jul 7 10:15:53 PDT 2015


I can confirm lightdm greeter leaves some proccesses behind when it's
closed (like dbus-launch, dbus-daemon, at-spi-bus-launcher...) They are
only definitely terminated when user logs out from that seat.

2015-07-07 14:10 GMT-03:00 David Herrmann <dh.herrmann at gmail.com>:

> 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).
>
> Thanks
> David
>
> diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c
> index 0cc2cdf..bced693 100644
> --- a/src/login/logind-dbus.c
> +++ b/src/login/logind-dbus.c
> @@ -690,8 +690,11 @@ static int method_create_session
>          }
>
>          manager_get_session_by_pid(m, leader, &session);
> -        if (!session && vtnr > 0 && vtnr < m->seat0->position_count)
> +        if (!session && vtnr > 0 && vtnr < m->seat0->position_count) {
>                  session = m->seat0->positions[vtnr];
> +                if (session && session->class == SESSION_GREETER)
> +                        session = NULL;
> +        }
>          if (session) {
>                  _cleanup_free_ char *path = NULL;
>                  _cleanup_close_ int fifo_fd = -1;
> _______________________________________________
> systemd-devel mailing list
> systemd-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/systemd-devel
>



-- 
*Laércio de Sousa*
*Orientador de Informática*
*Escola Municipal "Professor Eulálio Gruppi"*
*Rua Ismael da Silva Mello, 559, Mogi Moderno*
*Mogi das Cruzes - SPCEP 08717-390*
Telefone: (11) 4726-8313
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/systemd-devel/attachments/20150707/588ec7a7/attachment.html>


More information about the systemd-devel mailing list