← Back to team overview

touch-packages team mailing list archive

[Bug 1444402] Re: LXC with r/w sys and udev keeps trying to unmount bind mounts

 

This bug was fixed in the package systemd - 219-10ubuntu1

---------------
systemd (219-10ubuntu1) wily; urgency=medium

  * Merge with Debian experimental branch. Remaining Ubuntu changes:
    - Hack to support system-image read-only /etc, and modify files in
      /etc/writable/ instead.
    - Keep our much simpler udev maintainer scripts (all platforms must
      support udev, no debconf).
    - initramfs init-top: Drop $ROOTDELAY, we do that in a more sensible way
      with wait-for-root. Will get applicable to Debian once Debian gets
      wait-for-root in initramfs-tools.
    - initramfs init-bottom: If LVM is installed, settle udev,
      otherwise we get missing LV symlinks. Workaround for LP #1185394.
    - Add debian/udev.lvm2.init: Dummy SysV init script to satisfy insserv
      dependencies to "lvm2" which is handled with udev rules in Ubuntu.
    - Add debian/udev.lvm2.service to avoid running the dummy lvm2 init
      script.
    - Provide shutdown fallback for upstart. (LP: #1370329)
    - debian/extra/ifup@.service: Additionally run for "auto" class. We don't
      really support "allow-hotplug" in Ubuntu at the moment, so we need to
      deal with "auto" devices appearing after "/etc/init.d/networking start"
      already ran. (LP: #1374521) Also run ifup in the background during boot,
      to avoid blocking network.target. (LP: #1425376)
    - ifup@.service: Drop dependency on networking.service (i. e.
      /etc/init.d/networking), and merely ensure that /run/network exists.
      This avoids unnecessary dependencies/waiting during boot and dependency
      cycles if hooks wait for other interfaces to come up (like ifenslave
      with bonding interfaces). (LP: #1414544)
    - Add Get-RTC-is-in-local-time-setting-from-etc-default-rc.patch: In
      Ubuntu we currently keep the setting whether the RTC is in local or UTC
      time in /etc/default/rcS "UTC=yes|no", instead of /etc/adjtime.
      (LP: #1377258)
    - Put session scopes into all cgroup controllers. This makes unprivileged
      user LXC containers work under systemd. (LP: #1346734)
    - systemctl: Don't forward telinit u to upstart. This works around
      upstart's Restart() always reexec'ing /sbin/init on Restart(), even if
      that changes to point to systemd during the upgrade. This avoids running
      systemd during a dist-upgrade. (LP: #1430479)
    - Drop hwdb-update dependency from udev-trigger.service, which got
      introduced in v219-stable. This causes udev and plymouth to start too
      late and isn't really needed in Ubuntu yet as we don't support stateless
      systems yet and handle hwdb.bin updates through dpkg triggers. This can
      be dropped again with initramfs-tools 0.117.
    - Lower Breaks: to plymouth version which has the udev inotify fix in
      Ubuntu.
    - Lower libappamor dep to the Ubuntu version where it moved to /lib.
    - Lower apparmor Breaks: to the Ubuntu version that dropped $remote_fs.
    - Change systemd-sysv's conflicts to upstart-sysv. (LP: #1422681)
    - Make failure of boot-and-services NSpawn.test_boot non-fatal for now.
      This currently fails when being triggered by Jenkins, but is totally
      unreproducible when running this manually on the exact same machine.

    Upgrade fixes, keep until 16.04 LTS release:
    - systemd Conflicts/Replaces/Provides systemd-services.
    - Remove obsolete systemd-logind upstart job.
    - Clean up obsolete /etc/udev/rules.d/README.

systemd (219-10) experimental; urgency=medium

  * Fix assertion crash with empty Exec*= paths. (LP: #1454173)
  * Drop Avoid-reload-and-re-start-requests-during-early-boot.patch
    and Avoid-reloading-services-when-shutting-down.patch: This was fixed more
    robustly in invoke-rc.d and service now, see #777113.
  * debian/tests/boot-smoke: Allow 10 seconds for systemd jobs to settle down.
  * Fix "tentative" state of devices which are not in /dev (mostly in
    containers), and avoid overzealous cleanup unmounting of mounts from them.
    (LP: #1444402)
  * debian/extra/udev-helpers/net.agent: Eliminate cat and most grep calls.
  * Drop Set-default-polling-interval-on-removable-devices-as.patch; it's long
    obsolete, CD ejection with the hardware button works properly without it.
  * Re-enable-journal-forwarding-to-syslog.patch: Update patch description,
    journal.conf.d/ exists now.
  * journal: Gracefully handle failure to bind to audit socket, which is known
    to fail in namespaces (containers) with current kernels. Also
    conditionalize systemd-journald-audit.socket on CAP_AUDIT_READ.
    (LP: #1457054)
  * Put back *.agent scripts and use net.agent in Ubuntu. This fixes escaping
    of unit names, reduces the delta, and will make it easier to get a common
    solution for integrating ifup.d/ scripts with networkd.
  * When booting with "quiet", run the initramfs' udevd with "notice" log
    level. (LP: #1432171)
  * Add sigpwr-container-shutdown.service: Power off when receiving SIGPWR in
    a container. This makes lxc-stop work for systemd containers.
    (LP: #1457321)
  * write_net_rules: Escape '{' and '}' characters as well, to make this work
    with busybox grep. Thanks Faidon Liambotis! (Closes: #765577)

 -- Martin Pitt <martin.pitt@xxxxxxxxxx>  Thu, 21 May 2015 11:24:52
+0200

** Changed in: systemd (Ubuntu)
       Status: Fix Committed => Fix Released

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/1444402

Title:
  LXC with r/w sys and udev keeps trying to unmount bind mounts

Status in systemd:
  Fix Released
Status in systemd package in Ubuntu:
  Fix Released
Status in systemd source package in Vivid:
  In Progress

Bug description:
  I recently hit ENOSPC which turned out to be the result of various
  syslogs from the current and previous boots totalling up to 30G.

  They were filled with messages like

  Apr 15 11:22:35 vivid systemd[1]: Unit var-lib-schroot-union-underlay-vivid\x2damd64\x2d5d4f7453\x2d9a95\x2d4a6a\x2d9aee\x2d9394923bf734.mount is bound to inactive unit dev-disk-by\x2duuid-980689ca\x2de7d9\x2d4a99\x2d8230\x2d33b8b6e917cd.device. Stopping, too.
  Apr 15 11:22:35 vivid systemd[1]: Unmounting /var/lib/schroot/union/underlay/vivid-amd64-5d4f7453-9a95-4a6a-9aee-9394923bf734...
  Apr 15 11:22:35 vivid umount[31795]: umount: /var/lib/schroot/union/underlay/vivid-amd64-5d4f7453-9a95-4a6a-9aee-9394923bf734: target is busy
  Apr 15 11:22:35 vivid umount[31795]: (In some cases useful info about processes that
  Apr 15 11:22:35 vivid umount[31795]: use the device is found by lsof(8) or fuser(1).)
  Apr 15 11:22:35 vivid systemd[1]: var-lib-schroot-union-underlay-vivid\x2damd64\x2d5d4f7453\x2d9a95\x2d4a6a\x2d9aee\x2d9394923bf734.mount mount process exited, code=exited status=32
  Apr 15 11:22:35 vivid systemd[1]: Failed unmounting /var/lib/schroot/union/underlay/vivid-amd64-5d4f7453-9a95-4a6a-9aee-9394923bf734.
  Apr 15 11:22:35 vivid systemd[1]: Unit var-lib-schroot-union-underlay-vivid\x2damd64\x2d5d4f7453\x2d9a95\x2d4a6a\x2d9aee\x2d9394923bf734.mount is bound to inactive unit dev-disk-by\x2duuid-980689ca\x2de7d9\x2d4a99\x2d8230\x2d33b8b6e917cd.device. Stopping, too.
  Apr 15 11:22:35 vivid systemd[1]: Unmounting /var/lib/schroot/union/underlay/vivid-amd64-5d4f7453-9a95-4a6a-9aee-9394923bf734...
  Apr 15 11:22:35 vivid systemd[1]: Unmounted /var/lib/schroot/union/underlay/vivid-amd64-5d4f7453-9a95-4a6a-9aee-9394923bf734.
  Apr 15 11:22:35 vivid systemd[1]: Unit var-lib-schroot-union-underlay-vivid\x2damd64\x2d5d4f7453\x2d9a95\x2d4a6a\x2d9aee\x2d9394923bf734.mount entered failed state.

  looping constantly for the duration of any builds in sbuild.

  Why is systemd trying to do this?

  SRU TEST CASE:
  --------------
   - Create a vivid container, and set "lxc.aa_profile = unconfined" and "lxc.mount.auto = sys:rw cgroup" in its config. (Note that the latter is not supported!)
   - Start the container
   - Run "mount -v -o bind /bin /mnt"
   - Observe that it doesn't stay mounted, but "sudo journalctl" says

  Mai 06 09:17:08 test systemd[1]: Unit mnt.mount is bound to inactive unit dev-sda3.device. Stopping, too.
  Mai 06 09:17:08 test systemd[1]: Unmounting /mnt...
  Mai 06 09:17:08 test systemd[1]: Unmounted /mnt.

   - With the fixed package bind mounts stay mounted.

  REGRESSION POTENTIAL: This could potentially break cleanup of stale
  mount points of either hotplug devices which disappear, or media which
  get forcefully ejected (like CDs). Testing should include that these
  still work.

  laney@vivid> apt-cache policy systemd
  systemd:
    Installed: 219-7ubuntu1
    Candidate: 219-7ubuntu1
    Version table:
   *** 219-7ubuntu1 0
          500 http://sherwood/ubuntu/ vivid/main amd64 Packages
          100 /var/lib/dpkg/status

To manage notifications about this bug go to:
https://bugs.launchpad.net/systemd/+bug/1444402/+subscriptions


References