[Bug 1062202] Verification still needed

Brian Murray brian at ubuntu.com
Thu Jan 24 22:38:39 UTC 2013


The fix for this bug has been awaiting testing feedback in the -proposed
repository for precise for more than 90 days.  Please test this fix and
update the bug appropriately with the results.  In the event that the
fix for this bug is still not verified 15 days from now, the package
will be removed from the -proposed repository.

** Tags added: removal-candidate

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to libnih in Ubuntu.
https://bugs.launchpad.net/bugs/1062202

Title:
  [SRU] libnih upgrade does not respawn init, resulting in unclean
  shutdown

Status in “libnih” package in Ubuntu:
  Fix Released
Status in “libnih” source package in Precise:
  Fix Committed

Bug description:
  If required package libnih1 (or libnih-dbus1) are upgraded, Upstart
  needs to be restarted to avoid it holding open "stale" file
  descriptors to files in the old versions of the packages. This results
  in the following issues:

  - the shutdown sequence displays error messages.
  - the shutdown sequence results in an unclean unmount of the root partition.
  - the subsequent boot experience is slowed down and may show potentially alarming messages to users.

  All this amounts to a non-optimal user experience.

  See original bug 740390.

  
  = Fix =

  The fix released for quantal on bug 740390 is to add an explicit
  debian/libnih1.postinst and debian/libnih-dbus1.postinst maintainer
  script that simply touches a 'magic file' that forces upstart to
  restart on shutdown. The magic file is:

      /var/run/init.upgraded

  This magic file is used by /etc/init.d/umountroot as a signal to ask
  Upstart to re-exec itself and thus relinquish all "stale" file
  descriptors it may have open.

  The magic file is already used by:

  - libdbus (package dbus): recent change - see bug 740390
  - libc6 (package eglibc): since 2011-01-12.

  
  = Justification for Back-Porting =

  The fix is simple and has already been released to quantal.

  
  = Test Case =

  1) Boot a Precise system without the 'quiet' and 'splash' boot
  options.

  2) Check version of libnih1 is 1.0.3-4ubuntu9:

       $ dpkg -p libnih1 libnih-dbus1|grep ^Version:

  3) force a re-install of libnih1:

      $ sudo apt-get install --reinstall libnih1 libnih-dbus1

  4) Add a sleep to /etc/init.d/umountroot so you can observe any
  possible error message:

    --- /etc/init.d/umountroot.ORIG 2012-10-05 11:48:40.384382009 +0100
  +++ /etc/init.d/umountroot      2012-10-05 11:48:55.024382058 +0100
  @@ -86,6 +86,7 @@
          mount    $MOUNT_FORCE_OPT -n -o remount,ro -t dummytype dummydev / 2>/dev/null \
          || mount $MOUNT_FORCE_OPT -n -o remount,ro              dummydev / 2>/dev/null \
          || mount $MOUNT_FORCE_OPT -n -o remount,ro                       /
  +       sleep 5
          ES=$?
          [ "$VERBOSE" = no ] || log_action_end_msg $ES
   }

  5) Shutdown

      $ sudo shutdown -h now

  6) Ensure you see the expected error message. The last 2 lines of
  output should be:

       umount: /run/lock: not mounted
       mount: / is busy

     (Note that the 'umount' message is not an error - just
  informational).

  7) Reboot again without the 'quiet' and 'splash' boot options.

  8) Install libnih1 and lib-dbus1 both at version '1.0.3-4ubuntu9.1'.

  9) Check that install has created the expected magic file:

      ls -l /var/run/init.upgraded

  10) Shutdown

      $ sudo shutdown -h now

  11) Ensure you see the expected output. The last line of output should
  be:

       umount: /run/lock: not mounted

       There should be no 'mount: / is busy' line.

  12) Reboot and revert changes to /etc/init.d/umountroot if desired.

  
  = Regression Potential =

  No regression potential.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/libnih/+bug/1062202/+subscriptions




More information about the foundations-bugs mailing list