[Bug 818177] Re: boot failures because 'udevadm exit' times out while udevd waits for an already-dead thread

Steve Langasek steve.langasek at canonical.com
Sat Oct 8 19:39:52 UTC 2011


On Sat, Oct 08, 2011 at 11:56:50AM -0000, Eduard Hasenleithner wrote:
> Many thanks. My LVM system now starts successfully, albeit still showing
> the 60s hang occasionally. Even the supposed-to-be-affected logical
> volume is mounted correctly. Just the "/sbin/lvm vgchange -a y" persists
> in the process list, but this apparently does not harm.

Wow, I didn't expect that to be the case!  I still want to keep the other
bug report open and pursue the "hung vgchange" problem, anyway; leaving
stray processes running in the initramfs after boot is untidy.

> One additional note I want to make: I'd set the udevadm-control timeout
> at least to 70 seconds. The epoll_wait timeout is reset every time
> something happens. So if the "settle time" is bigger than 1 second, the
> total timeout would be more than 61 seconds of udevadm-control. Setting
> the timeout to 70 seconds, gives us at least 10 seconds "settle time".

Ah, that's a good point.  Of course, 70 seconds isn't guaranteed to be
enough time either; in the pathological case, you need 60*num_workers
seconds, because if you get one worker finishing every 59.9 seconds, the
udevd timeout will continue to be extended and we'll still have the udevadm
control problem.

But 61 seconds should be enough for the 99.99% case, and if we start to see
reports of problems in the other .01% we can adapt by raising the timeout. 
(I would prefer not to just '|| true' the udevadm call, though, since I
think having to occasionally reboot the machine again is better than being
left with extra udev processes running around doing who-knows-what on the
system.)

> My conclusion is that "udevadm control --exit" (introduced in april) is
> still a bit immature, and further races might wait to happen.

It's true that there might be further races, but I don't think it's due to
immaturity of udevadm control --exit... rather, the races were always there
and we were blissfully ignoring them with pkill (and that's where the bug
report came from that led us to switch to udevadm in the first place).

-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
Ubuntu Developer                                    http://www.debian.org/
slangasek at ubuntu.com                                     vorlon at debian.org

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

Title:
  boot failures because 'udevadm exit' times out while udevd waits for
  an already-dead thread

Status in Release Notes for Ubuntu:
  Invalid
Status in “linux” package in Ubuntu:
  Invalid
Status in “udev” package in Ubuntu:
  Fix Released
Status in “linux” source package in Oneiric:
  Invalid
Status in “udev” source package in Oneiric:
  Fix Released
Status in “linux” source package in Precise:
  Invalid
Status in “udev” source package in Precise:
  Fix Released

Bug description:
  After running a do-release-upgrade -d on a natty server, I'm unable to
  boot the machine properly.

  It looks like it doesn't see the local disks anymore.

  I think this looks quite a lot like the debbug linked from here:
  https://bugs.launchpad.net/ubuntu/oneiric/+source/linux/+bug/746751

  ProblemType: Bug
  DistroRelease: Ubuntu 11.10
  Package: linux-image-3.0.0-7-server 3.0.0-7.8
  ProcVersionSignature: Ubuntu 3.0.0-7.8-server 3.0.0
  Uname: Linux 3.0.0-7-server x86_64
  AlsaDevices:
   total 0
   crw-rw---- 1 root audio 116,  1 2011-07-29 13:34 seq
   crw-rw---- 1 root audio 116, 33 2011-07-29 13:34 timer
  AplayDevices: Error: [Errno 2] No such file or directory
  Architecture: amd64
  ArecordDevices: Error: [Errno 2] No such file or directory
  AudioDevicesInUse: Error: command ['fuser', '-v', '/dev/snd/seq', '/dev/snd/timer'] failed with exit code 1:
  CRDA: Error: [Errno 2] No such file or directory
  Date: Fri Jul 29 13:40:10 2011
  HibernationDevice: RESUME=UUID=844d17fa-ff69-4250-844b-33b930236c56
  IwConfig:
   lo        no wireless extensions.
   
   eth0      no wireless extensions.
   
   eth1      no wireless extensions.
  MachineType: HP ProLiant DL380 G5
  PciMultimedia:
   
  ProcEnviron:
   LANGUAGE=en_US:
   PATH=(custom, user)
   LANG=en_US
   SHELL=/bin/bash
  ProcKernelCmdLine: BOOT_IMAGE=/vmlinuz-3.0.0-7-server root=/dev/mapper/User Name-root ro INIT_VERBOSE=yes
  RelatedPackageVersions:
   linux-restricted-modules-3.0.0-7-server N/A
   linux-backports-modules-3.0.0-7-server  N/A
   linux-firmware                          1.56
  RfKill: Error: [Errno 2] No such file or directory
  SourcePackage: linux
  UpgradeStatus: Upgraded to oneiric on 2011-07-29 (0 days ago)
  dmi.bios.date: 06/28/2007
  dmi.bios.vendor: HP
  dmi.bios.version: P56
  dmi.chassis.type: 23
  dmi.chassis.vendor: HP
  dmi.modalias: dmi:bvnHP:bvrP56:bd06/28/2007:svnHP:pnProLiantDL380G5:pvr:cvnHP:ct23:cvr:
  dmi.product.name: ProLiant DL380 G5
  dmi.sys.vendor: HP

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




More information about the foundations-bugs mailing list