Comment 7 for bug 487744

Revision history for this message
ais523 (ais523) wrote : Re: Scheduled fsck during boot hangs at 90%, preventing boot sequence completing

Finally figured out what's going on here! I'm now on a different computer, and getting the same bug again; but it behaves slightly differently here. This computer has an ext4 filesystem originally created by Ubuntu Karmic, and has a rather smaller main partition (relevant to how I noticed what was going on); but the same thing's happening. (And yes, I'm now suspicious that the blame is mostly mountall's.)

What happens here if I don't press ESC to abort a scheduled fsck is exactly the same; it appears to proceed as normal until 89% (which goes very quickly on this computer, thus making it easier to test), the hard drive activity light goes off, the fsck progress goes to 90% after several minutes, and the system apparently completely hangs thereafter. However, after waiting for another half-hour or so, during which the system is apparently completely hung, the progress bar goes to 91%, and picks up thereafter, with the boot finally completed.

Pressing ESC works differently on this machine, though; instead of aborting the fsck, it switches to tty1, gives an error message ("General error mounting filesystems."), and drops me to a root prompt, with the advice that control-D should retry. After pressing control-D, the fsck resumes not at 0%, but at whatever percentage it was at when I press ESC; it's as if the fsck was not stopped at all, but only suspended (which, if true, would at least explain why the filesystems failed to mount).

As a test, I tried interrupting a scheduled fsck with ESC, restarting it with control-D, interrupting the same FSCK again, restarting it again with control-D, and finally waiting until the fsck completed (including the huge hang at 89-91% for no apparent reason and with no hard drive activity). This is a dump of tty1 obtained after the boot sequence ended (obtained via /dev/vcs1):
{{{
General error mounting filesystems.
A maintenance shell will now be started.
CONTROL-D will terminate this shell and re-try.
root@desert:~# exit
mountall start/starting
fsck from util-linux-ng 2.16
swapon: /dev/disk/by-uuid/93f82bd9-13ba-48d0-b6e0-d56326ae15ea: swapon failed: Device or resource busy
mountall: swapon /dev/disk/by-uuid/93f82bd9-13ba-48d0-b6e0-d56326ae15ea [1003] terminated with status 255
mountall: Problem activating swap: /dev/disk/by-uuid/93f82bd9-13ba-48d0-b6e0-d56326ae15ea
/dev/sda5 has been mounted 25 times without being checked, check forced.
Filesystem checks are in progress (ESC to cancel):
[#######-----------------------------------------------------]
mountall: Cancelled
/dev/sda5: e2fsck canceled.
fsck.ext4: Inode bitmap not loaded while setting block group checksum info
mountall: fsck / [1001] terminated with status 8
mountall: General fsck error
init: mountall main process (1000) terminated with status 1
General error mounting filesystems.
A maintenance shell will now be started.
CONTROL-D will terminate this shell and re-try.
root@desert:~# exit
mountall start/starting
fsck from util-linux-ng 2.16
swapon: /dev/disk/by-uuid/93f82bd9-13ba-48d0-b6e0-d56326ae15ea: swapon failed: Device or resource busy
mountall: swapon /dev/disk/by-uuid/93f82bd9-13ba-48d0-b6e0-d56326ae15ea [1042] terminated with status 255
mountall: Problem activating swap: /dev/disk/by-uuid/93f82bd9-13ba-48d0-b6e0-d56326ae15ea
/dev/sda5 has been mounted 25 times without being checked, check forced.
Filesystem checks are in progress (ESC to cancel):
/dev/sda5: 1968337/4784128 files (0.2% non-contiguous), 13948395/19129390 blocks

Ubuntu 9.10 desert tty1

desert login:
}}}
Hopefully this is enough information to debug what's going on here.