[hardy] slow boot since upgrade (30s "Loading hardware drivers...")

Bug #213903 reported by Malte S. Stretz
4
Affects Status Importance Assigned to Milestone
udev (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

I upgraded to hardy a few days ago and immediately noticed that booting the box takes a lot longer than before. When I switched off the splash screen I noticed that /etc/init.d/udev hangs for about 20 seconds at the "Loading hardware drivers..." output. I'll attach a bootchart which also shows 20 seconds of idle time where nothing happens.

Description: Ubuntu hardy (development branch)
Release: 8.04

Revision history for this message
Malte S. Stretz (mss) wrote :
Revision history for this message
Malte S. Stretz (mss) wrote :
Revision history for this message
Malte S. Stretz (mss) wrote :

Hmmm... this might be caused by the b43-driver or ifupdown or network-manager or something. In /var/log/udev I can see that the last entry takes 30s to appear (smells like some timeout) and the interface remains as wlan0_rename (smells like some aborted procedure):

UDEV [1207654174.883685] add /devices/platform/i8042/serio4/input/input9/event9 (input)
UDEV_LOG=3
ACTION=add
DEVPATH=/devices/platform/i8042/serio4/input/input9/event9
SUBSYSTEM=input
MAJOR=13
MINOR=73
SEQNUM=2748
UDEVD_EVENT=1
ID_CLASS=mouse
ID_SERIAL=noserial
ID_PATH=platform-i8042-serio-4
DEVNAME=/dev/input/event9
DEVLINKS=/dev/input/by-path/platform-i8042-serio-4-event-mouse

UDEV [1207654204.745078] move /devices/pci0000:00/0000:00:1e.0/0000:06:02.0/ssb0:0/net/wlan0_rename (net)
UDEV_LOG=3
ACTION=move
DEVPATH=/devices/pci0000:00/0000:00:1e.0/0000:06:02.0/ssb0:0/net/wlan0_rename
SUBSYSTEM=net
DEVPATH_OLD=/devices/pci0000:00/0000:00:1e.0/0000:06:02.0/ssb0:0/net/wlan0
INTERFACE=wlan0_rename
IFINDEX=4
SEQNUM=2759
UDEVD_EVENT=1

Revision history for this message
Malte S. Stretz (mss) wrote :

After I poked a bit around I guess this is /lib/udev/write_net_rules which calls lock_rules_file() which has a 30 second timeout if it can't lock the rules file to modify. Just a guess but I'll change the package to udev for now.

Revision history for this message
Malte S. Stretz (mss) wrote :

To continue my monologue: It seems like I was able to fix it by removing /etc/udev/rules.d/70-persistent-net.rules and let the system rebuild it when booting. I haven't tried to reboot again, might run into the timeout again; I guess it might be caused by the fact that the two interfaces have the same MAC address. My interface names have changed as well:

eth0->eth0
eth1->wmaster0
wlan0_rename->wlan0

A diff between the two rules files:

--- 70-persistent-net.rules.bak 2008-04-08 14:25:38.000000000 +0200
+++ 70-persistent-net.rules 2008-04-08 14:23:44.000000000 +0200
@@ -1,12 +1,10 @@
-# This file maintains persistent names for network interfaces.
-# See udev(7) for syntax.
-#
-# Entries are automatically added by the 75-persistent-net-generator.rules
-# file; however you are also free to add your own entries.
+# This file was automatically generated by the /lib/udev/write_net_rules
+# program run by the persistent-net-generator.rules rules file.
+#
+# You can modify it, as long as you keep each rule on a single line.

 # PCI device 0x14e4:0x170c (b44)
-SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:16:d4:5c:3b:14", NAME="eth0"
+SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:16:d4:5c:3b:14", ATTR{type}=="1", NAME="eth0"

-# PCI device 0x14e4:0x4318 (bcm43xx)
-SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:16:cf:ab:65:2a", NAME="eth1"
+# PCI device 0x14e4:0x4318 (b43-pci-bridge)
+SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:16:cf:ab:65:2a", ATTR{type}=="1", NAME="wlan0"

Changed in udev:
status: New → Confirmed
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.