0s autopkgtest [02:06:42]: starting date and time: 2025-12-06 02:06:42+0000 0s autopkgtest [02:06:42]: git checkout: 4b346b80 nova: make wait_reboot return success even when a no-op 0s autopkgtest [02:06:42]: host juju-7f2275-prod-proposed-migration-environment-20; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.kg14pajs/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:python3-defaults --apt-upgrade bubblewrap --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=python3-defaults/3.13.9-2 -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest-cpu2-ram4-disk20-ppc64el --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-20@sto01-ppc64el-5.secgroup --name adt-resolute-ppc64el-bubblewrap-20251206-020642-juju-7f2275-prod-proposed-migration-environment-20-14853c09-2021-41f2-b700-a40e49722f83 --image adt/ubuntu-resolute-ppc64el-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-20 --net-id=net_prod-autopkgtest-workers-ppc64el -e TERM=linux --mirror=http://ftpmaster.internal/ubuntu/ 3s Creating nova instance adt-resolute-ppc64el-bubblewrap-20251206-020642-juju-7f2275-prod-proposed-migration-environment-20-14853c09-2021-41f2-b700-a40e49722f83 from image adt/ubuntu-resolute-ppc64el-server-20251205.img (UUID ec8e7418-51bb-4f88-80fc-4d434bdc97c2)... 50s autopkgtest [02:07:32]: testbed dpkg architecture: ppc64el 50s autopkgtest [02:07:32]: testbed apt version: 3.1.12 50s autopkgtest [02:07:32]: @@@@@@@@@@@@@@@@@@@@ test bed setup 50s autopkgtest [02:07:32]: testbed release detected to be: None 51s autopkgtest [02:07:33]: updating testbed package index (apt update) 51s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [124 kB] 51s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 51s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 51s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 52s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [140 kB] 52s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [23.4 kB] 52s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [842 kB] 52s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/main ppc64el Packages [226 kB] 52s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/universe ppc64el Packages [689 kB] 52s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse ppc64el Packages [6928 B] 52s Fetched 2052 kB in 1s (3765 kB/s) 53s Reading package lists... 53s Hit:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease 53s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 53s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 53s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 54s Reading package lists... 54s Reading package lists... 54s Building dependency tree... 54s Reading state information... 54s Calculating upgrade... 55s The following packages will be upgraded: 55s libnftnl11 libpython3-stdlib lxd-installer python3 python3-attr python3-gdbm 55s python3-minimal 55s 7 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 55s Need to get 212 kB of archives. 55s After this operation, 16.4 kB of additional disk space will be used. 55s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed/main ppc64el python3-minimal ppc64el 3.13.9-2 [28.1 kB] 55s Get:2 http://ftpmaster.internal/ubuntu resolute-proposed/main ppc64el python3 ppc64el 3.13.9-2 [23.0 kB] 55s Get:3 http://ftpmaster.internal/ubuntu resolute-proposed/main ppc64el libpython3-stdlib ppc64el 3.13.9-2 [10.8 kB] 55s Get:4 http://ftpmaster.internal/ubuntu resolute/main ppc64el libnftnl11 ppc64el 1.3.1-1 [80.0 kB] 55s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/main ppc64el python3-gdbm ppc64el 3.13.9-2 [11.0 kB] 55s Get:6 http://ftpmaster.internal/ubuntu resolute/main ppc64el lxd-installer all 14ubuntu0 [5428 B] 55s Get:7 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-attr all 25.4.0-1 [53.6 kB] 55s dpkg-preconfigure: unable to re-open stdin: No such file or directory 55s Fetched 212 kB in 0s (11.2 MB/s) 55s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 81185 files and directories currently installed.) 55s Preparing to unpack .../python3-minimal_3.13.9-2_ppc64el.deb ... 55s Unpacking python3-minimal (3.13.9-2) over (3.13.7-1) ... 56s Setting up python3-minimal (3.13.9-2) ... 56s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 81185 files and directories currently installed.) 56s Preparing to unpack .../0-python3_3.13.9-2_ppc64el.deb ... 56s running python pre-rtupdate hooks for python3.13... 56s Unpacking python3 (3.13.9-2) over (3.13.7-1) ... 56s Preparing to unpack .../1-libpython3-stdlib_3.13.9-2_ppc64el.deb ... 56s Unpacking libpython3-stdlib:ppc64el (3.13.9-2) over (3.13.7-1) ... 56s Preparing to unpack .../2-libnftnl11_1.3.1-1_ppc64el.deb ... 56s Unpacking libnftnl11:ppc64el (1.3.1-1) over (1.3.0-1) ... 56s Preparing to unpack .../3-python3-gdbm_3.13.9-2_ppc64el.deb ... 57s Unpacking python3-gdbm (3.13.9-2) over (3.13.9-1) ... 57s Preparing to unpack .../4-lxd-installer_14ubuntu0_all.deb ... 57s Unpacking lxd-installer (14ubuntu0) over (13ubuntu0) ... 57s Preparing to unpack .../5-python3-attr_25.4.0-1_all.deb ... 57s Unpacking python3-attr (25.4.0-1) over (25.3.0-1) ... 57s Setting up python3-gdbm (3.13.9-2) ... 57s Setting up libnftnl11:ppc64el (1.3.1-1) ... 57s Setting up lxd-installer (14ubuntu0) ... 58s Setting up libpython3-stdlib:ppc64el (3.13.9-2) ... 58s Setting up python3 (3.13.9-2) ... 58s running python rtupdate hooks for python3.13... 58s running python post-rtupdate hooks for python3.13... 58s Setting up python3-attr (25.4.0-1) ... 58s Processing triggers for man-db (2.13.1-1) ... 59s Processing triggers for libc-bin (2.42-2ubuntu2) ... 59s autopkgtest [02:07:41]: upgrading testbed (apt dist-upgrade and autopurge) 60s Reading package lists... 60s Building dependency tree... 60s Reading state information... 60s Calculating upgrade... 60s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 60s Reading package lists... 61s Building dependency tree... 61s Reading state information... 61s Solving dependencies... 61s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 61s autopkgtest [02:07:43]: rebooting testbed after setup commands that affected boot 100s autopkgtest [02:08:22]: testbed running kernel: Linux 6.17.0-6-generic #6-Ubuntu SMP PREEMPT_DYNAMIC Tue Oct 7 13:47:32 UTC 2025 103s autopkgtest [02:08:25]: @@@@@@@@@@@@@@@@@@@@ apt-source bubblewrap 104s Get:1 http://ftpmaster.internal/ubuntu resolute/main bubblewrap 0.11.0-2 (dsc) [2685 B] 104s Get:2 http://ftpmaster.internal/ubuntu resolute/main bubblewrap 0.11.0-2 (tar) [115 kB] 104s Get:3 http://ftpmaster.internal/ubuntu resolute/main bubblewrap 0.11.0-2 (asc) [833 B] 104s Get:4 http://ftpmaster.internal/ubuntu resolute/main bubblewrap 0.11.0-2 (diff) [12.6 kB] 105s gpgv: Signature made Mon Dec 30 11:46:18 2024 UTC 105s gpgv: using RSA key 7A073AD1AE694FA25BFF62E5235C099D3EB33076 105s gpgv: Can't check signature: No public key 105s dpkg-source: warning: cannot verify inline signature for ./bubblewrap_0.11.0-2.dsc: no acceptable signature found 105s autopkgtest [02:08:27]: testing package bubblewrap version 0.11.0-2 105s autopkgtest [02:08:27]: build not needed 105s autopkgtest [02:08:27]: test basic: preparing testbed 105s Reading package lists... 106s Building dependency tree... 106s Reading state information... 106s Solving dependencies... 106s The following NEW packages will be installed: 106s bubblewrap libio-pty-perl libipc-run-perl 106s 0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded. 106s Need to get 183 kB of archives. 106s After this operation, 596 kB of additional disk space will be used. 106s Get:1 http://ftpmaster.internal/ubuntu resolute/main ppc64el bubblewrap ppc64el 0.11.0-2 [56.7 kB] 106s Get:2 http://ftpmaster.internal/ubuntu resolute/main ppc64el libio-pty-perl ppc64el 1:1.20-1build3 [32.0 kB] 106s Get:3 http://ftpmaster.internal/ubuntu resolute/main ppc64el libipc-run-perl all 20250809.0-1 [94.4 kB] 106s Fetched 183 kB in 0s (9235 kB/s) 106s Selecting previously unselected package bubblewrap. 107s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 81185 files and directories currently installed.) 107s Preparing to unpack .../bubblewrap_0.11.0-2_ppc64el.deb ... 107s Unpacking bubblewrap (0.11.0-2) ... 107s Selecting previously unselected package libio-pty-perl. 107s Preparing to unpack .../libio-pty-perl_1%3a1.20-1build3_ppc64el.deb ... 107s Unpacking libio-pty-perl (1:1.20-1build3) ... 107s Selecting previously unselected package libipc-run-perl. 107s Preparing to unpack .../libipc-run-perl_20250809.0-1_all.deb ... 107s Unpacking libipc-run-perl (20250809.0-1) ... 107s Setting up bubblewrap (0.11.0-2) ... 107s Setting up libio-pty-perl (1:1.20-1build3) ... 107s Setting up libipc-run-perl (20250809.0-1) ... 107s Processing triggers for systemd (257.9-0ubuntu2) ... 107s Processing triggers for man-db (2.13.1-1) ... 108s Processing triggers for procps (2:4.0.4-8ubuntu3) ... 109s autopkgtest [02:08:31]: test basic: [----------------------- 109s ok 1 - "bwrap --ro-bind / / /usr/bin/id -u" should succeed 109s ok 2 109s ok 3 - "bwrap --ro-bind / / /usr/bin/id -g" should succeed 109s ok 4 109s 1..4 109s autopkgtest [02:08:31]: test basic: -----------------------] 110s basic PASS 110s autopkgtest [02:08:32]: test basic: - - - - - - - - - - results - - - - - - - - - - 110s autopkgtest [02:08:32]: test dev: preparing testbed 110s Reading package lists... 110s Building dependency tree... 110s Reading state information... 110s Solving dependencies... 111s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 111s autopkgtest [02:08:33]: test dev: [----------------------- 112s ok 1 - "bwrap --ro-bind / / --dev /dev //bin/sh -c echo /dev/*" should succeed 112s ok 2 112s ok 3 112s ok 4 112s ok 5 112s ok 6 112s ok 7 112s ok 8 112s ok 9 112s ok 10 112s ok 11 112s ok 12 112s ok 13 112s ok 14 112s ok 15 112s ok 16 112s ok 17 112s ok 18 112s ok 19 112s ok 20 112s ok 21 112s ok 22 112s 1..22 112s autopkgtest [02:08:34]: test dev: -----------------------] 112s dev PASS 112s autopkgtest [02:08:34]: test dev: - - - - - - - - - - results - - - - - - - - - - 113s autopkgtest [02:08:35]: test net: preparing testbed 113s Reading package lists... 113s Building dependency tree... 113s Reading state information... 113s Solving dependencies... 113s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 114s autopkgtest [02:08:36]: test net: [----------------------- 114s ok 1 - "bwrap --ro-bind / / --unshare-net /bin/sh -c ip link ls" should succeed 114s ok 2 114s ok 3 114s ok 4 114s ok 5 114s 1..5 114s autopkgtest [02:08:36]: test net: -----------------------] 115s autopkgtest [02:08:37]: test net: - - - - - - - - - - results - - - - - - - - - - 115s net PASS 115s autopkgtest [02:08:37]: test upstream: preparing testbed 115s Reading package lists... 115s Building dependency tree... 115s Reading state information... 115s Solving dependencies... 115s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 116s autopkgtest [02:08:38]: test upstream: [----------------------- 116s +++ dirname tests/test-run.sh 116s ++ cd tests 116s ++ pwd 116s + srcd=/tmp/autopkgtest.Rh67c1/build.fhc/src/tests 116s + . /tmp/autopkgtest.Rh67c1/build.fhc/src/tests/libtest.sh 116s ++ set -e 116s ++ '[' -n '' ']' 116s +++ dirname tests/test-run.sh 116s ++ test_srcdir=tests 116s ++ '[' -n '' ']' 116s +++ dirname tests/test-run.sh 116s ++ test_builddir=tests 116s ++ . tests/libtest-core.sh 116s +++ type -p locale 116s ++++ locale -a 116s ++++ grep -iEe '^(C|en_US)\.(UTF-8|utf8)$' 116s ++++ head -n1 116s +++ export LC_ALL=C.utf8 116s +++ LC_ALL=C.utf8 116s +++ '[' -z C.utf8 ']' 116s +++ unset LANGUAGE 116s +++ export G_DEBUG=fatal-warnings 116s +++ G_DEBUG=fatal-warnings 116s +++ trap report_err ERR 116s ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/sbin:/sbin 116s +++ mktemp -d /var/tmp/tap-test.XXXXXX 116s ++ tempdir=/var/tmp/tap-test.jW1sOg 116s ++ touch /var/tmp/tap-test.jW1sOg/.testtmp 116s ++ trap cleanup EXIT 116s ++ cd /var/tmp/tap-test.jW1sOg 116s ++ : bwrap 116s +++ type -p bwrap 116s ++ test -u /usr/bin/bwrap 116s ++ FUSE_DIR= 116s +++ grep ' fuse[. ]' /proc/self/mounts 116s +++ awk '{print $2}' 116s ++++ id -u 116s +++ grep user_id=1000 116s +++ id -u 116s ++ test 1000 = 0 116s ++ is_uidzero=false 116s ++ UNREADABLE=/root/.bashrc 116s ++ false 116s +++ dirname /root/.bashrc 116s ++ test -x /root 116s ++ '[' /lib -ef /usr/lib ']' 116s ++ BWRAP_RO_HOST_ARGS=$'--ro-bind /usr /usr\n --ro-bind /etc /etc\n --dir /var/tmp\n --symlink usr/lib /lib\n --symlink usr/lib64 /lib64\n --symlink usr/bin /bin\n --symlink usr/sbin /sbin\n --proc /proc\n --dev /dev' 116s ++ RUN='bwrap --bind / / --tmpfs /tmp' 116s ++ '[' -z '' ']' 116s ++ bwrap --bind / / --tmpfs /tmp true 116s ++ basename tests/test-run.sh 116s + bn=test-run.sh 116s + test_count=0 116s + bwrap --help 116s + assert_file_has_content help.txt 'usage: bwrap' 116s + fpath=help.txt 116s + shift 116s + for re in "$@" 116s + grep -q -e 'usage: bwrap' help.txt 116s ok 1 Help works 116s ok 2 # SKIP no FUSE support 116s + ok 'Help works' 116s + test_count=1 116s + echo ok 1 'Help works' 116s + for ALT in "" "--unshare-user-try" "--unshare-pid" "--unshare-user-try --unshare-pid" 116s + '[' x '!=' x ']' 116s + ok_skip 'no FUSE support' 116s + ok '# SKIP' 'no FUSE support' 116s + test_count=2 116s + echo ok 2 '# SKIP' 'no FUSE support' 116s + bwrap --bind / / --tmpfs /tmp --proc /proc true 116s + ok 'can mount /proc with ' 116s + test_count=3 116s + echo ok 3 'can mount /proc with ' 116s + bwrap --bind / / --tmpfs /tmp --unshare-net --proc /proc --dev /dev true 116s ok 3 can mount /proc with 116s + ok 'can unshare network, create new /dev with ' 116s + test_count=4 116s + echo ok 4 'can unshare network, create new /dev with ' 116s + echo -n 'expect EPERM: ' 116s expect EPERM: + test -n '' 116s + CAP= 116s + cat /etc/shadow 116s cat: /etc/shadow: Permission denied (os error 13) 116s + bwrap --bind / / --tmpfs /tmp --unshare-net --proc /proc --bind /etc/shadow /tmp/foo cat /tmp/foo 116s ok 4 can unshare network, create new /dev with 116s cat: /tmp/foo: Permission denied (os error 13) 116s + cat /etc/shadow 116s cat: /etc/shadow: Permission denied (os error 13) 116s + bwrap --bind / / --tmpfs /tmp --unshare-net --proc /proc --bind /etc/shadow /tmp/foo cat /etc/shadow 116s cat: /etc/shadow: Permission denied (os error 13) 116s + ok 'cannot read /etc/shadow with ' 116s + test_count=5 116s + echo ok 5 'cannot read /etc/shadow with ' 116s + '[' x/root/.bashrc '!=' x ']' 116s + echo -n 'expect EPERM: ' 116s expect EPERM: + bwrap --bind / / --tmpfs /tmp --unshare-net --proc /proc --dev /dev --bind /root/.bashrc /tmp/foo cat /tmp/foo 116s ok 5 cannot read /etc/shadow with 116s bwrap: Can't find source path /root/.bashrc: Permission denied 116s + ok 'cannot read /root/.bashrc with ' 116s + test_count=6 116s + echo ok 6 'cannot read /root/.bashrc with ' 116s + bwrap --bind / / --tmpfs /tmp --dir /tmp/dir --symlink dir /tmp/link --bind /etc /tmp/link true 116s ok 6 cannot read /root/.bashrc with 116s + ok 'can bind a destination over a symlink' 116s + test_count=7 116s + echo ok 7 'can bind a destination over a symlink' 116s + for ALT in "" "--unshare-user-try" "--unshare-pid" "--unshare-user-try --unshare-pid" 116s ok 7 can bind a destination over a symlink 116s + '[' x '!=' x ']' 116s + ok_skip 'no FUSE support' 116s + ok '# SKIP' 'no FUSE support' 116s + test_count=8 116s + echo ok 8 '# SKIP' 'no FUSE support' 116s + bwrap --bind / / --tmpfs /tmp --unshare-user-try --proc /proc true 116s ok 8 # SKIP no FUSE support 116s + ok 'can mount /proc with --unshare-user-try' 116s + test_count=9 116s + echo ok 9 'can mount /proc with --unshare-user-try' 116s + bwrap --bind / / --tmpfs /tmp --unshare-user-try --unshare-net --proc /proc --dev /dev true 116s ok 9 can mount /proc with --unshare-user-try 116s + ok 'can unshare network, create new /dev with --unshare-user-try' 116s + test_count=10 116s + echo ok 10 'can unshare network, create new /dev with --unshare-user-try' 116s ok 10 can unshare network, create new /dev with --unshare-user-try 116s + echo -n 'expect EPERM: ' 116s expect EPERM: + test -n '' 116s + CAP= 116s + cat /etc/shadow 116s cat: /etc/shadow: Permission denied (os error 13) 116s + bwrap --bind / / --tmpfs /tmp --unshare-user-try --unshare-net --proc /proc --bind /etc/shadow /tmp/foo cat /tmp/foo 116s cat: /tmp/foo: Permission denied (os error 13) 116s + cat /etc/shadow 116s cat: /etc/shadow: Permission denied (os error 13) 116s + bwrap --bind / / --tmpfs /tmp --unshare-user-try --unshare-net --proc /proc --bind /etc/shadow /tmp/foo cat /etc/shadow 116s cat: /etc/shadow: Permission denied (os error 13) 116s + ok 'cannot read /etc/shadow with --unshare-user-try' 116s + test_count=11 116s + echo ok 11 'cannot read /etc/shadow with --unshare-user-try' 116s + '[' x/root/.bashrc '!=' x ']' 116s + echo -n 'expect EPERM: ' 116s expect EPERM: + bwrap --bind / / --tmpfs /tmp --unshare-user-try --unshare-net --proc /proc --dev /dev --bind /root/.bashrc /tmp/foo cat /tmp/foo 116s ok 11 cannot read /etc/shadow with --unshare-user-try 116s bwrap: Can't find source path /root/.bashrc: Permission denied 116s + ok 'cannot read /root/.bashrc with --unshare-user-try' 116s + test_count=12 116s + echo ok 12 'cannot read /root/.bashrc with --unshare-user-try' 116s + bwrap --bind / / --tmpfs /tmp --unshare-user-try --dir /tmp/dir --symlink dir /tmp/link --bind /etc /tmp/link true 116s ok 12 cannot read /root/.bashrc with --unshare-user-try 116s + ok 'can bind a destination over a symlink' 116s + test_count=13 116s + echo ok 13 'can bind a destination over a symlink' 116s + for ALT in "" "--unshare-user-try" "--unshare-pid" "--unshare-user-try --unshare-pid" 116s + '[' x '!=' x ']' 116s + ok_skip 'no FUSE support' 116s + ok '# SKIP' 'no FUSE support' 116s + test_count=14 116s + echo ok 14 '# SKIP' 'no FUSE support' 116s ok 13 can bind a destination over a symlink 116s ok 14 # SKIP no FUSE support 116s + bwrap --bind / / --tmpfs /tmp --unshare-pid --proc /proc true 116s + ok 'can mount /proc with --unshare-pid' 116s + test_count=15 116s + echo ok 15 'can mount /proc with --unshare-pid' 116s + bwrap --bind / / --tmpfs /tmp --unshare-pid --unshare-net --proc /proc --dev /dev true 116s ok 15 can mount /proc with --unshare-pid 116s + ok 'can unshare network, create new /dev with --unshare-pid' 116s + test_count=16 116s + echo ok 16 'can unshare network, create new /dev with --unshare-pid' 116s ok 16 can unshare network, create new /dev with --unshare-pid 116s + echo -n 'expect EPERM: ' 116s expect EPERM: + test -n '' 116s + CAP= 116s + cat /etc/shadow 116s cat: /etc/shadow: Permission denied (os error 13) 116s + bwrap --bind / / --tmpfs /tmp --unshare-pid --unshare-net --proc /proc --bind /etc/shadow /tmp/foo cat /tmp/foo 116s cat: /tmp/foo: Permission denied (os error 13) 116s + cat /etc/shadow 116s cat: /etc/shadow: Permission denied (os error 13) 116s + bwrap --bind / / --tmpfs /tmp --unshare-pid --unshare-net --proc /proc --bind /etc/shadow /tmp/foo cat /etc/shadow 116s cat: /etc/shadow: Permission denied (os error 13) 116s + ok 'cannot read /etc/shadow with --unshare-pid' 116s + test_count=17 116s + echo ok 17 'cannot read /etc/shadow with --unshare-pid' 116s + '[' x/root/.bashrc '!=' x ']' 116s + echo -n 'expect EPERM: ' 116s expect EPERM: + bwrap --bind / / --tmpfs /tmp --unshare-pid --unshare-net --proc /proc --dev /dev --bind /root/.bashrc /tmp/foo cat /tmp/foo 116s ok 17 cannot read /etc/shadow with --unshare-pid 116s bwrap: Can't find source path /root/.bashrc: Permission denied 116s + ok 'cannot read /root/.bashrc with --unshare-pid' 116s + test_count=18 116s + echo ok 18 'cannot read /root/.bashrc with --unshare-pid' 116s + bwrap --bind / / --tmpfs /tmp --unshare-pid --dir /tmp/dir --symlink dir /tmp/link --bind /etc /tmp/link true 116s ok 18 cannot read /root/.bashrc with --unshare-pid 116s ok 19 can bind a destination over a symlink 116s + ok 'can bind a destination over a symlink' 116s + test_count=19 116s + echo ok 19 'can bind a destination over a symlink' 116s + for ALT in "" "--unshare-user-try" "--unshare-pid" "--unshare-user-try --unshare-pid" 116s + '[' x '!=' x ']' 116s + ok_skip 'no FUSE support' 116s + ok '# SKIP' 'no FUSE support' 116s + test_count=20 116s + echo ok 20 '# SKIP' 'no FUSE support' 116s + bwrap --bind / / --tmpfs /tmp --unshare-user-try --unshare-pid --proc /proc true 116s ok 20 # SKIP no FUSE support 116s + ok 'can mount /proc with --unshare-user-try --unshare-pid' 116s + test_count=21 116s + echo ok 21 'can mount /proc with --unshare-user-try --unshare-pid' 116s + bwrap --bind / / --tmpfs /tmp --unshare-user-try --unshare-pid --unshare-net --proc /proc --dev /dev true 116s ok 21 can mount /proc with --unshare-user-try --unshare-pid 116s + ok 'can unshare network, create new /dev with --unshare-user-try --unshare-pid' 116s + test_count=22 116s + echo ok 22 'can unshare network, create new /dev with --unshare-user-try --unshare-pid' 116s + echo -n 'expect EPERM: ' 116s expect EPERM: + test -n '' 116s + CAP= 116s + cat /etc/shadow 116s ok 22 can unshare network, create new /dev with --unshare-user-try --unshare-pid 116s cat: /etc/shadow: Permission denied (os error 13) 116s + bwrap --bind / / --tmpfs /tmp --unshare-user-try --unshare-pid --unshare-net --proc /proc --bind /etc/shadow /tmp/foo cat /tmp/foo 116s cat: /tmp/foo: Permission denied (os error 13) 116s + cat /etc/shadow 116s cat: /etc/shadow: Permission denied (os error 13) 116s + bwrap --bind / / --tmpfs /tmp --unshare-user-try --unshare-pid --unshare-net --proc /proc --bind /etc/shadow /tmp/foo cat /etc/shadow 116s cat: /etc/shadow: Permission denied (os error 13) 116s + ok 'cannot read /etc/shadow with --unshare-user-try --unshare-pid' 116s + test_count=23 116s + echo ok 23 'cannot read /etc/shadow with --unshare-user-try --unshare-pid' 116s + '[' x/root/.bashrc '!=' x ']' 116s + echo -n 'expect EPERM: ' 116s expect EPERM: + bwrap --bind / / --tmpfs /tmp --unshare-user-try --unshare-pid --unshare-net --proc /proc --dev /dev --bind /root/.bashrc /tmp/foo cat /tmp/foo 116s ok 23 cannot read /etc/shadow with --unshare-user-try --unshare-pid 116s bwrap: Can't find source path /root/.bashrc: Permission denied 116s + ok 'cannot read /root/.bashrc with --unshare-user-try --unshare-pid' 116s + test_count=24 117s + echo ok 24 'cannot read /root/.bashrc with --unshare-user-try --unshare-pid' 117s + bwrap --bind / / --tmpfs /tmp --unshare-user-try --unshare-pid --dir /tmp/dir --symlink dir /tmp/link --bind /etc /tmp/link true 117s + ok 'can bind a destination over a symlink' 117s + test_count=25 117s + echo ok 25 'can bind a destination over a symlink' 117s + rm -f ./symlink 117s ++ pwd 117s ok 24 cannot read /root/.bashrc with --unshare-user-try --unshare-pid 117s ok 25 can bind a destination over a symlink 117s ++ pwd 117s ++ pwd 117s + bwrap --bind / / --tmpfs /tmp --ro-bind / / --bind /var/tmp/tap-test.jW1sOg /var/tmp/tap-test.jW1sOg --symlink /dev/null /var/tmp/tap-test.jW1sOg/symlink true 117s + readlink ./symlink 117s + assert_file_has_content target.txt /dev/null 117s + fpath=target.txt 117s + shift 117s + for re in "$@" 117s + grep -q -e /dev/null target.txt 117s + ok '--symlink works' 117s + test_count=26 117s + echo ok 26 '--symlink works' 117s ++ pwd 117s ok 26 --symlink works 117s ++ pwd 117s ++ pwd 117s + bwrap --bind / / --tmpfs /tmp --ro-bind / / --bind /var/tmp/tap-test.jW1sOg /var/tmp/tap-test.jW1sOg --symlink /dev/null /var/tmp/tap-test.jW1sOg/symlink true 117s ok 27 --symlink is idempotent 117s + ok '--symlink is idempotent' 117s + test_count=27 117s + echo ok 27 '--symlink is idempotent' 117s ++ pwd 117s ++ pwd 117s ++ pwd 117s + bwrap --bind / / --tmpfs /tmp --ro-bind / / --bind /var/tmp/tap-test.jW1sOg /var/tmp/tap-test.jW1sOg --symlink /dev/full /var/tmp/tap-test.jW1sOg/symlink true 117s + assert_file_has_content err.txt 'Can'\''t make symlink .*: existing destination is /dev/null' 117s + fpath=err.txt 117s + shift 117s + for re in "$@" 117s + grep -q -e 'Can'\''t make symlink .*: existing destination is /dev/null' err.txt 117s + ok '--symlink doesn'\''t overwrite a conflicting symlink' 117s + test_count=28 117s + echo ok 28 '--symlink doesn'\''t overwrite a conflicting symlink' 117s + bwrap --bind / / --tmpfs /tmp --unshare-pid --dev /dev ls -al /dev/stdin /dev/stdout /dev/stderr /dev/null /dev/random /dev/urandom /dev/fd /dev/core 117s ok 28 --symlink doesn't overwrite a conflicting symlink 117s + ok 'all expected devices were created' 117s + test_count=29 117s + echo ok 29 'all expected devices were created' 117s + bwrap --bind / / --tmpfs /tmp --unshare-pid --as-pid-1 --bind / / bash -c 'echo $$' 117s ok 29 all expected devices were created 117s + assert_file_has_content as_pid_1.txt 1 117s + fpath=as_pid_1.txt 117s + shift 117s + for re in "$@" 117s + grep -q -e 1 as_pid_1.txt 117s + ok 'can run as pid 1' 117s + test_count=30 117s + echo ok 30 'can run as pid 1' 117s + bwrap --bind / / --tmpfs /tmp --unshare-all --info-fd 42 --json-status-fd 43 -- bash -c 'exit 42' 117s ok 30 can run as pid 1 117s + assert_file_has_content info.json '"child-pid": [0-9]' 117s + fpath=info.json 117s + shift 117s + for re in "$@" 117s + grep -q -e '"child-pid": [0-9]' info.json 117s + assert_file_has_content json-status.json '"child-pid": [0-9]' 117s + fpath=json-status.json 117s + shift 117s + for re in "$@" 117s + grep -q -e '"child-pid": [0-9]' json-status.json 117s + assert_file_has_content_literal json-status.json '"exit-code": 42' 117s + fpath=json-status.json 117s + shift 117s + for s in "$@" 117s + grep -q -F -e '"exit-code": 42' json-status.json 117s + ok 'info and json-status fd' 117s + test_count=31 117s + echo ok 31 'info and json-status fd' 117s ++ bwrap --bind / / --tmpfs /tmp --proc /proc --unshare-all --info-fd 42 --json-status-fd 43 -- bash -c 'stat -L -c "%n %i" /proc/self/ns/*' 117s ok 31 info and json-status fd 117s + DATA=$'/proc/self/ns/cgroup 4026532157\n/proc/self/ns/ipc 4026532153\n/proc/self/ns/mnt 4026532148\n/proc/self/ns/net 4026532207\n/proc/self/ns/pid 4026532154\n/proc/self/ns/pid_for_children 4026532154\n/proc/self/ns/time 4026531834\n/proc/self/ns/time_for_children 4026531834\n/proc/self/ns/user 4026532147\n/proc/self/ns/uts 4026532150' 117s + for NS in "ipc" "mnt" "net" "pid" "uts" 117s ++ echo $'/proc/self/ns/cgroup 4026532157\n/proc/self/ns/ipc 4026532153\n/proc/self/ns/mnt 4026532148\n/proc/self/ns/net 4026532207\n/proc/self/ns/pid 4026532154\n/proc/self/ns/pid_for_children 4026532154\n/proc/self/ns/time 4026531834\n/proc/self/ns/time_for_children 4026531834\n/proc/self/ns/user 4026532147\n/proc/self/ns/uts 4026532150' 117s ++ grep /proc/self/ns/ipc 117s ++ awk '{print $2}' 117s + want=4026532153 117s + assert_file_has_content info.json 4026532153 117s + fpath=info.json 117s + shift 117s + for re in "$@" 117s + grep -q -e 4026532153 info.json 117s + assert_file_has_content json-status.json 4026532153 117s + fpath=json-status.json 117s + shift 117s + for re in "$@" 117s + grep -q -e 4026532153 json-status.json 117s + for NS in "ipc" "mnt" "net" "pid" "uts" 117s ++ echo $'/proc/self/ns/cgroup 4026532157\n/proc/self/ns/ipc 4026532153\n/proc/self/ns/mnt 4026532148\n/proc/self/ns/net 4026532207\n/proc/self/ns/pid 4026532154\n/proc/self/ns/pid_for_children 4026532154\n/proc/self/ns/time 4026531834\n/proc/self/ns/time_for_children 4026531834\n/proc/self/ns/user 4026532147\n/proc/self/ns/uts 4026532150' 117s ++ grep /proc/self/ns/mnt 117s ++ awk '{print $2}' 117s + want=4026532148 117s + assert_file_has_content info.json 4026532148 117s + fpath=info.json 117s + shift 117s + for re in "$@" 117s + grep -q -e 4026532148 info.json 117s + assert_file_has_content json-status.json 4026532148 117s + fpath=json-status.json 117s + shift 117s + for re in "$@" 117s + grep -q -e 4026532148 json-status.json 117s + for NS in "ipc" "mnt" "net" "pid" "uts" 117s ++ echo $'/proc/self/ns/cgroup 4026532157\n/proc/self/ns/ipc 4026532153\n/proc/self/ns/mnt 4026532148\n/proc/self/ns/net 4026532207\n/proc/self/ns/pid 4026532154\n/proc/self/ns/pid_for_children 4026532154\n/proc/self/ns/time 4026531834\n/proc/self/ns/time_for_children 4026531834\n/proc/self/ns/user 4026532147\n/proc/self/ns/uts 4026532150' 117s ++ grep /proc/self/ns/net 117s ++ awk '{print $2}' 117s + want=4026532207 117s + assert_file_has_content info.json 4026532207 117s + fpath=info.json 117s + shift 117s + for re in "$@" 117s + grep -q -e 4026532207 info.json 117s + assert_file_has_content json-status.json 4026532207 117s + fpath=json-status.json 117s + shift 117s + for re in "$@" 117s + grep -q -e 4026532207 json-status.json 117s + for NS in "ipc" "mnt" "net" "pid" "uts" 117s ++ echo $'/proc/self/ns/cgroup 4026532157\n/proc/self/ns/ipc 4026532153\n/proc/self/ns/mnt 4026532148\n/proc/self/ns/net 4026532207\n/proc/self/ns/pid 4026532154\n/proc/self/ns/pid_for_children 4026532154\n/proc/self/ns/time 4026531834\n/proc/self/ns/time_for_children 4026531834\n/proc/self/ns/user 4026532147\n/proc/self/ns/uts 4026532150' 117s ++ grep /proc/self/ns/pid 117s ++ awk '{print $2}' 117s + want=$'4026532154\n4026532154' 117s + assert_file_has_content info.json $'4026532154\n4026532154' 117s + fpath=info.json 117s + shift 117s + for re in "$@" 117s + grep -q -e $'4026532154\n4026532154' info.json 117s + assert_file_has_content json-status.json $'4026532154\n4026532154' 117s + fpath=json-status.json 117s + shift 117s + for re in "$@" 117s + grep -q -e $'4026532154\n4026532154' json-status.json 117s + for NS in "ipc" "mnt" "net" "pid" "uts" 117s ++ echo $'/proc/self/ns/cgroup 4026532157\n/proc/self/ns/ipc 4026532153\n/proc/self/ns/mnt 4026532148\n/proc/self/ns/net 4026532207\n/proc/self/ns/pid 4026532154\n/proc/self/ns/pid_for_children 4026532154\n/proc/self/ns/time 4026531834\n/proc/self/ns/time_for_children 4026531834\n/proc/self/ns/user 4026532147\n/proc/self/ns/uts 4026532150' 117s ++ grep /proc/self/ns/uts 117s ++ awk '{print $2}' 117s + want=4026532150 117s + assert_file_has_content info.json 4026532150 117s + fpath=info.json 117s + shift 117s + for re in "$@" 117s + grep -q -e 4026532150 info.json 117s + assert_file_has_content json-status.json 4026532150 117s + fpath=json-status.json 117s + shift 117s + for re in "$@" 117s + grep -q -e 4026532150 json-status.json 117s + ok 'namespace id info in info and json-status fd' 117s + test_count=32 117s + echo ok 32 'namespace id info in info and json-status fd' 117s ok 32 namespace id info in info and json-status fd 117s + command -v strace 117s + strace -h 117s + grep -v -e default 117s + grep -e fault 117s + strace -o /dev/null -f -e trace=prctl -e fault=prctl:when=39 bwrap --bind / / --tmpfs /tmp --die-with-parent --json-status-fd 42 true 117s bwrap: Dropping capability 38 from bounds: Function not implemented 117s + assert_not_file_has_content json-status.json '"exit-code": [0-9]' 117s + fpath=json-status.json 117s + shift 117s + for re in "$@" 117s + grep -q -e '"exit-code": [0-9]' json-status.json 117s + ok 'pre-exec failure doesn'\''t include exit-code in json-status' 117s + test_count=33 117s + echo ok 33 'pre-exec failure doesn'\''t include exit-code in json-status' 117s + notanexecutable=/ 117s + bwrap --bind / / --tmpfs /tmp --json-status-fd 42 / 117s ok 33 pre-exec failure doesn't include exit-code in json-status 117s bwrap: execvp /: Permission denied 117s + true 117s + assert_not_file_has_content json-status.json '"exit-code": [0-9]' 117s + fpath=json-status.json 117s + shift 117s + for re in "$@" 117s + grep -q -e '"exit-code": [0-9]' json-status.json 117s + ok 'exec failure doesn'\''t include exit-code in json-status' 117s + test_count=34 117s + echo ok 34 'exec failure doesn'\''t include exit-code in json-status' 117s ok 34 exec failure doesn't include exit-code in json-status 117s + test -n '' 117s + BWRAP_RECURSE='bwrap --unshare-user --uid 0 --gid 0 --cap-add ALL --bind / / --bind /proc /proc' 117s + bwrap --unshare-user --uid 0 --gid 0 --cap-add ALL --bind / / --bind /proc /proc -- /proc/self/exe --unshare-all --bind / / --bind /proc /proc echo hello 117s bwrap: No permissions to create new namespace, likely because the kernel does not allow non-privileged user namespaces. See or . 117s ++ report_err 117s ++ local exit_status=1 117s Unexpected nonzero exit status 1 while running: $BWRAP_RECURSE -- /proc/self/exe --unshare-all --bind / / --bind /proc /proc echo hello > recursive_proc.txt 117s + cleanup 117s + test -n '' 117s + test -f /var/tmp/tap-test.jW1sOg/.testtmp 117s + rm -rf /var/tmp/tap-test.jW1sOg 117s autopkgtest [02:08:39]: test upstream: -----------------------] 117s autopkgtest [02:08:39]: test upstream: - - - - - - - - - - results - - - - - - - - - - 117s upstream FAIL non-zero exit status 1 118s autopkgtest [02:08:40]: test userns: preparing testbed 118s Reading package lists... 118s Building dependency tree... 118s Reading state information... 118s Solving dependencies... 118s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 119s autopkgtest [02:08:41]: test userns: [----------------------- 119s # Unshare user ID 119s ok 1 - "bwrap --ro-bind / / --unshare-user --uid 2 --gid 3 /usr/bin/id -u" should succeed 119s ok 2 119s ok 3 - "bwrap --ro-bind / / --unshare-user --uid 2 --gid 3 /usr/bin/id -g" should succeed 119s ok 4 119s ok 5 - "bwrap --ro-bind / / --unshare-user --uid 2 --gid 3 /bin/sh -c ls -l /etc/passwd" should succeed 119s ok 6 119s # Combine new /dev with new user namespace (#71) 119s ok 7 - "bwrap --ro-bind / / --unshare-user --uid 2 --gid 3 --dev /dev /bin/sh -c echo /dev/*" should succeed 119s ok 8 119s ok 9 119s ok 10 - "bwrap --ro-bind / / --unshare-user --uid 2 --gid 3 --dev /dev /usr/bin/id -u" should succeed 119s ok 11 119s ok 12 - "bwrap --ro-bind / / --unshare-user --uid 2 --gid 3 --dev /dev /usr/bin/id -g" should succeed 119s ok 13 119s 1..13 119s autopkgtest [02:08:41]: test userns: -----------------------] 120s autopkgtest [02:08:42]: test userns: - - - - - - - - - - results - - - - - - - - - - 120s userns PASS 120s autopkgtest [02:08:42]: test upstream-as-root: preparing testbed 120s Reading package lists... 120s Building dependency tree... 120s Reading state information... 120s Solving dependencies... 121s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 121s autopkgtest [02:08:43]: test upstream-as-root: [----------------------- 122s +++ dirname tests/test-run.sh 122s ++ cd tests 122s ++ pwd 122s + srcd=/tmp/autopkgtest.Rh67c1/build.fhc/src/tests 122s + . /tmp/autopkgtest.Rh67c1/build.fhc/src/tests/libtest.sh 122s ++ set -e 122s ++ '[' -n '' ']' 122s +++ dirname tests/test-run.sh 122s ++ test_srcdir=tests 122s ++ '[' -n '' ']' 122s +++ dirname tests/test-run.sh 122s ++ test_builddir=tests 122s ++ . tests/libtest-core.sh 122s +++ type -p locale 122s ++++ grep -iEe '^(C|en_US)\.(UTF-8|utf8)$' 122s ++++ locale -a 122s ++++ head -n1 122s +++ export LC_ALL=C.utf8 122s +++ LC_ALL=C.utf8 122s +++ '[' -z C.utf8 ']' 122s +++ unset LANGUAGE 122s +++ export G_DEBUG=fatal-warnings 122s +++ G_DEBUG=fatal-warnings 122s +++ trap report_err ERR 122s ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/sbin:/sbin 122s +++ mktemp -d /var/tmp/tap-test.XXXXXX 122s ++ tempdir=/var/tmp/tap-test.9fakvF 122s ++ touch /var/tmp/tap-test.9fakvF/.testtmp 122s ++ trap cleanup EXIT 122s ++ cd /var/tmp/tap-test.9fakvF 122s ++ : bwrap 122s +++ type -p bwrap 122s ++ test -u /usr/bin/bwrap 122s ++ FUSE_DIR= 122s +++ grep ' fuse[. ]' /proc/self/mounts 122s ++++ id -u 122s +++ awk '{print $2}' 122s +++ grep user_id=0 122s +++ id -u 122s ++ test 0 = 0 122s ++ is_uidzero=true 122s ++ UNREADABLE=/root/.bashrc 122s ++ true 122s ++ UNREADABLE= 122s ++ '[' /lib -ef /usr/lib ']' 122s ++ BWRAP_RO_HOST_ARGS=$'--ro-bind /usr /usr\n --ro-bind /etc /etc\n --dir /var/tmp\n --symlink usr/lib /lib\n --symlink usr/lib64 /lib64\n --symlink usr/bin /bin\n --symlink usr/sbin /sbin\n --proc /proc\n --dev /dev' 122s ++ RUN='bwrap --bind / / --tmpfs /tmp' 122s ++ '[' -z '' ']' 122s ++ bwrap --bind / / --tmpfs /tmp true 122s ++ basename tests/test-run.sh 122s + bn=test-run.sh 122s + test_count=0 122s + bwrap --help 122s + assert_file_has_content help.txt 'usage: bwrap' 122s + fpath=help.txt 122s + shift 122s + for re in "$@" 122s + grep -q -e 'usage: bwrap' help.txt 122s + ok 'Help works' 122s + test_count=1 122s + echo ok 1 'Help works' 122s + for ALT in "" "--unshare-user-try" "--unshare-pid" "--unshare-user-try --unshare-pid" 122s + '[' x '!=' x ']' 122s + ok_skip 'no FUSE support' 122s + ok '# SKIP' 'no FUSE support' 122s + test_count=2 122s + echo ok 2 '# SKIP' 'no FUSE support' 122s + bwrap --bind / / --tmpfs /tmp --proc /proc true 122s ok 1 Help works 122s ok 2 # SKIP no FUSE support 122s ok 3 can mount /proc with 122s + ok 'can mount /proc with ' 122s + test_count=3 122s + echo ok 3 'can mount /proc with ' 122s + bwrap --bind / / --tmpfs /tmp --unshare-net --proc /proc --dev /dev true 122s ok 4 can unshare network, create new /dev with 122s + ok 'can unshare network, create new /dev with ' 122s + test_count=4 122s + echo ok 4 'can unshare network, create new /dev with ' 122s + echo -n 'expect EPERM: ' 122s expect EPERM: + test -n '' 122s + CAP= 122s + cat /etc/shadow 122s + cat /etc/shadow 122s ok 5 cannot read /etc/shadow with 122s ok 6 # SKIP not sure what unreadable file to use 122s + ok 'cannot read /etc/shadow with ' 122s + test_count=5 122s + echo ok 5 'cannot read /etc/shadow with ' 122s + '[' x '!=' x ']' 122s + ok_skip 'not sure what unreadable file to use' 122s + ok '# SKIP' 'not sure what unreadable file to use' 122s + test_count=6 122s + echo ok 6 '# SKIP' 'not sure what unreadable file to use' 122s + bwrap --bind / / --tmpfs /tmp --dir /tmp/dir --symlink dir /tmp/link --bind /etc /tmp/link true 122s ok 7 can bind a destination over a symlink 122s ok 8 # SKIP no FUSE support 122s + ok 'can bind a destination over a symlink' 122s + test_count=7 122s + echo ok 7 'can bind a destination over a symlink' 122s + for ALT in "" "--unshare-user-try" "--unshare-pid" "--unshare-user-try --unshare-pid" 122s + '[' x '!=' x ']' 122s + ok_skip 'no FUSE support' 122s + ok '# SKIP' 'no FUSE support' 122s + test_count=8 122s + echo ok 8 '# SKIP' 'no FUSE support' 122s + bwrap --bind / / --tmpfs /tmp --unshare-user-try --proc /proc true 122s ok 9 can mount /proc with --unshare-user-try 122s + ok 'can mount /proc with --unshare-user-try' 122s + test_count=9 122s + echo ok 9 'can mount /proc with --unshare-user-try' 122s + bwrap --bind / / --tmpfs /tmp --unshare-user-try --unshare-net --proc /proc --dev /dev true 122s ok 10 can unshare network, create new /dev with --unshare-user-try 122s + ok 'can unshare network, create new /dev with --unshare-user-try' 122s + test_count=10 122s + echo ok 10 'can unshare network, create new /dev with --unshare-user-try' 122s + echo -n 'expect EPERM: ' 122s expect EPERM: + test -n '' 122s + CAP= 122s + cat /etc/shadow 122s + cat /etc/shadow 122s ok 11 cannot read /etc/shadow with --unshare-user-try 122s + ok 'cannot read /etc/shadow with --unshare-user-try' 122s + test_count=11 122s + echo ok 11 'cannot read /etc/shadow with --unshare-user-try' 122s + '[' x '!=' x ']' 122s + ok_skip 'not sure what unreadable file to use' 122s + ok '# SKIP' 'not sure what unreadable file to use' 122s + test_count=12 122s + echo ok 12 '# SKIP' 'not sure what unreadable file to use' 122s + bwrap --bind / / --tmpfs /tmp --unshare-user-try --dir /tmp/dir --symlink dir /tmp/link --bind /etc /tmp/link true 122s ok 12 # SKIP not sure what unreadable file to use 122s + ok 'can bind a destination over a symlink' 122s + test_count=13 122s + echo ok 13 'can bind a destination over a symlink' 122s + for ALT in "" "--unshare-user-try" "--unshare-pid" "--unshare-user-try --unshare-pid" 122s + '[' x '!=' x ']' 122s + ok_skip 'no FUSE support' 122s + ok '# SKIP' 'no FUSE support' 122s + test_count=14 122s + echo ok 14 '# SKIP' 'no FUSE support' 122s + bwrap --bind / / --tmpfs /tmp --unshare-pid --proc /proc true 122s ok 13 can bind a destination over a symlink 122s ok 14 # SKIP no FUSE support 122s + ok 'can mount /proc with --unshare-pid' 122s + test_count=15 122s + echo ok 15 'can mount /proc with --unshare-pid' 122s + bwrap --bind / / --tmpfs /tmp --unshare-pid --unshare-net --proc /proc --dev /dev true 122s ok 15 can mount /proc with --unshare-pid 122s ok 16 can unshare network, create new /dev with --unshare-pid 122s + ok 'can unshare network, create new /dev with --unshare-pid' 122s + test_count=16 122s + echo ok 16 'can unshare network, create new /dev with --unshare-pid' 122s + echo -n 'expect EPERM: ' 122s expect EPERM: + test -n '' 122s + CAP= 122s + cat /etc/shadow 122s + cat /etc/shadow 122s + ok 'cannot read /etc/shadow with --unshare-pid' 122s + test_count=17 122s + echo ok 17 'cannot read /etc/shadow with --unshare-pid' 122s + '[' x '!=' x ']' 122s + ok_skip 'not sure what unreadable file to use' 122s + ok '# SKIP' 'not sure what unreadable file to use' 122s + test_count=18 122s + echo ok 18 '# SKIP' 'not sure what unreadable file to use' 122s + bwrap --bind / / --tmpfs /tmp --unshare-pid --dir /tmp/dir --symlink dir /tmp/link --bind /etc /tmp/link true 122s ok 17 cannot read /etc/shadow with --unshare-pid 122s ok 18 # SKIP not sure what unreadable file to use 122s ok 19 can bind a destination over a symlink 122s ok 20 # SKIP no FUSE support 122s + ok 'can bind a destination over a symlink' 122s + test_count=19 122s + echo ok 19 'can bind a destination over a symlink' 122s + for ALT in "" "--unshare-user-try" "--unshare-pid" "--unshare-user-try --unshare-pid" 122s + '[' x '!=' x ']' 122s + ok_skip 'no FUSE support' 122s + ok '# SKIP' 'no FUSE support' 122s + test_count=20 122s + echo ok 20 '# SKIP' 'no FUSE support' 122s + bwrap --bind / / --tmpfs /tmp --unshare-user-try --unshare-pid --proc /proc true 122s + ok 'can mount /proc with --unshare-user-try --unshare-pid' 122s + test_count=21 122s + echo ok 21 'can mount /proc with --unshare-user-try --unshare-pid' 122s + bwrap --bind / / --tmpfs /tmp --unshare-user-try --unshare-pid --unshare-net --proc /proc --dev /dev true 122s ok 21 can mount /proc with --unshare-user-try --unshare-pid 122s ok 22 can unshare network, create new /dev with --unshare-user-try --unshare-pid 122s + ok 'can unshare network, create new /dev with --unshare-user-try --unshare-pid' 122s + test_count=22 122s + echo ok 22 'can unshare network, create new /dev with --unshare-user-try --unshare-pid' 122s + echo -n 'expect EPERM: ' 122s expect EPERM: + test -n '' 122s + CAP= 122s + cat /etc/shadow 122s + cat /etc/shadow 122s ok 23 cannot read /etc/shadow with --unshare-user-try --unshare-pid 122s ok 24 # SKIP not sure what unreadable file to use 122s + ok 'cannot read /etc/shadow with --unshare-user-try --unshare-pid' 122s + test_count=23 122s + echo ok 23 'cannot read /etc/shadow with --unshare-user-try --unshare-pid' 122s + '[' x '!=' x ']' 122s + ok_skip 'not sure what unreadable file to use' 122s + ok '# SKIP' 'not sure what unreadable file to use' 122s + test_count=24 122s + echo ok 24 '# SKIP' 'not sure what unreadable file to use' 122s + bwrap --bind / / --tmpfs /tmp --unshare-user-try --unshare-pid --dir /tmp/dir --symlink dir /tmp/link --bind /etc /tmp/link true 122s ok 25 can bind a destination over a symlink 122s + ok 'can bind a destination over a symlink' 122s + test_count=25 122s + echo ok 25 'can bind a destination over a symlink' 122s + rm -f ./symlink 122s ++ pwd 122s ++ pwd 122s ++ pwd 122s + bwrap --bind / / --tmpfs /tmp --ro-bind / / --bind /var/tmp/tap-test.9fakvF /var/tmp/tap-test.9fakvF --symlink /dev/null /var/tmp/tap-test.9fakvF/symlink true 122s + readlink ./symlink 122s + assert_file_has_content target.txt /dev/null 122s + fpath=target.txt 122s + shift 122s + for re in "$@" 122s + grep -q -e /dev/null target.txt 122s ok 26 --symlink works 122s + ok '--symlink works' 122s + test_count=26 122s + echo ok 26 '--symlink works' 122s ++ pwd 122s ++ pwd 122s ++ pwd 122s + bwrap --bind / / --tmpfs /tmp --ro-bind / / --bind /var/tmp/tap-test.9fakvF /var/tmp/tap-test.9fakvF --symlink /dev/null /var/tmp/tap-test.9fakvF/symlink true 122s ok 27 --symlink is idempotent 122s + ok '--symlink is idempotent' 122s + test_count=27 122s + echo ok 27 '--symlink is idempotent' 122s ++ pwd 122s ++ pwd 122s ++ pwd 122s + bwrap --bind / / --tmpfs /tmp --ro-bind / / --bind /var/tmp/tap-test.9fakvF /var/tmp/tap-test.9fakvF --symlink /dev/full /var/tmp/tap-test.9fakvF/symlink true 122s + assert_file_has_content err.txt 'Can'\''t make symlink .*: existing destination is /dev/null' 122s + fpath=err.txt 122s + shift 122s + for re in "$@" 122s + grep -q -e 'Can'\''t make symlink .*: existing destination is /dev/null' err.txt 122s ok 28 --symlink doesn't overwrite a conflicting symlink 122s + ok '--symlink doesn'\''t overwrite a conflicting symlink' 122s + test_count=28 122s + echo ok 28 '--symlink doesn'\''t overwrite a conflicting symlink' 122s + bwrap --bind / / --tmpfs /tmp --unshare-pid --dev /dev ls -al /dev/stdin /dev/stdout /dev/stderr /dev/null /dev/random /dev/urandom /dev/fd /dev/core 122s + ok 'all expected devices were created' 122s + test_count=29 122s + echo ok 29 'all expected devices were created' 122s + bwrap --bind / / --tmpfs /tmp --unshare-pid --as-pid-1 --bind / / bash -c 'echo $$' 122s ok 29 all expected devices were created 122s + assert_file_has_content as_pid_1.txt 1 122s + fpath=as_pid_1.txt 122s + shift 122s + for re in "$@" 122s + grep -q -e 1 as_pid_1.txt 122s ok 30 can run as pid 1 122s + ok 'can run as pid 1' 122s + test_count=30 122s + echo ok 30 'can run as pid 1' 122s + bwrap --bind / / --tmpfs /tmp --unshare-all --info-fd 42 --json-status-fd 43 -- bash -c 'exit 42' 122s + assert_file_has_content info.json '"child-pid": [0-9]' 122s + fpath=info.json 122s + shift 122s + for re in "$@" 122s + grep -q -e '"child-pid": [0-9]' info.json 122s ok 31 info and json-status fd 122s + assert_file_has_content json-status.json '"child-pid": [0-9]' 122s + fpath=json-status.json 122s + shift 122s + for re in "$@" 122s + grep -q -e '"child-pid": [0-9]' json-status.json 122s + assert_file_has_content_literal json-status.json '"exit-code": 42' 122s + fpath=json-status.json 122s + shift 122s + for s in "$@" 122s + grep -q -F -e '"exit-code": 42' json-status.json 122s + ok 'info and json-status fd' 122s + test_count=31 122s + echo ok 31 'info and json-status fd' 122s ++ bwrap --bind / / --tmpfs /tmp --proc /proc --unshare-all --info-fd 42 --json-status-fd 43 -- bash -c 'stat -L -c "%n %i" /proc/self/ns/*' 122s + DATA=$'/proc/self/ns/cgroup 4026532155\n/proc/self/ns/ipc 4026532151\n/proc/self/ns/mnt 4026532148\n/proc/self/ns/net 4026532213\n/proc/self/ns/pid 4026532152\n/proc/self/ns/pid_for_children 4026532152\n/proc/self/ns/time 4026531834\n/proc/self/ns/time_for_children 4026531834\n/proc/self/ns/user 4026532147\n/proc/self/ns/uts 4026532150' 122s + for NS in "ipc" "mnt" "net" "pid" "uts" 122s ++ grep /proc/self/ns/ipc 122s ++ echo $'/proc/self/ns/cgroup 4026532155\n/proc/self/ns/ipc 4026532151\n/proc/self/ns/mnt 4026532148\n/proc/self/ns/net 4026532213\n/proc/self/ns/pid 4026532152\n/proc/self/ns/pid_for_children 4026532152\n/proc/self/ns/time 4026531834\n/proc/self/ns/time_for_children 4026531834\n/proc/self/ns/user 4026532147\n/proc/self/ns/uts 4026532150' 122s ++ awk '{print $2}' 122s + want=4026532151 122s + assert_file_has_content info.json 4026532151 122s + fpath=info.json 122s + shift 122s + for re in "$@" 122s + grep -q -e 4026532151 info.json 122s + assert_file_has_content json-status.json 4026532151 122s + fpath=json-status.json 122s + shift 122s + for re in "$@" 122s + grep -q -e 4026532151 json-status.json 122s + for NS in "ipc" "mnt" "net" "pid" "uts" 122s ++ grep /proc/self/ns/mnt 122s ++ echo $'/proc/self/ns/cgroup 4026532155\n/proc/self/ns/ipc 4026532151\n/proc/self/ns/mnt 4026532148\n/proc/self/ns/net 4026532213\n/proc/self/ns/pid 4026532152\n/proc/self/ns/pid_for_children 4026532152\n/proc/self/ns/time 4026531834\n/proc/self/ns/time_for_children 4026531834\n/proc/self/ns/user 4026532147\n/proc/self/ns/uts 4026532150' 122s ++ awk '{print $2}' 122s + want=4026532148 122s + assert_file_has_content info.json 4026532148 122s + fpath=info.json 122s + shift 122s + for re in "$@" 122s + grep -q -e 4026532148 info.json 122s + assert_file_has_content json-status.json 4026532148 122s + fpath=json-status.json 122s + shift 122s + for re in "$@" 122s + grep -q -e 4026532148 json-status.json 122s + for NS in "ipc" "mnt" "net" "pid" "uts" 122s ++ grep /proc/self/ns/net 122s ++ awk '{print $2}' 122s ++ echo $'/proc/self/ns/cgroup 4026532155\n/proc/self/ns/ipc 4026532151\n/proc/self/ns/mnt 4026532148\n/proc/self/ns/net 4026532213\n/proc/self/ns/pid 4026532152\n/proc/self/ns/pid_for_children 4026532152\n/proc/self/ns/time 4026531834\n/proc/self/ns/time_for_children 4026531834\n/proc/self/ns/user 4026532147\n/proc/self/ns/uts 4026532150' 122s + want=4026532213 122s + assert_file_has_content info.json 4026532213 122s + fpath=info.json 122s + shift 122s + for re in "$@" 122s + grep -q -e 4026532213 info.json 122s + assert_file_has_content json-status.json 4026532213 122s + fpath=json-status.json 122s + shift 122s + for re in "$@" 122s + grep -q -e 4026532213 json-status.json 122s + for NS in "ipc" "mnt" "net" "pid" "uts" 122s ++ grep /proc/self/ns/pid 122s ++ echo $'/proc/self/ns/cgroup 4026532155\n/proc/self/ns/ipc 4026532151\n/proc/self/ns/mnt 4026532148\n/proc/self/ns/net 4026532213\n/proc/self/ns/pid 4026532152\n/proc/self/ns/pid_for_children 4026532152\n/proc/self/ns/time 4026531834\n/proc/self/ns/time_for_children 4026531834\n/proc/self/ns/user 4026532147\n/proc/self/ns/uts 4026532150' 122s ++ awk '{print $2}' 122s + want=$'4026532152\n4026532152' 122s + assert_file_has_content info.json $'4026532152\n4026532152' 122s + fpath=info.json 122s + shift 122s + for re in "$@" 122s + grep -q -e $'4026532152\n4026532152' info.json 122s + assert_file_has_content json-status.json $'4026532152\n4026532152' 122s + fpath=json-status.json 122s + shift 122s + for re in "$@" 122s + grep -q -e $'4026532152\n4026532152' json-status.json 122s + for NS in "ipc" "mnt" "net" "pid" "uts" 122s ++ echo $'/proc/self/ns/cgroup 4026532155\n/proc/self/ns/ipc 4026532151\n/proc/self/ns/mnt 4026532148\n/proc/self/ns/net 4026532213\n/proc/self/ns/pid 4026532152\n/proc/self/ns/pid_for_children 4026532152\n/proc/self/ns/time 4026531834\n/proc/self/ns/time_for_children 4026531834\n/proc/self/ns/user 4026532147\n/proc/self/ns/uts 4026532150' 122s ++ grep /proc/self/ns/uts 122s ++ awk '{print $2}' 122s + want=4026532150 122s + assert_file_has_content info.json 4026532150 122s + fpath=info.json 122s + shift 122s + for re in "$@" 122s + grep -q -e 4026532150 info.json 122s ok 32 namespace id info in info and json-status fd 122s + assert_file_has_content json-status.json 4026532150 122s + fpath=json-status.json 122s + shift 122s + for re in "$@" 122s + grep -q -e 4026532150 json-status.json 122s + ok 'namespace id info in info and json-status fd' 122s + test_count=32 122s + echo ok 32 'namespace id info in info and json-status fd' 122s + command -v strace 122s + grep -v -e default 122s + grep -e fault 122s + strace -h 122s + strace -o /dev/null -f -e trace=prctl -e fault=prctl:when=39 bwrap --bind / / --tmpfs /tmp --die-with-parent --json-status-fd 42 true 122s ok 33 pre-exec failure doesn't include exit-code in json-status 122s bwrap: Adding ambient capability 36: Function not implemented 122s + assert_not_file_has_content json-status.json '"exit-code": [0-9]' 122s + fpath=json-status.json 122s + shift 122s + for re in "$@" 122s + grep -q -e '"exit-code": [0-9]' json-status.json 122s + ok 'pre-exec failure doesn'\''t include exit-code in json-status' 122s + test_count=33 122s + echo ok 33 'pre-exec failure doesn'\''t include exit-code in json-status' 122s + notanexecutable=/ 122s + bwrap --bind / / --tmpfs /tmp --json-status-fd 42 / 122s bwrap: execvp /: Permission denied 122s + true 122s + assert_not_file_has_content json-status.json '"exit-code": [0-9]' 122s + fpath=json-status.json 122s + shift 122s + for re in "$@" 122s + grep -q -e '"exit-code": [0-9]' json-status.json 122s ok 34 exec failure doesn't include exit-code in json-status 122s + ok 'exec failure doesn'\''t include exit-code in json-status' 122s + test_count=34 122s + echo ok 34 'exec failure doesn'\''t include exit-code in json-status' 122s + test -n '' 122s + BWRAP_RECURSE='bwrap --unshare-user --uid 0 --gid 0 --cap-add ALL --bind / / --bind /proc /proc' 122s + bwrap --unshare-user --uid 0 --gid 0 --cap-add ALL --bind / / --bind /proc /proc -- /proc/self/exe --unshare-all --bind / / --bind /proc /proc echo hello 122s bwrap: No permissions to create new namespace, likely because the kernel does not allow non-privileged user namespaces. See or . 122s ++ report_err 122s ++ local exit_status=1 122s Unexpected nonzero exit status 1 while running: $BWRAP_RECURSE -- /proc/self/exe --unshare-all --bind / / --bind /proc /proc echo hello > recursive_proc.txt 122s + cleanup 122s + test -n '' 122s + test -f /var/tmp/tap-test.9fakvF/.testtmp 122s + rm -rf /var/tmp/tap-test.9fakvF 122s autopkgtest [02:08:44]: test upstream-as-root: -----------------------] 122s autopkgtest [02:08:44]: test upstream-as-root: - - - - - - - - - - results - - - - - - - - - - 122s upstream-as-root FAIL non-zero exit status 1 123s autopkgtest [02:08:45]: @@@@@@@@@@@@@@@@@@@@ summary 123s basic PASS 123s dev PASS 123s net PASS 123s upstream FAIL non-zero exit status 1 123s userns PASS 123s upstream-as-root FAIL non-zero exit status 1