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

Attachment: signature.asc
Description: Digital signature

Reply via email to