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
_______________________________________________
systemd-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/systemd-devel

Reply via email to