The /DEBUG file shows that modem-manager is still running, and at line 114 you can see that the init process has /var/log/upstart/modemmanager open for write. That explains the "mount: / is busy" message.
I would think that modem-manager should have exited before umountroot is run. Looking at /etc/init.d/sendsigs, it appears that processes associated with upstart jobs (like modemmanager) aren't killed, and I see no facility there for waiting on them to exit. I'm not an ubuntu developer, but if you care to try an experiment, you could try adding a sync command to line 64 of /etc/init.d/sendsigs . This is just before a comment that starts 'Upstart jobs have their own' and a sequence of code that collects the pids of upstart jobs into a list of pids to ignore (i.e. pids not to kill). If modem-manager or init are waiting on i/o to complete, a sync here might give modem-manager time to exit before it gets put into the OMITPIDS list. If you decide to change sendsigs, be sure to make a backup copy first: sudo cp -p /etc/init.d/sendsigs ~ Other than that, I don't have any new ideas. Let's hope that Mathieu or another one of the powers-that-be will now jump in with some suggestions as to how to proceed. -- You received this bug notification because you are a member of Desktop Packages, which is subscribed to network-manager in Ubuntu. https://bugs.launchpad.net/bugs/963106 Title: NetworkManager causes orphaned inodes Status in “network-manager” package in Ubuntu: Fix Released Status in “network-manager” source package in Precise: Fix Released Bug description: [Impact] On shutdown, dhclient isn't getting reaped by NetworkManager, despite being kept running through sendsigs so as not to disrupt remote filesystems (and their unmounting at shutdown). dhclient may be keeping open files for its lease files, which causes issues when unmounting /var/lib, which contains those lease files. [Development Fix] Remove support for connection assumption, which is meant to bring NetworkManager up to speed with connections that may have already be up during a restart of the daemon. Since we don't actually restart the daemon automatically (and instead suggest a restart of the system after upgrade) and the advantage is minimal compared to the impact on users of this interacting with the shutdown sequence, patch connection assumption out of the NM code and just always take down dhclient when NM stops. [Stable Fix] See above "Development fix". [Test Case] 1) Shut down coputer. 2) In the shutdown process, perhaps as a post-stop script in /etc/init/network-manager, track down open files for the dhclient pid (which should be available from /run/sendsigs.omit.d/network-manager.dhclient{6,}.pid) [Regression Potential] Minimal, only affects bringing NetworkManager up on a restart of the daemon (sudo restart network-manager or /etc/init.d/network-manager restart), which improves on the speed of this operation and avoid resetting the connection if it's already up. --------- During system shutdown, NetworkManager neither kills dhclient nor does it remove the dhclient pid file from the directory /var/run/sendsigs.omit.d. As a result, dhclient continues to hold the pid file open for write and when /etc/init.d/umountroot tries to remount the root filesystem read-only, the remount fails. The message: mount: / is busy is seen in the console, and the filesystem must be recovered at boot time: [ 8.946427] EXT4-fs (sda1): INFO: recovery required on readonly filesystem [ 8.947057] EXT4-fs (sda1): write access will be enabled during recovery [ 11.234075] EXT4-fs (sda1): recovery complete If shared libraries used by dhclient are updated before the reboot, orphaned inodes associated with the .so files are created. For example, doing "sudo apt-get install --reinstall libc6" and then rebooting leads to: [ 8.356521] EXT4-fs (sda1): INFO: recovery required on readonly filesystem [ 8.356521] EXT4-fs (sda1): write access will be enabled during recovery [ 8.716544] EXT4-fs (sda1): orphan cleanup on readonly fs [ 8.716544] EXT4-fs (sda1): ext4_orphan_cleanup: deleting unreferenced inode 313749 [ 8.724544] EXT4-fs (sda1): ext4_orphan_cleanup: deleting unreferenced inode 313733 [ 8.724544] EXT4-fs (sda1): ext4_orphan_cleanup: deleting unreferenced inode 313725 [ 8.724544] EXT4-fs (sda1): 3 orphan inodes deleted [ 8.728544] EXT4-fs (sda1): recovery complete This is network-manager 0.9.3.995+git201203152001.04b2a74-0ubuntu1 running under 12.04. I don't believe any actual data loss will occur as a result of this bug, but it's likely to produce much user anxiety. Also see Bug 952315, which misidentifies the cause of the problems as upstart. ProblemType: Bug DistroRelease: Ubuntu 12.04 Package: network-manager 0.9.3.995+git201203152001.04b2a74-0ubuntu1 ProcVersionSignature: Ubuntu 3.2.0-20.32-generic 3.2.12 Uname: Linux 3.2.0-20-generic i686 ApportVersion: 1.95-0ubuntu1 Architecture: i386 CRDA: Error: command ['iw', 'reg', 'get'] failed with exit code 1: nl80211 not found. Date: Fri Mar 23 07:42:20 2012 InstallationMedia: Ubuntu 11.10 "Oneiric Ocelot" - Release i386 (20111011) IwConfig: lo no wireless extensions. eth0 no wireless extensions. NetworkManager.state: [main] NetworkingEnabled=true WirelessEnabled=true WWANEnabled=true WimaxEnabled=true ProcEnviron: TERM=xterm LANG=en_US.UTF-8 SHELL=/bin/bash RfKill: SourcePackage: network-manager UpgradeStatus: Upgraded to precise on 2012-03-02 (20 days ago) To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/network-manager/+bug/963106/+subscriptions -- Mailing list: https://launchpad.net/~desktop-packages Post to : [email protected] Unsubscribe : https://launchpad.net/~desktop-packages More help : https://help.launchpad.net/ListHelp

