Bug#748211: os-prober: Dangerous failure during kernel upgrade (probed NFS?)
Package: os-prober
Version: 1.58
Severity: normal
Dear Maintainer,
*** Please consider answering these questions, where appropriate ***
os-prober can appear to hang, possibly while trying to probe a hung NFS
server, and attempts to kill this (typically invoked during kernel
upgrade) can leave you with a machine which can't mount drives that it
needs to probe, because the kernel upgrade has removed/updated the
running kernel's FS modules.
I'm not sure what the best way of dealing with this is, but two that
occur to me are:
- If os-prober hung because it was trying to probe my NFS mount, then
should it really be doing that? Does it make sense to os-probe
network drives during a kernel upgrade?
- If it hung because it was trying to load fuse/ntfs kernel modules
which had just been rendered unloadable by updates from the (3.2.0-4
to 3.2.0-4, so far as I can see: same version) partial kernel
upgrade, then perhaps os-prober should be run before the existing
kernel's modules are replaced?
Sequence of events:
- I was performing a kernel upgrade as part of a typical "aptitude
upgrade" command. An NFS server that I usually mount (listed as
"auto,_netdev" in /etc/fstab) had failed, so the just-booted system
was, at a guess, still trying to mount it in the background,
although I'd not noticed this at the time.
- The grub configuration update appeared to hang. No error messages,
it just stopped part way through the list of installed OSes. It
found Linux but stopped before finding Windows.
- After a while I killed the upgrade (suspend, kill %1), hoping to
work out what was wrong and re-run the upgrade. Subsequent attempts
to run dpkg --configure -a, or aptitude reinstall <kernel> failed
due to locked dpkg files.
- lsof on the lock files wouldn't terminate. I noticed the hung nfs
mount process, killed that and then found and killed the tail of the
os-probe process chain. This allowed me to run dpkg --reconfigure
and aptitude update/reinstall.
- However by this stage my running kernel's modules had been
obliterated by the upgrade, and os-prober couldn't load fuse.ko in
order to probe the Windows 7 partitions (which aren't mounted by
default).
- This left me in the somewhat scary situation of knowing I had a
partially upgraded kernel, no way of completing the upgrade, and not
knowing whether I could safely reboot.
- As it turned out, reboot worked and I could then run the reinstall
safely.
*** End of the template - remove these lines ***
-- System Information:
Debian Release: 7.5
APT prefers stable
APT policy: (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 3.2.0-4-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_GB.utf8, LC_CTYPE=en_GB.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages os-prober depends on:
ii libc6 2.13-38+deb7u1
os-prober recommends no packages.
os-prober suggests no packages.
-- no debconf information
Reply to: