Package: udev Version: 0.103-1 Severity: critical Please see bug #403706 for the bug that brought me here.
For hotpluggable interfaces, net.agent checks to see if /etc/network/run/ifstate contains "lo=", and if not, waits a while for the interface to come up, which is a kind of a flag indicating that ifupdown is configured and ready to be used. If a system is uncleanly shutdown, then the ifstate file will still contain "lo=" when it comes back up. If the system has an interface, marked as hotpluggable, that is present during boot, then udev will run net.agent before the root filesystem is fscked, and before /etc/rcS.d/S18ifupdown-clean is run (which cleans the ifstate file). Since the "lo=" is still there, it will not wait, and will immediatly try to run ifupdown, which fails on a ro root filesystem. As a result, the network interface won't be up after boot. Currently, as noted in #403706, d-i marks nearly all interfaces as allow-hotplug, including pci cards, so all newly installed systems suffer from this problem, which makes their networking very non-robust. I feel that net.agent should be much more robust than this, should probably check to see if the ifup worked, and if not, sleep and retry. The whole check for lo being up based on /etc/network/run/ifstate seems less than ideal; it could instead check whether the actual interface is up, that seems less likely to have false positivies. -- Package-specific info: -- /etc/udev/rules.d/: /etc/udev/rules.d/: total 36 lrwxrwxrwx 1 root root 39 Dec 5 10:00 020_libgphoto2_generic-ptp_support.rules -> ../libgphoto2_generic_ptp_support.rules lrwxrwxrwx 1 root root 20 Jun 2 2006 020_permissions.rules -> ../permissions.rules lrwxrwxrwx 1 root root 16 Aug 7 22:19 025_libsane.rules -> ../libsane.rules lrwxrwxrwx 1 root root 16 Jun 12 2006 030_ifplugd.rules -> ../ifplugd.rules lrwxrwxrwx 1 root root 24 Dec 13 20:11 030_sl-modem-daemon.rules -> ../sl-modem-daemon.rules lrwxrwxrwx 1 root root 15 Jun 2 2006 85-pcmcia.rules -> ../pcmcia.rules lrwxrwxrwx 1 root root 13 Jun 2 2006 udev.rules -> ../udev.rules lrwxrwxrwx 1 root root 25 Jun 2 2006 z20_persistent-input.rules -> ../persistent-input.rules lrwxrwxrwx 1 root root 19 Jun 2 2006 z20_persistent.rules -> ../persistent.rules -rw-r--r-- 1 root root 29677 Aug 29 17:26 z25_persistent-cd.rules -rw-r--r-- 1 root root 735 Oct 18 20:49 z25_persistent-net.rules lrwxrwxrwx 1 root root 33 Jun 2 2006 z45_persistent-net-generator.rules -> ../persistent-net-generator.rules lrwxrwxrwx 1 root root 12 Jun 2 2006 z50_run.rules -> ../run.rules lrwxrwxrwx 1 root root 16 Jun 2 2006 z55_hotplug.rules -> ../hotplug.rules lrwxrwxrwx 1 root root 19 Jun 2 2006 z60_alsa-utils.rules -> ../alsa-utils.rules lrwxrwxrwx 1 root root 15 Jun 2 2006 z60_hdparm.rules -> ../hdparm.rules lrwxrwxrwx 1 root root 33 Jun 2 2006 z60_xserver-xorg-input-wacom.rules -> ../xserver-xorg-input-wacom.rules lrwxrwxrwx 1 root root 29 Jun 2 2006 z75_cd-aliases-generator.rules -> ../cd-aliases-generator.rules lrwxrwxrwx 1 root root 12 Nov 28 02:17 z99_hal.rules -> ../hal.rules -- /sys/: /sys/block/hda/dev /sys/block/hda/hda1/dev /sys/block/hda/hda2/dev /sys/block/ram0/dev /sys/block/ram1/dev /sys/block/ram10/dev /sys/block/ram11/dev /sys/block/ram12/dev /sys/block/ram13/dev /sys/block/ram14/dev /sys/block/ram15/dev /sys/block/ram2/dev /sys/block/ram3/dev /sys/block/ram4/dev /sys/block/ram5/dev /sys/block/ram6/dev /sys/block/ram7/dev /sys/block/ram8/dev /sys/block/ram9/dev /sys/block/sr0/dev /sys/class/drm/card0/dev /sys/class/input/input0/event0/dev /sys/class/input/input1/event1/dev /sys/class/input/input11/event2/dev /sys/class/input/input11/mouse0/dev /sys/class/input/input11/ts0/dev /sys/class/input/mice/dev /sys/class/misc/agpgart/dev /sys/class/misc/device-mapper/dev /sys/class/misc/fuse/dev /sys/class/misc/hpet/dev /sys/class/misc/psaux/dev /sys/class/misc/rtc/dev /sys/class/misc/snapshot/dev /sys/class/misc/tun/dev /sys/class/misc/vmmon/dev /sys/class/scsi_generic/sg0/dev /sys/class/sound/adsp/dev /sys/class/sound/audio/dev /sys/class/sound/controlC0/dev /sys/class/sound/dsp/dev /sys/class/sound/mixer/dev /sys/class/sound/pcmC0D0c/dev /sys/class/sound/pcmC0D0p/dev /sys/class/sound/pcmC0D1c/dev /sys/class/sound/pcmC0D6c/dev /sys/class/sound/pcmC0D6p/dev /sys/class/sound/timer/dev /sys/class/usb_device/usbdev1.1/dev /sys/class/usb_device/usbdev2.1/dev /sys/class/usb_device/usbdev3.1/dev /sys/class/usb_device/usbdev3.7/dev /sys/class/usb_device/usbdev4.1/dev /sys/class/usb_device/usbdev4.6/dev /sys/class/usb_device/usbdev5.1/dev /sys/devices/pci0000:00/0000:00:1d.0/usb1/1-0:1.0/usbdev1.1_ep81/dev /sys/devices/pci0000:00/0000:00:1d.0/usb1/usbdev1.1_ep00/dev /sys/devices/pci0000:00/0000:00:1d.1/usb2/2-0:1.0/usbdev2.1_ep81/dev /sys/devices/pci0000:00/0000:00:1d.1/usb2/usbdev2.1_ep00/dev /sys/devices/pci0000:00/0000:00:1d.2/usb3/3-0:1.0/usbdev3.1_ep81/dev /sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/usbdev3.7_ep02/dev /sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/usbdev3.7_ep81/dev /sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/usbdev3.7_ep00/dev /sys/devices/pci0000:00/0000:00:1d.2/usb3/usbdev3.1_ep00/dev /sys/devices/pci0000:00/0000:00:1d.3/usb4/4-0:1.0/usbdev4.1_ep81/dev /sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/usbdev4.6_ep02/dev /sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/usbdev4.6_ep81/dev /sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/usbdev4.6_ep82/dev /sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.1/usbdev4.6_ep03/dev /sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.1/usbdev4.6_ep83/dev /sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/usbdev4.6_ep00/dev /sys/devices/pci0000:00/0000:00:1d.3/usb4/usbdev4.1_ep00/dev /sys/devices/pci0000:00/0000:00:1d.7/usb5/5-0:1.0/usbdev5.1_ep81/dev /sys/devices/pci0000:00/0000:00:1d.7/usb5/usbdev5.1_ep00/dev -- Kernel configuration: -- System Information: Debian Release: 4.0 APT prefers unstable APT policy: (500, 'unstable'), (500, 'testing'), (1, 'experimental') Architecture: i386 (i686) Shell: /bin/sh linked to /bin/bash Kernel: Linux 2.6.18-3-686 Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Versions of packages udev depends on: ii cdebconf [debconf-2.0] 0.110 Debian Configuration Management Sy ii debconf [debconf-2.0] 1.5.10 Debian configuration management sy ii libc6 2.3.6.ds1-9 GNU C Library: Shared libraries ii libselinux1 1.32-3 SELinux shared libraries ii libvolume-id0 0.103-1 libvolume_id shared library ii lsb-base 3.1-22 Linux Standard Base 3.1 init scrip udev recommends no packages. -- debconf information excluded -- see shy jo
signature.asc
Description: Digital signature