I think I understand what's going on now. In looking over /saved.root.lsof more carefully, I see that the DEL libc .so files are also associated with dhclient. And I was just lucky before that dhclient stayed dead long enough for the reboot. It gets respawned, I believe by NetworkManager.
It looks like dhclient is started by NetworkManager with a -pf arg that makes dhclient write his (dhclient's) pid into a file in the directory /var/run/sendsigs.omit.d/. When the system is being brought down, /etc/init.d/sendsigs collects that pid into an "ignore" list, thus declining to kill dhclient. The result is that dhclient has files held open when the system goes down, leading to the "mount: / is busy" console message, and also to orphaned inodes if libc happened to have been updated. I removed network-manager* and installed wicd-gtk and dependencies. Now I can reinstall libc6 and reboot with *no* busy message and *no* orphaned inodes. So, IMHO the blame lies with NetworkManager and not with upstart. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/952315 Title: root filesystem not cleanly unmounted on reboot To manage notifications about this bug go to: https://bugs.launchpad.net/upstart/+bug/952315/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs