Bug 65661

Summary: Linux/Dracut stuck on boot (because of udev?)
Product: Process Management Reporter: Manuel (kernelbugs)
Component: OtherAssignee: drivers_other
Status: RESOLVED PATCH_ALREADY_AVAILABLE    
Severity: normal CC: kernelbugs
Priority: P1    
Hardware: x86-64   
OS: Linux   
Kernel Version: 3.11.9 Subsystem:
Regression: No Bisected commit-id:
Attachments: dmesg

Description Manuel 2013-11-24 18:57:57 UTC
Created attachment 115841 [details]
dmesg

Since I am using Dracut, my system stucks the most time on boot, shortly after extracting the initramfs.

Sometimes the notebook is able to boot, but mostly it stucks. So I need 5 - 10 tries to make my Linux run.

After enabling the dracut debug functions, it seems to be a udev problem: 

[4.359394] systemd-udevd[1147]: error reading /etc/udev/hwdb.bin: No such file or directory



This causes a Null Pointer Exception:

[0.770990] BUG: unable to handle kernel NULL pointer dereference at           (null)

The file (hwdb.bin) becomes available later in boot process.


I am not 100% sure if this is the real reason for the boot problem, but i guess it is.

(I am not the only one who has this problem - http://forums.gentoo.org/viewtopic-t-934308-highlight-.html)

I attach my dmesg output including the dracut debug messages.
Comment 1 Manuel 2013-11-24 22:49:58 UTC
It seems like this is the same bug: 
https://bugs.gentoo.org/show_bug.cgi?id=462928
Comment 2 Manuel 2013-11-24 23:12:42 UTC
Just to add/summarize some information:

- I am also using Gentoo Linux, but with the pure (vanilla) kernel sources.

- I tried out different kernel, dracut and udev versions (also "eudev") - but the problem always persists

- According to the discussion in the Gentoo Bugzilla, my assumption is probably wrong and the missing "hwdb.bin" file is not the reason for the problem - maybe this is just a side effect

- The Gentoo developer Tom Wijsman presumes:
"This happens in match_futex where one of the parameters given to it is null. This call is made from kernel/futex.c:2154, where I assume this->key to be the problematic parameter as the other parameter is set properly at the start of that function. This apparently comes from a list of waiters. One of the waiters to be problematic, not sure how to know which one."
Comment 3 Manuel 2013-12-08 22:28:05 UTC
I have solved the problem on my Gentoo system by replacing (e)udev with systemd.