[adding Robert and the launchpad bug to CC] On Mon, 2016-07-11 at 13:03 +0200, Yves-Alexis Perez wrote: > On Mon, 2016-07-11 at 11:46 +0200, Yves-Alexis Perez wrote: > > > I wonder whether there are other reasons why epoll_ctl can report > > > EINVAL? > > > > The syscall source code is at http://lxr.free-electrons.com/source/fs/even > > tp > > ol > > l.c#L1849 and it seems EINVAL is used as a default error case at various > > places, so maybe. > > > > > > I also wonder whether the new lightdm is starting dbus-launch with a > > > different value for some arbitrary kernel limit, or whether your > > > previous > > > session leaked some fds resulting in dbus-launch coming up with 90% of > > > an arbitrary limit already in use, or something like that? > > > > For what it's worth, after closing the first session there's no process > > running under my uid. I'll try to check the limits in 75dbus to see if > > they > > differ. > > Some more investigation: I've done a bisect in lightdm and the offending > commit is https://bazaar.launchpad.net/~lightdm-team/lightdm/1.18/revision/2 > 31 > 9 which is a somehow large refactoring, I didn't yet identify what could be > the problem there (but reported that upstream as well). > > I've checked the currently opened file descriptors when when starting the > session (I've added an ls -l /proc/self/fd in 75dbus..) and here are the > results (don't bother about the PIDs, the “first” login was after a lightdm > restart after the “second” login). > > For the first login: > > + ls -l /proc/self/fd > total 0 > lr-x------ 1 corsac corsac 64 Jul 11 12:56 0 -> /dev/null > l-wx------ 1 corsac corsac 64 Jul 11 12:56 1 -> /home/corsac/.xsession- > errors > l-wx------ 1 corsac corsac 64 Jul 11 12:56 2 -> /home/corsac/.xsession- > errors > lr-x------ 1 corsac corsac 64 Jul 11 12:56 3 -> /proc/30014/fd > > For the second: > > + ls -l /proc/self/fd > total 0 > lr-x------ 1 corsac corsac 64 Jul 11 12:56 0 -> /proc/29846/fd > l-wx------ 1 corsac corsac 64 Jul 11 12:56 1 -> /home/corsac/.xsession- > errors > l-wx------ 1 corsac corsac 64 Jul 11 12:56 2 -> /home/corsac/.xsession- > errors > > So it seems stdin is closed for the second login. Could it break dbus- > launch/dbus-daemon somehow?
Looking at the 2319 revision in lightdm it seems that greeter_start() closes the two file descriptors and that looks spurious. Digging a little bit more reveals https://bazaar.launchpad.net/~lightdm-team/lightdm/1.18/revision/2327 which seems to fix the problem indeed. I'm uploading a packaged including the patch asap. Robert, you might want to release an 1.18.3 soon, I guess we're not the only ones impacted. Simon, I'm not sure if it's something worth investigating/fixing in dbus, so I'll let you handle from there, I guess. Thanks everyone for the help. Regards, -- Yves-Alexis
signature.asc
Description: This is a digitally signed message part