Description of problem: Re-creating initrd after upgrading to latest udev introduces crashes, and even failure to boot up. I suspect the issues might be related with raid and/or LVM, since I have both on the boxes I tested. Version-Release number of selected component (if applicable): udev-038-2 mkinitrd-4.1.17-1 How reproducible: Every time Steps to Reproduce: 1.Rebuild an initrd for the kernel you're running, with the same mkinitrd options, but using the latest mkinitrd and udev Actual results: One x86_64 box with root on LVM and extra filesystems on LVM on RAID 1, with USB and Firewire component disks, failed to boot up. An ia32 box with root on LVM on RAID 1 on internal IDE booted up ok, but print messages about udev crashes while initrd ran. Expected results: No such messages, and reliable boot. Additional info: Replacing udev.static with a previous binary (035-1?) fixes it.
I don't have RAID. Well my motherboard (Asus A7N8X) claims to have SATA RAID, but I'm only using a single IDE HD. However it looks like I an using LVM (new to me in FC3t3) During boot udev_start gives two error reports, my boot messages look like this, root (hd0,1) Filesystem type is ext2fs, partition type 0x83 kernel /vmlinuz-2.6.8-1.624 ro root=/dev/VolGroup00/LogVol00 rhgb quiet [Linux-bzImage, setup=0x1400, size=0x155e8a] initrd /initrd-2.6.8-1.624.img [Linux-initrd @ 0x37f01000, 0xee655 bytes] Uncompressing Linux... Ok, booting the kernel. audit(1098018215.886:0): initialized Red Hat nash version 4.1.17 starting ERROR: /sbin/udevstart exited abnormally! ERROR: /sbin/udevstart exited abnormally! Reading all physical volumes. This may take a while... No volume groups found No volume groups found No volume groups found mount: error 6 mounting ext3 mount: error 2 mounting none switchroot: mount failed: 22 umount /initrd/dev failed: 2 Kernel panic - not syncing: Attempted to kill init! I have an XP installation on /dev/hda1, /dev/hda2 is my Linux boot partition with /dev/hda3 being my main linux volume.
I also get this with udev-0.38-2.x86_64. Downgrading to 0.38-1 and regenerating my initrd fixed the problem. I'm also on x86_64, with LVM.
The same here, only on i386.
*** Bug 136104 has been marked as a duplicate of this bug. ***
Well, not entirely the same -- these are pure Linux boxen with /boot on /dev/hda1 and my volume group being on /dev/hda2 (in case of the laptop) and /dev/hda1,/dev/hdb1 (in case of the server).
Make that /dev/hda2,/dev/hdb1. Still no quantum partitions here ;-).
Created attachment 105358 [details] diff between the unpacked src packages (038-1 <-> 038-2) As this diff shows, there hasn't changed much between 038-1 and 038-2, especially nothing that should affect udevstart as adversely as it apparently did (for my uninitiated eyes). I'll try whether rebuilding the package changes anything (i.e. use initrds that are built with rebuilt 038-1 and 038-2 udev).
Hmm while rebulding I noticed some dubious messages: [...] Linking udev: [OK] udev_add.o(.text+0xb7b): In function `udev_add_device': /home/nils/redhat/BUILD/udev-038/udev_add.c:254: warning: Using 'getgrnam' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking udev_add.o(.text+0xb39):/home/nils/redhat/BUILD/udev-038/udev_add.c:240: warn ing: Using 'getpwnam' in statically linked applications requires at runtime t he shared libraries from the glibc version used for linking [...] I wonder if that might be related (udevstart.static is just a link to udev.static) -- I doubt that we pack an entire glibc into the initrds...
I tried two kernels with rebuilt 038-1 and 038-2 and all attempts gave the above error instead of booting. I suspect that the old udev-038-1 package was somehow built differently, i.e. the warning of the above comment didn't harm then but does harm now, probably due to changes in the build tool chain, likely in how the binaries were linked. I could imagine that in the working release these symbols were marked to be only resolved when they were encountered, not when starting the program. NB: I'm only a layman when it comes to the innards of linking so I might just be talking nonsense ;-).
This might be related to bug #136027.
Or even bug #111298.
jakub any thoughts?
See bug 136005.
If I rebuild udev-0.38-2 on a 20041014 rawhide snapshot, I get the warnings mentioned in comment #8, but the resulting package does not have this bug (i.e. it works, like 0.38-1).
(Oops, I meant udev-038-2 in my last comment. Anyway...) If I take the system that compiled a working udev-038-2 (see comment 14), and I upgrade glibc from 2.3.3-67 to 2.3.3-68, then it compiles a broken udev-038-2 rather than a working one. I don't think I have time to look at this in any more detail, but I hope this helps nonetheless!
*** This bug has been marked as a duplicate of 136005 ***
Changed to 'CLOSED' state since 'RESOLVED' has been deprecated.