[Bug 1156636] [NEW] When mount phase fails, pbuilder unmount directories of other chroots

Jean-Baptiste Lallement jean-baptiste at ubuntu.com
Mon Mar 18 14:36:31 UTC 2013


Public bug reported:

When the mount phase of pbuilder fails, pbuilder umounts directories
that have already been successfully mounted (/usr/lib/pbuilder/pbuilder-
modules lines 273 - 291) but it uses the device name (name of the
directory being bind mounted) instead of the name of the mount point.

If the directory is bind-mounted several times in others, unrelated,
chroots it tries to unmount all of them.

For example (full log attached) on the log below note that PIDs in
cow.<PID> are different:

I: umounting /var/lib/jenkins/cu2d
umount: /var/cache/pbuilder/build/cow.15281/var/lib/jenkins/cu2d: device is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))
umount: /var/cache/pbuilder/build/cow.1195/var/lib/jenkins/cu2d: device is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))
umount: /var/cache/pbuilder/build/cow.1197/var/lib/jenkins/cu2d: device is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))
umount: /var/cache/pbuilder/build/cow.1739/var/lib/jenkins/cu2d: device is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))
umount: /var/cache/pbuilder/build/cow.59368/var/lib/jenkins/cu2d: not mounted
umount: /var/cache/pbuilder/build/cow.53454/var/lib/jenkins/cu2d: device is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))
umount: /var/cache/pbuilder/build/cow.36950/var/lib/jenkins/cu2d: device is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))
umount: /var/cache/pbuilder/build/cow.19691/var/lib/jenkins/cu2d: device is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))

line 278 of /usr/lib/pbuilder/pbuilder-modules could use the full path of the mount point:
mounted[${#mounted[@]}]="$BUILDPLACE/$mnt"

instead of $mnt only.

ProblemType: Bug
DistroRelease: Ubuntu 13.04
Package: pbuilder 0.213ubuntu1
ProcVersionSignature: Ubuntu 3.8.0-12.21-generic 3.8.2
Uname: Linux 3.8.0-12-generic x86_64
ApportVersion: 2.9.1-0ubuntu1
Architecture: amd64
Date: Mon Mar 18 15:24:51 2013
MarkForUpload: True
PackageArchitecture: all
ProcEnviron:
 TERM=xterm
 PATH=(custom, no user)
 XDG_RUNTIME_DIR=<set>
 LANG=en_US.UTF-8
 SHELL=/bin/bash
SourcePackage: pbuilder
UpgradeStatus: Upgraded to raring on 2012-01-31 (411 days ago)

** Affects: pbuilder (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: amd64 apport-bug qa-manual-testing raring ue-desktop

** Attachment added: "cu2d-100scopes-experimental-1.1prepare-unity-scope-calculator_2013-03-18_07-23-49_log"
   https://bugs.launchpad.net/bugs/1156636/+attachment/3581572/+files/cu2d-100scopes-experimental-1.1prepare-unity-scope-calculator_2013-03-18_07-23-49_log

** Description changed:

  When the mount phase of pbuilder fails, pbuilder umounts directories
  that have already been successfully mounted (/usr/lib/pbuilder/pbuilder-
  modules lines 273 - 291) but it uses the device name (name of the
  directory being bind mounted) instead of the name of the mount point.
  
  If the directory is bind-mounted several times in others, unrelated,
  chroots it tries to unmount all of them.
  
- For example (full log attached)
+ For example (full log attached) on the log below note that PIDs in
+ cow.<PID> are different:
+ 
  I: umounting /var/lib/jenkins/cu2d
  umount: /var/cache/pbuilder/build/cow.15281/var/lib/jenkins/cu2d: device is busy.
-         (In some cases useful info about processes that use
-          the device is found by lsof(8) or fuser(1))
+         (In some cases useful info about processes that use
+          the device is found by lsof(8) or fuser(1))
  umount: /var/cache/pbuilder/build/cow.1195/var/lib/jenkins/cu2d: device is busy.
-         (In some cases useful info about processes that use
-          the device is found by lsof(8) or fuser(1))
+         (In some cases useful info about processes that use
+          the device is found by lsof(8) or fuser(1))
  umount: /var/cache/pbuilder/build/cow.1197/var/lib/jenkins/cu2d: device is busy.
-         (In some cases useful info about processes that use
-          the device is found by lsof(8) or fuser(1))
+         (In some cases useful info about processes that use
+          the device is found by lsof(8) or fuser(1))
  umount: /var/cache/pbuilder/build/cow.1739/var/lib/jenkins/cu2d: device is busy.
-         (In some cases useful info about processes that use
-          the device is found by lsof(8) or fuser(1))
+         (In some cases useful info about processes that use
+          the device is found by lsof(8) or fuser(1))
  umount: /var/cache/pbuilder/build/cow.59368/var/lib/jenkins/cu2d: not mounted
  umount: /var/cache/pbuilder/build/cow.53454/var/lib/jenkins/cu2d: device is busy.
-         (In some cases useful info about processes that use
-          the device is found by lsof(8) or fuser(1))
+         (In some cases useful info about processes that use
+          the device is found by lsof(8) or fuser(1))
  umount: /var/cache/pbuilder/build/cow.36950/var/lib/jenkins/cu2d: device is busy.
-         (In some cases useful info about processes that use
-          the device is found by lsof(8) or fuser(1))
+         (In some cases useful info about processes that use
+          the device is found by lsof(8) or fuser(1))
  umount: /var/cache/pbuilder/build/cow.19691/var/lib/jenkins/cu2d: device is busy.
-         (In some cases useful info about processes that use
-          the device is found by lsof(8) or fuser(1))
+         (In some cases useful info about processes that use
+          the device is found by lsof(8) or fuser(1))
  
  line 278 of /usr/lib/pbuilder/pbuilder-modules could use the full path of the mount point:
  mounted[${#mounted[@]}]="$BUILDPLACE/$mnt"
  
  instead of $mnt only.
  
  ProblemType: Bug
  DistroRelease: Ubuntu 13.04
  Package: pbuilder 0.213ubuntu1
  ProcVersionSignature: Ubuntu 3.8.0-12.21-generic 3.8.2
  Uname: Linux 3.8.0-12-generic x86_64
  ApportVersion: 2.9.1-0ubuntu1
  Architecture: amd64
  Date: Mon Mar 18 15:24:51 2013
  MarkForUpload: True
  PackageArchitecture: all
  ProcEnviron:
-  TERM=xterm
-  PATH=(custom, no user)
-  XDG_RUNTIME_DIR=<set>
-  LANG=en_US.UTF-8
-  SHELL=/bin/bash
+  TERM=xterm
+  PATH=(custom, no user)
+  XDG_RUNTIME_DIR=<set>
+  LANG=en_US.UTF-8
+  SHELL=/bin/bash
  SourcePackage: pbuilder
  UpgradeStatus: Upgraded to raring on 2012-01-31 (411 days ago)

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

Title:
  When mount phase fails, pbuilder unmount directories of other chroots

Status in “pbuilder” package in Ubuntu:
  New

Bug description:
  When the mount phase of pbuilder fails, pbuilder umounts directories
  that have already been successfully mounted (/usr/lib/pbuilder
  /pbuilder-modules lines 273 - 291) but it uses the device name (name
  of the directory being bind mounted) instead of the name of the mount
  point.

  If the directory is bind-mounted several times in others, unrelated,
  chroots it tries to unmount all of them.

  For example (full log attached) on the log below note that PIDs in
  cow.<PID> are different:

  I: umounting /var/lib/jenkins/cu2d
  umount: /var/cache/pbuilder/build/cow.15281/var/lib/jenkins/cu2d: device is busy.
          (In some cases useful info about processes that use
           the device is found by lsof(8) or fuser(1))
  umount: /var/cache/pbuilder/build/cow.1195/var/lib/jenkins/cu2d: device is busy.
          (In some cases useful info about processes that use
           the device is found by lsof(8) or fuser(1))
  umount: /var/cache/pbuilder/build/cow.1197/var/lib/jenkins/cu2d: device is busy.
          (In some cases useful info about processes that use
           the device is found by lsof(8) or fuser(1))
  umount: /var/cache/pbuilder/build/cow.1739/var/lib/jenkins/cu2d: device is busy.
          (In some cases useful info about processes that use
           the device is found by lsof(8) or fuser(1))
  umount: /var/cache/pbuilder/build/cow.59368/var/lib/jenkins/cu2d: not mounted
  umount: /var/cache/pbuilder/build/cow.53454/var/lib/jenkins/cu2d: device is busy.
          (In some cases useful info about processes that use
           the device is found by lsof(8) or fuser(1))
  umount: /var/cache/pbuilder/build/cow.36950/var/lib/jenkins/cu2d: device is busy.
          (In some cases useful info about processes that use
           the device is found by lsof(8) or fuser(1))
  umount: /var/cache/pbuilder/build/cow.19691/var/lib/jenkins/cu2d: device is busy.
          (In some cases useful info about processes that use
           the device is found by lsof(8) or fuser(1))

  line 278 of /usr/lib/pbuilder/pbuilder-modules could use the full path of the mount point:
  mounted[${#mounted[@]}]="$BUILDPLACE/$mnt"

  instead of $mnt only.

  ProblemType: Bug
  DistroRelease: Ubuntu 13.04
  Package: pbuilder 0.213ubuntu1
  ProcVersionSignature: Ubuntu 3.8.0-12.21-generic 3.8.2
  Uname: Linux 3.8.0-12-generic x86_64
  ApportVersion: 2.9.1-0ubuntu1
  Architecture: amd64
  Date: Mon Mar 18 15:24:51 2013
  MarkForUpload: True
  PackageArchitecture: all
  ProcEnviron:
   TERM=xterm
   PATH=(custom, no user)
   XDG_RUNTIME_DIR=<set>
   LANG=en_US.UTF-8
   SHELL=/bin/bash
  SourcePackage: pbuilder
  UpgradeStatus: Upgraded to raring on 2012-01-31 (411 days ago)

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




More information about the foundations-bugs mailing list