So this does in fact seem to be caused completely by init holding libraries open. I patched /etc/init.d/umountfs to save the output of lsof just before unmounting root:
cl...@natty-alpha1:~$ grep DEL /lastlsof init 1 root DEL REG 251,0 399654 /lib/libnss_files-2.12.2.so init 1 root DEL REG 251,0 399653 /lib/libnss_nis-2.12.2.so init 1 root DEL REG 251,0 399639 /lib/libnsl-2.12.2.so init 1 root DEL REG 251,0 399659 /lib/libnss_compat-2.12.2.so.dpkg-new init 1 root DEL REG 251,0 399660 /lib/libc-2.12.2.so init 1 root DEL REG 251,0 399629 /lib/librt-2.12.2.so init 1 root DEL REG 251,0 399662 /lib/libpthread-2.12.2.so init 1 root DEL REG 251,0 399663 /lib/ld-2.12.2.so This is odd, because upstart claims to suport 'telinit u' in its man page, but it actually doesn't do anything thanks to this revision in upstart's codebase: ------------------------------------------------------------ revno: 977 committer: Scott James Remnant <[email protected]> branch nick: upstart timestamp: Thu 2008-06-05 01:26:10 +0100 message: * init/main.c: Also remove SIGTERM handling, we don't re-exec properly and this is a dangerous signal to use anyway. (term_handler): Drop function. So, I think glibc is doing its job calling 'telinit u' in the postinst. This is upstart's bug. Setting to Critical in upstart now, and Invalid in eglibc. This is also a regression of bug #188925 , which was present in hardy, and fixed in intrepid. Tagging regression-release. ** Changed in: upstart (Ubuntu) Importance: Undecided => Critical ** Changed in: eglibc (Ubuntu) Status: Confirmed => Invalid ** Tags added: regression-release ** Also affects: upstart Importance: Undecided Status: New ** Summary changed: - libc6 upgrade causes umount to fail on shutdown + libc6 upgrade causes umount to fail on shutdown because init cannot be restarted ** Changed in: upstart (Ubuntu) Status: Confirmed => Triaged -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/672177 Title: libc6 upgrade causes umount to fail on shutdown because init cannot be restarted -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
