#815175 schroot fails to unmount chroot on failure in setup.d scripts

Package:
src:schroot
Source:
schroot
Submitter:
Ryan Kavanagh
Date:
2021-03-23 17:42:06 UTC
Severity:
normal
Tags:
#815175#5
Date:
2016-02-19 17:56:32 UTC
From:
To:
The sbuild-update(1) commant fails to unmount schroots after
encountering errors. I expected it to gracefully clean up after itself,
unless otherwise specified, upon encountering an error. I've attached a
copy of my schroot.conf.

Here's a transcript showing the issue:

rak@zeta:~$ mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,nosuid,relatime,size=8151612k,nr_inodes=2037903,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=1632360k,mode=755)
/dev/sda1 on / type btrfs (rw,relatime,ssd,space_cache,subvolid=5,subvol=/)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/lib/systemd/systemd-cgroups-agent,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls,net_prio)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=28,pgrp=1,timeout=0,minproto=5,maxproto=5,direct)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime)
mqueue on /dev/mqueue type mqueue (rw,relatime)
tmpfs on /tmp type tmpfs (rw,nosuid,noatime)
/dev/mapper/sdc5_crypt on /home type btrfs (rw,noatime,ssd,space_cache,subvolid=5,subvol=/)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,relatime)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=1632360k,mode=700,uid=1000,gid=1000)
/dev/mapper/wd on /media/wd type ext4 (rw,nosuid,nodev,noatime,data=ordered,user=rak)
/dev/mapper/wd on /home/ryan/Pictures type ext4 (rw,nosuid,nodev,noatime,data=ordered)
rak@zeta:~$ schroot -l
chroot:default
chroot:default-source
chroot:jessie
chroot:jessie-amd64
chroot:jessie-amd64-source
chroot:jessie-snap
chroot:jessie-source
chroot:sid-snap
chroot:stable
chroot:stable-amd64
chroot:stable-amd64-source
chroot:stable-source
chroot:unstable
chroot:unstable-amd64
chroot:unstable-amd64-source
chroot:unstable-source
source:default
source:jessie
source:jessie-amd64
source:jessie-snap
source:sid-snap
source:stable
source:stable-amd64
source:unstable
source:unstable-amd64
rak@zeta:~$ sbuild-update -udr source:jessie-amd64
E: 15binfmt: update-binfmts: unable to open /var/run/schroot/mount/jessie-snap-a6a720c2-d20d-4251-b3a5-1e043da0e1e2/bin/sh: No such file or directory
E: 20copyfiles: cp: cannot create regular file '/var/run/schroot/mount/jessie-snap-a6a720c2-d20d-4251-b3a5-1e043da0e1e2/etc/resolv.conf': No such file or directory
E: jessie-snap-a6a720c2-d20d-4251-b3a5-1e043da0e1e2: Chroot setup failed: stage=setup-start
Chroot setup failed
Error setting up source:jessie-amd64 chroot
Chroot setup failed at /usr/bin/sbuild-update line 170.
rak@zeta:~$ mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,nosuid,relatime,size=8151612k,nr_inodes=2037903,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=1632360k,mode=755)
/dev/sda1 on / type btrfs (rw,relatime,ssd,space_cache,subvolid=5,subvol=/)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/lib/systemd/systemd-cgroups-agent,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls,net_prio)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=28,pgrp=1,timeout=0,minproto=5,maxproto=5,direct)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime)
mqueue on /dev/mqueue type mqueue (rw,relatime)
tmpfs on /tmp type tmpfs (rw,nosuid,noatime)
/dev/mapper/sdc5_crypt on /home type btrfs (rw,noatime,ssd,space_cache,subvolid=5,subvol=/)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,relatime)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=1632360k,mode=700,uid=1000,gid=1000)
/dev/mapper/wd on /media/wd type ext4 (rw,nosuid,nodev,noatime,data=ordered,user=rak)
/dev/mapper/wd on /home/ryan/Pictures type ext4 (rw,nosuid,nodev,noatime,data=ordered)
/dev/mapper/wd-jessie--chroot on /run/schroot/mount/jessie-snap-a6a720c2-d20d-4251-b3a5-1e043da0e1e2 type ext4 (rw,relatime,data=ordered)
proc on /run/schroot/mount/jessie-snap-a6a720c2-d20d-4251-b3a5-1e043da0e1e2/var/run/schroot/mount/jessie-snap-a6a720c2-d20d-4251-b3a5-1e043da0e1e2/proc type proc (rw,nosuid,nodev,noexec,relatime)
sysfs on /run/schroot/mount/jessie-snap-a6a720c2-d20d-4251-b3a5-1e043da0e1e2/var/run/schroot/mount/jessie-snap-a6a720c2-d20d-4251-b3a5-1e043da0e1e2/sys type sysfs (rw,nosuid,nodev,noexec,relatime)
udev on /run/schroot/mount/jessie-snap-a6a720c2-d20d-4251-b3a5-1e043da0e1e2/var/run/schroot/mount/jessie-snap-a6a720c2-d20d-4251-b3a5-1e043da0e1e2/dev type devtmpfs (rw,nosuid,relatime,size=8151612k,nr_inodes=2037903,mode=755)
devpts on /run/schroot/mount/jessie-snap-a6a720c2-d20d-4251-b3a5-1e043da0e1e2/var/run/schroot/mount/jessie-snap-a6a720c2-d20d-4251-b3a5-1e043da0e1e2/dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
/dev/mapper/sdc5_crypt on /run/schroot/mount/jessie-snap-a6a720c2-d20d-4251-b3a5-1e043da0e1e2/var/run/schroot/mount/jessie-snap-a6a720c2-d20d-4251-b3a5-1e043da0e1e2/home type btrfs (rw,noatime,ssd,space_cache,subvolid=5,subvol=/)
tmpfs on /run/schroot/mount/jessie-snap-a6a720c2-d20d-4251-b3a5-1e043da0e1e2/var/run/schroot/mount/jessie-snap-a6a720c2-d20d-4251-b3a5-1e043da0e1e2/tmp type tmpfs (rw,nosuid,noatime)

#815175#10
Date:
2016-02-19 20:07:46 UTC
From:
To:
Hi,

Quoting Ryan Kavanagh (2016-02-19 18:56:32)

this error looks strange.

Can you tell me a way how I can reproduce the problem you have with
sbuild-update?

Thanks!

cheers, josch

#815175#15
Date:
2016-02-19 22:30:13 UTC
From:
To:
Hi Josch,

The above error is a classic case of PEBKAC. I accomplished it roughly
as follows:

mkfs.ext4 /dev/wd/jessie-chroot
mkdir /tmp/jessie
mount /dev/wd/jessie-chroot /tmp/jessie
sbuild-createchroot jessie /tmp/wd-jessie-chroot http://httpredir.debian.org/debian
umount /tmp/jessie
... delete /etc/schroot/schroot.d/* and add the appropriate LVM snapshot
... config entry to /etc/schroot/schroot.conf
suild-update -udr source:jessie-amd64

which then caused a snapshot of /dev/wd/jessie-chroot to get mounted,
which was empty (I fed the wrong path to sbuild-createchroot), and so
sbuild-update obviously couldn't find bin/sh under it :)

So, I suppose this should be considered a 'wishlist' bug, where
sbuild-update should fail gracefully and umount stuff even on failure.

Best wishes,
Ryan

#815175#20
Date:
2016-02-19 22:59:33 UTC
From:
To:
Hi Ryan,

Quoting Ryan Kavanagh (2016-02-19 23:30:13)
do anything about this problem, as I think it is schroot which fails to clean
up after failing to begin the session.

Steps to reproduce:

$ cat /etc/schroot/chroot.d/unstable-amd64-sbuild-Y0L33s
[unstable-amd64-sbuild]
type=file
description=Debian unstable/amd64 autobuilder
file=/srv/chroot/unstable-amd64.tar.gz
groups=root,sbuild
root-groups=root,sbuild
profile=sbuild
$ mkdir empty
$ tar -C empty -czf empty.tar.gz .
$ sudo mv empty.tar.gz /srv/chroot/unstable-amd64.tar.gz
$ sudo chown root:root /srv/chroot/unstable-amd64.tar.gz
$ schroot -c chroot:unstable-amd64-sbuild --begin-session
E: 15binfmt: update-binfmts: unable to open /var/run/schroot/mount/unstable-amd64-sbuild-ca29d966-e3e4-4196-b824-7e153b317c1d/bin/sh: No such file or directory
E: 20copyfiles: cp: cannot create regular file '/var/run/schroot/mount/unstable-amd64-sbuild-ca29d966-e3e4-4196-b824-7e153b317c1d/etc/resolv.conf': No such file or directory
E: unstable-amd64-sbuild-ca29d966-e3e4-4196-b824-7e153b317c1d: Chroot setup failed: stage=setup-start
$ mount | grep /run/schroot/mount/
tmpfs on /run/schroot/mount/unstable-amd64-sbuild-3aab5ea7-86ae-4c30-b096-d58406f025bb type tmpfs (rw,nosuid,nodev,relatime,size=8388608k)
proc on /run/schroot/mount/unstable-amd64-sbuild-3aab5ea7-86ae-4c30-b096-d58406f025bb/var/run/schroot/mount/unstable-amd64-sbuild-3aab5ea7-86ae-4c30-b096-d58406f025bb/proc type proc (rw,nosuid,nodev,noexec,relatime)
sysfs on /run/schroot/mount/unstable-amd64-sbuild-3aab5ea7-86ae-4c30-b096-d58406f025bb/var/run/schroot/mount/unstable-amd64-sbuild-3aab5ea7-86ae-4c30-b096-d58406f025bb/sys type sysfs (rw,nosuid,nodev,noexec,relatime)
udev on /run/schroot/mount/unstable-amd64-sbuild-3aab5ea7-86ae-4c30-b096-d58406f025bb/var/run/schroot/mount/unstable-amd64-sbuild-3aab5ea7-86ae-4c30-b096-d58406f025bb/dev type devtmpfs (rw,relatime,size=10240k,nr_inodes=1497603,mode=755)
devpts on /run/schroot/mount/unstable-amd64-sbuild-3aab5ea7-86ae-4c30-b096-d58406f025bb/var/run/schroot/mount/unstable-amd64-sbuild-3aab5ea7-86ae-4c30-b096-d58406f025bb/dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run/schroot/mount/unstable-amd64-sbuild-3aab5ea7-86ae-4c30-b096-d58406f025bb/var/run/schroot/mount/unstable-amd64-sbuild-3aab5ea7-86ae-4c30-b096-d58406f025bb/dev/shm type tmpfs (rw,relatime)



Thanks!

cheers, josch