Bug#1144778: debootstrap: autopkgtest fails under incus-lxc: stat: cannot statx 'chroot.d/dev/full': No such file or directory

Antonio Terceiro <[email protected]>
Newsgroups gmane.linux.debian.devel.boot
Message-ID <aoToK2EGYxWiMmwc__8562.88178344897$1787095302$gmane$org@debian.org>
Source: debootstrap
Version: 1.0.144
Severity: important
Justification: fails autopkgtest on Debian CI infrastructure
Tags: forky sid
User: [email protected]
Usertags: lxc

Hi,

Debian CI is switching away from lxc containers in favor of incus Containers.
This is motivated by security concerns from us; incus is based on lxc, but
orchestrates containers substantially different: containers are not privileged
(so root in the container is not uid 0 outside of it, and incus imposes a
stricter isolation from the host system.

debootstrap passes its tests under lxc, but fails under incus.
The relevant part of the failure is (hopefully):

> I: Configuring gnupg...
> I: Configuring wget...
> I: Configuring debootstrap...
> I: Configuring libc-bin...
> I: Base system installed successfully.
> # Running: find chroot.d/dev -ls
> 879      0 drwxr-xr-x   4 root     root          200 Aug 14 20:47 chroot.d/dev
> 5537      0 -rw-r--r--   1 root     root            0 Aug 14 20:47 chroot.d/dev/null
> 5536      0 lrwxrwxrwx   1 root     root           15 Aug 14 20:47 chroot.d/dev/stderr -> /proc/self/fd/2
> 5535      0 lrwxrwxrwx   1 root     root           15 Aug 14 20:47 chroot.d/dev/stdout -> /proc/self/fd/1
> 5534      0 lrwxrwxrwx   1 root     root           15 Aug 14 20:47 chroot.d/dev/stdin -> /proc/self/fd/0
> 5533      0 lrwxrwxrwx   1 root     root           13 Aug 14 20:47 chroot.d/dev/fd -> /proc/self/fd
> 5532      0 lrwxrwxrwx   1 root     root            8 Aug 14 20:47 chroot.d/dev/ptmx -> pts/ptmx
> 5531      0 drwxr-xr-x   2 root     root           40 Aug 14 20:47 chroot.d/dev/shm
> 5530      0 drwxr-xr-x   2 root     root           40 Aug 14 20:47 chroot.d/dev/pts
> ok 2 - chroot should have /etc/debian_version
> ok 3 - chroot should have /usr/bin/env which is Essential
> ok 4 - chroot should have /root/.ssh created by systemd-tmpfiles
> ok 5 - chroot should have /var/cache/private created by systemd-tmpfiles
> ok 6 - chroot should have /var/lib/private created by systemd-tmpfiles
> ok 7 - chroot should have /var/lib/systemd/coredump created by systemd-tmpfiles
> ok 8 - chroot should have /var/lib/systemd/pstore created by systemd-tmpfiles
> ok 9 - chroot should have /var/log/private created by systemd-tmpfiles
> ok 10 - chroot should have /usr/bin/hello due to --include
> ok 11 - chroot should have /usr/share/doc
> # not running with container=mmdebstrap-unshare
> not ok 12 - /dev/full should be a character device
> #   Failed test '/dev/full should be a character device'
> #   at ./debian/tests/debian-testing line 117.
> # Running: /usr/bin/stat --printf=%t %T %a chroot.d/dev/full
> stat: cannot statx 'chroot.d/dev/full': No such file or directory
> not ok 13 - /usr/bin/stat --printf=%t %T %a chroot.d/dev/full
> #   Failed test '/usr/bin/stat --printf=%t %T %a chroot.d/dev/full'
> #   at ./debian/tests/debian-testing line 34.
> not ok 14 - /dev/full should be device 1,7 with 0666 permissions
> #   Failed test '/dev/full should be device 1,7 with 0666 permissions'
> #   at ./debian/tests/debian-testing line 118.
> #          got: ''
> #     expected: '1 7 666'
> not ok 15
> #   Failed test at ./debian/tests/debian-testing line 120.
> # Running: /usr/bin/stat --printf=%t %T %a chroot.d/dev/null
> ok 16 - /usr/bin/stat --printf=%t %T %a chroot.d/dev/null
> not ok 17 - /dev/null should be device 1,3 with 0666 permissions
> #   Failed test '/dev/null should be device 1,3 with 0666 permissions'
> #   at ./debian/tests/debian-testing line 121.
> #          got: '0 0 644'
> #     expected: '1 3 666'
> # Running: ls -l chroot.d/dev/ptmx
> # chroot.d/dev/ptmx: lrwxrwxrwx 1 root root 8 Aug 14 20:47 chroot.d/dev/ptmx -> pts/ptmx
> # Running: ls -l chroot.d/dev/pts/ptmx
> ls: cannot access 'chroot.d/dev/pts/ptmx': No such file or directory
> # Unable to list chroot.d/dev/pts/ptmx
> # /dev/ptmx is a symbolic link
> ok 18 - if /dev/ptmx is a symlink it should be to /dev/pts/ptmx
> # Running: cat chroot.d/etc/debian_version
> ok 19 - cat chroot.d/etc/debian_version
> # Running: chroot chroot.d runuser -u nobody -- cat /etc/debian_version
> ok 20 - chroot chroot.d runuser -u nobody -- cat /etc/debian_version
> ok 21
> # Running: unshare -m /tmp/autopkgtest.qfEcbj/build.mt4/src/debian/tests/fake/schroot-proposed chroot.d runuser -u nobody -- script -q -c cat /etc/debian_version /dev/null


The full autokpgtest logs are available at:
https://ci.debian.net/experiments/8/regressions/
(please beware of pagination)

Common types of failure and suggested fixes are being documented at:
https://wiki.debian.org/ContinuousIntegration/LxcToIncus

Note that for the time being, debootstrap is still being tested under lxc to
avoid disturbing its testing migration test results.

If you decide to add the `isolation-machine` restriction to get this package
tested under qemu, please mention that explicitly when closing this bug (it's
fine to do that only in the package changelog entry that closes the bug) so
that we can configure your package for qemu on ci.debian.net.
signature.asc (application/pgp-signature, 833 B)
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEst7mYDbECCn80PEM/A2xu81GC94FAmqE6CwACgkQ/A2xu81G
C97/MhAAwdhX6xgHqyMGwT1zjrKS0DF7D+sLXvXXCqsMDpDMYeTPvX8tyy1F3AcO
vewKLzuDWZu4n4WOc+fUUSA0jFQ3NgzYVmxcgD9YllGVNhuoGqHKW+99m1PCvTBT
ViaOWyLXGcEWKNx6OcQVRwN5SfERafrfrJOR6OH3Pfu0CGEZUossodSd19MH1doR
mXoLCQxbuCf6y/HhjYcIOMeVVxjUMI1QAulHl5g7NPCCGK1qL50OSvk/ob8j/Vm1
bzC2du2Pz4cmiON5UHlj+9RZ5VlK+R5Z4pWMzNf+El53fUxi6tJfhTD7I0F61SVR
4e5gvHgDapcGWJgL/YKNCoyaSi7ldiL4tDdWS/yImund3cqVAViRTGy7ULl3Q1SP
ZkwbpazLm7tk9ET16jI/CbkYKZvxhpTMD0TEMc4/ywX6irg1y5DXY+aq2wn7aQHS
6c2RuhV+EcTimHp/YeEa7JfACyfKuSZIAy71esyDcHhPmupRWEQQ4Jj0L/loZ1df
iHc8pf9ysQ2sFpq3Nub0erBegBNSimJYFnuyjh9LVYP7rTBKOpY0HleZ8loK8Kqc
G+Afc20E4JSWcRsf2cjWHJplnqoq1wEa/R4dyfp9lPmkpGojkjNVofKb5N6YjcDX
5esauqBhEbcj3APW7q9Jud9fj2KxtxTAW3OjUenNEEm3V8/4alI=
=jK4B
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.