[systemd-devel] .device units are not showing up on git systemd

Zbigniew Jędrzejewski-Szmek zbyszek at in.waw.pl
Mon Jan 13 05:37:56 PST 2014


On Mon, Jan 13, 2014 at 10:37:58AM +0100, Umut Tezduyar Lindskog wrote:
> Hi,
> 
> .device units stopped showing up for me in git systemd since somewhere around mid-december. I have noticed that udevd and even udevadm monitor receives the kernel events but systemd itself never receives them. 
> 
> Further debugging, I have found out device_dispatch_io() (src/core/device.c) is never being called. It seemed like systemd binary is never aware of kernel events. I have proved this by:
> 
> 1) strace -p 1
> 2) udevadm monitor
> 3) echo add > /sys/devices/platform/elk/net/eth0/uevent
> 4) Looking at the output of strace, nothing is changed, it is still in epoll_wait.
>     Process 1 attached - interrupt to quit
>     clock_gettime(CLOCK_MONOTONIC, {1030, 364651245}) = 0
>     epoll_wait(4,
> 5) Looking at udevadm I can see the event being received.
>     monitor will print the received events for:
>     UDEV - the event which udev sends out after rule processing
>     KERNEL - the kernel uevent
> 
>     KERNEL[1064.673596] add      /devices/platform/elk/net/eth0 (net)
>     UDEV  [1064.983686] add      /devices/platform/elk/net/eth0 (net)
> 
> I have asked around in IIRC and seems like no one else is having the same problem. Before I further debug it, I wanted to check if something else might be stealing the epoll events from systemd or  if anyone else has a suggestion.

I'd use lsof to check that PID 1 has KOJBECT_UEVENT open, and then
attach gdb to it is stored in the right places.

Zbyszek


More information about the systemd-devel mailing list