I've just pushed a new udev package to ppa:vorlon/ppa which should
provide better debugging capabilities.  It unconditionally runs 'udevadm
monitor -e' before starting udevd, and spits out the complete list of
kernel/udev events after udevd is stopped in the initramfs - as well as
spitting out a process list with 'ps -ef' so we can see what's been left
behind that's still holding /dev open and preventing the mount -omove.

Anyone who's reproducing these boot failures (other than the LVM
vgchange race case), please test with this updated package (~ppa3) and
attach the full console output to the bug.  If you can also attach the
full console output to the bug from a successful boot, that will be
useful for comparison.

A few comments in summary about the things that have already been tried that 
didn't work:
 pkill after udevadm control --exit -- this was a distraction.  The ps output I 
was looking at when I jumped to this conclusion was the output from running ps 
*before* running --exit, so it doesn't really tell us anything - especially 
since 'pkill udevd' vs 'udevadm control --exit' have nearly identical behavior, 
with the difference that udevadm is designed to wait for udevd to shut down 
before returning and the pkill call *may* catch processes that udevd has 
somehow managed to lose track of (a possible, but not likely, scenario).  The 
new test package should tell us more, by showing us only those processes still 
running *after* udevadm is called.

ps -ef not returning anything when run after the mount call (comment
#75) - yes, because the initramfs script in question is 'set -e'; so as
soon as the mount -omove call fails, the script terminates.  We should
grab the ps output before the mount call - this is done in the test
package.

non-empty /dev on the root filesystem - this will definitely mask the
problem in many cases.  For ease of reproducing the issue, best to do
the following from the booted system:

  sudo mount -obind / /mnt
  sudo rm -rf /mnt/dev/*
  sudo umount /mnt

thus ensuring /dev is empty and that any failure to move the /dev mount
in the initramfs will be caught early.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/818177

Title:
  boot failures because 'udevadm exit' does not kill udevd worker
  threads

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-release-notes/+bug/818177/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to