I encountered this bug since I build a custom kernel that didn't used an initrd.
To produce an core dump, use the attached wrapper script and change /etc/init.d/early-readahead to use it instead of /sbin/readahead (idea taken from https://bugzilla.redhat.com/show_bug.cgi?id=500946). In my case the problem is that readahead fails to check the return value of blkid_devno_to_devname in get_file_device/readahead.c. The comment in devno.c from libblkid clearly states that blkid_devno_to_devname might fail and return NULL (that's what leads to the segmentation fault when NULL is handed to ext2fs_open), so this is definitively a bug in readahead-fedora. I am not sure whats the big picture here, but that's whats happening: I added some tracing to readahead.c and blkid_devno_to_devname fails when called with 2053 as argument. A quick test with the attached blkid.c says that this device number resolves to /dev/root, but when early-readahead is run on an system without an initrd, there is no /dev/root (on my system it's symlinked to my root partition later on, I suspect udev does this, not sure though...). Justus
#!/bin/sh cd /lib/init/rw ulimit -Sc unlimited ls -l /dev/root >root_is 2>&1 /sbin/readahead "$@" 2> readahead.stderr
#include <stdio.h> #include <blkid/blkid.h> int main() { printf("%s\n", blkid_devno_to_devname(2053)); return 0; }
signature.asc
Description: OpenPGP digital signature