[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#346543: marked as done (udev netlink problems with kernel 2.6.15 on alpha)



Your message dated Thu, 09 Feb 2006 18:51:15 +0100
with message-id <7.0.0.16.0.20060209184640.03d6b1b0@thetaphi.de>
and subject line Bug#346543: Acknowledgement (udev netlink problems with  kernel 2.6.15 on alpha)
has caused the attached Bug report to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what I am
talking about this indicates a serious mail system misconfiguration
somewhere.  Please contact me immediately.)

Debian bug tracking system administrator
(administrator, Debian Bugs database)

--- Begin Message ---
Package: udev

Version: 0.079-1

I installed linux-image-2.6.15-1 (2.6.15-2) from Norbert on my alpha
machine. After rebooting I got some strange effects:

* kernel boots correct (OK)

* init starts (OK)

* udev starts to generate "hotplug" events and generates device
nodes. During that the following error occurs (the original wording is
unknown because not copyable from console):
        
udevd[pid]: error receiving netlink events: no buffer space available
The exact position of the error message varies. After that udev does not
generate device nodes anymore. In my case always all /dev/sd* nodes were
missing - system failed to mount anything.

* udev waits for completion of /dev but this timeouts always. Raising the timeout to (from 30 to 600!!!) helps to fix that. Please add a comment in the config file that this timeout is not measured in seconds (there is a "sleep 0.2" in /etc/init.d/udev !!!)
When going then to single user mode the netlink problem does not occur when stopping and starting udev. After that all nodes appear OK and you can remount missing devices with mount -a.

The case for this problem is a too small socket receive buffer. The configuration of this flags with /proc is done later, not before udev starts. It seems, that on my machine udevd is flooded by too many events or is too slow to receive events from the kernel so the kernel stacks them and wants to send them alltogether.

To fix this i put the following file into /etc/init.d:
thetaphi@alpha:/etc/init.d$ cat fix-udev
#/bin/sh

case "$1" in
    start)
        echo "Fixing bufsize for udev..."
        echo "256000" >/proc/sys/net/core/rmem_max
        echo "256000" >/proc/sys/net/core/rmem_default
        ;;
esac

Then I linked it in /etc/rc.S so that it is started BEFORE udev (04fix-udev). I did not hack this directly into the udev start script because I want to save it during updates of udev...

I think you should open a bug report directly at udev and tell them to set the receive buffer size directly in the udev code so that it does not depend on /proc/variables set before. It could also be an error in the kernel, but on Norberts machine it works. I do not know...

The error also occurs in udev 0.076-Last (which I had installed before). The previous kernel 2.6.14 works perfect (no timeout, no netlink error)

--- End Message ---
--- Begin Message ---
Version: 2.6.15-4

Does not appear anymore with linux-image-2.6.15-1-alpha-generic (2.6.15-4) and udev (0.081-1)!


--- End Message ---

Reply to: