[systemd-devel] Problems with systemd master

Richard Purdie richard.purdie at linuxfoundation.org
Fri Feb 14 07:23:24 PST 2014


I work on the Yocto Project and we've been having some stability issues
with systemd based images on our automated testing infrastructure. We
default to the last released version but it appears there have been a
lot of changes in master so I tried the latest git master in the hope
that this would at least show if the issue was know/fixed or not. The
master version consistently fails with the same issue, I'm not sure if
that is better or worse.

The logs show:

systemd[1]: Expecting device dev-ttyS0.device...
         Expecting device dev-ttyS0.device...
systemd[1]: job_get_timeout dev-ttyS0.device 1/96903843 0/18446744073709551615 -> 1/96903843
[*     ] A start job is running for dev-ttyS0.device (15s / 1min 30s)
systemd[1]: job_get_timeout dev-ttyS0.device 1/96903843 0/18446744073709551615 -> 1/96903843
[ TIME ] Timed out waiting for device dev-ttyS0.device.
[DEPEND] Dependency failed for Serial Getty on ttyS0.

Bisection shows this happens after this commit:

(also modifed again in http://cgit.freedesktop.org/systemd/systemd/commit/src/libudev/libudev-monitor.c?id=e8a3b2dcfbd2caa047489b52f7c874833831e5ca)

If I comment out the if block:

 if (!udev_has_service(udev) && !udev_has_devtmpfs(udev)) {

then the system starts up as expected.

If I run:

systemctl daemon-reload
systemctl stop serial-getty at ttyS0.service
systemctl start serial-getty at ttyS0.service

after bootup, the getty appears (daemon-reexec also does this).

I added some simple debugging and the thing that changes is that at
bootup udev_has_service() looks for /run/udev/queue.bin and that doesn't
exist at first. Later it does exist after rebuild_queue_file() runs and
everything starts working.

I'm afraid I don't know the code well enough to understand if this is
some kind of configuration issue on my part or whether there is a race
there and we're just being unfortunate enough to hit it.

Can anyone offer some advice on where to go from here?



More information about the systemd-devel mailing list