Bug#1059725: autopkgtest: isolation-machine test fails: nearly all tests in podman-init fail

2024-07-01 Thread Simon McVittie
Control: clone -1 -2
Control: reassign -2 adduser 3.137
Control: retitle -2 adduser: logger --id fails with "Operation not permitted" 
in unprivileged containers

Context for adduser maintainers: autopkgtest creates a "testbed"
(chroot, container or VM) via a pluggable backend, and tries to create an
unprivileged user in the testbed so it can run tests as that user, using
adduser (if installed in the testbed) or plain useradd (otherwise). Peter
Colberg reported that when autopkgtest is using the podman backend,
in a "full system" container that is running systemd as pid 1, this
fails, because `logger --id` requires the ability to log with fake
SCM_CREDENTIALS (pretending to be the adduser process rather than its
child), and unprivileged podman containers do not normally have the
necessary capability (CAP_SYS_ADMIN) to achieve that.

Reproducer (this requires the ability to run podman, but no elevated
privileges):

$ autopkgtest-build-podman --init=systemd --release=sid
$ autopkgtest hello -- podman --init localhost/autopkgtest/systemd/debian:sid

I see that either `logger id` exits with status 0 or `adduser` ignores
a nonzero exit status, so in fact the only reason this fails is that
autopkgtest is being extra-careful and refusing to continue if its
create-normal-user script produces output on stderr.

On Sun, 30 Jun 2024 at 17:17:47 -0400, Peter Colberg wrote:
> The permission error is triggered by logger's --id option:
> 
>   podman exec "$container" strace -f adduser --disabled-login --gecos 
> "Temporary autopkgtest user,,," test
> 
>   [pid   370] execve("/bin/logger", ["logger", "--id=369", "--tag=adduser", 
> "--priority=user.crit", "", "--", "The user `test' already exists."], 
> 0x55efa22252d0 /* 7 vars */) = 0
> 
> When specifying an existing process, this fails in podman:
> 
>   podman exec "$container" logger --id=1 Testing
> 
>   logger: send message failed: Operation not permitted
> 
> See also https://github.com/jonathanio/update-systemd-resolved/issues/25
> 
> I believe the permission is CAP_SYS_ADMIN; from capabilities(7):
> 
> > forge PID when passing socket credentials via UNIX domain sockets;
> 
> Starting the container with CAP_SYS_ADMIN resolves the issue:
> 
>   container=$(podman run --cap-add=sys_admin --detach=true 
> autopkgtest/systemd/debian:sid /sbin/init)

As far as I know, running podman/Docker containers that can exercise
CAP_SYS_ADMIN is discouraged, because it reduces hardening against sandbox
escapes that can elevate privileges from root in the container to the uid
that ran the container on the host system. I don't know whether
CAP_SYS_ADMIN is sufficient on its own to carry out that privilege
elevation attack. I believe CAP_SYS_ADMIN *would* be sufficient to escape
from Docker.

With autopkgtest hat on, I would prefer not to make it add CAP_SYS_ADMIN,
so that we can be somewhat confident that the code under test cannot escape
from the container (or at least that if it could, that would be treated as
a podman security vulnerability).

> I am unsure whether this should be considered a bug in adduser

I think it should (let's use the cloned bug for this).

For example adduser could check for CAP_SYS_ADMIN and only use --id
if that capability is available, or it could log via Sys::Syslog if
available (falling back to stderr or to logger(1) without --id if the
full perl package isn't installed).

It could also be argued that this is a logger (util-linux) bug, because
logger(1) says "otherwise the socket credentials are not modified and
the problem is silently ignored", but this bug report indicates that
the problem is in fact not *silently* ignored.

> if not,
> if adduser is correct in assuming CAP_SYS_ADMIN, dropping adduser from
> create-normal-user and always using useradd seems a reasonable solution.

If the adduser limitation cannot be fixed soon, then I think it might
also be wise to do one of these in autopkgtest:

- avoid adduser and use useradd directly
  (or possibly systemd-sysusers if it happens to be installed)

- or tolerate output on stderr from adduser

- or avoid adduser conditionally, if `setpriv --dump` reports that we
  don't have sys_admin in our capability bounding set (but I don't know
  how old `setpriv --dump` is, and autopkgtest is meant to support being
  run against very old testbeds)

Let's keep the original bug number #1059725 for this.

smcv



Bug#1059725: autopkgtest: isolation-machine test fails: nearly all tests in podman-init fail

2024-06-30 Thread Peter Colberg
On Sun, Jun 30, 2024 at 03:57:40PM -0400, Peter Colberg wrote:
> > Nearly all of them fail in the way quoted below, I haven't figured out where
> > these log errors come from: """logger: send message failed: Operation not
> > permitted""" while running `create-normal-user`.
> 
> I encountered this issue with autopkgtest-virt-podman (5.35~bpo12+1)
> in a KVM. While I did not debug the root cause yet,

The permission error is triggered by logger's --id option:

  podman exec "$container" strace -f adduser --disabled-login --gecos 
"Temporary autopkgtest user,,," test

  [pid   370] execve("/bin/logger", ["logger", "--id=369", "--tag=adduser", 
"--priority=user.crit", "", "--", "The user `test' already exists."], 
0x55efa22252d0 /* 7 vars */) = 0

When specifying an existing process, this fails in podman:

  podman exec "$container" logger --id=1 Testing

  logger: send message failed: Operation not permitted

See also https://github.com/jonathanio/update-systemd-resolved/issues/25

I believe the permission is CAP_SYS_ADMIN; from capabilities(7):

> forge PID when passing socket credentials via UNIX domain sockets;

Starting the container with CAP_SYS_ADMIN resolves the issue:

  container=$(podman run --cap-add=sys_admin --detach=true 
autopkgtest/systemd/debian:sid /sbin/init)

  podman exec "$container" logger --id=1 Testing
  podman exec "$container" journalctl -n 1

  Jun 30 21:05:38 d31b39f4ebbc root[1]: Testing

Running autopkgtest with CAP_SYS_ADMIN:

  autopkgtest-build-podman --image=debian:sid --init=systemd
  autopkgtest -- podman --init autopkgtest/systemd/debian:sid 
--cap-add=sys_admin

I am unsure whether this should be considered a bug in adduser; if not,
if adduser is correct in assuming CAP_SYS_ADMIN, dropping adduser from
create-normal-user and always using useradd seems a reasonable solution.

Thanks,
Peter



Bug#1059725: autopkgtest: isolation-machine test fails: nearly all tests in podman-init fail

2024-06-30 Thread Peter Colberg
Hi Paul,

On Sat, Dec 30, 2023 at 08:26:03PM +0100, Paul Gevers wrote:
> Source: autopkgtest
> Version: 5.31.2
> Severity: important
> User: debian...@lists.debian.org
> Usertags: isolation-machine
> 
> Hi,
> 
> I recently added support for isolation-machine testing on ci.d.n and when I
> ran the autopkgtest of src:autopkgtest, it failed. It failed the podman-init
> test and out of 44 tests, only 2 passed (PodmanInitRunner.test_user and
> PodmanInitRunner.test_user_needs_root)
> 
> That's not very hopeful for the --podman --init flavor of
> autopkgtest-virt-docker.
> 
> Nearly all of them fail in the way quoted below, I haven't figured out where
> these log errors come from: """logger: send message failed: Operation not
> permitted""" while running `create-normal-user`.

I encountered this issue with autopkgtest-virt-podman (5.35~bpo12+1)
in a KVM. While I did not debug the root cause yet, the issue may be
worked around by creating the test user when building the image.

  autopkgtest-build-podman --image=debian:sid --init=systemd 
--post-command='adduser --disabled-login --gecos "Temporary autopkgtest 
user,,," test'

  autopkgtest-build-podman --image=debian:sid --init=systemd 
--post-command='useradd --comment "Temporary autopkgtest user" --create-home 
--expiredate "" --user-group test'

  autopkgtest -- podman --init --debug autopkgtest/systemd/debian:sid

The issue may be reproduced without autopkgtest using

  autopkgtest-build-podman --image=debian:sid --init=systemd

  container=$(podman run --detach=true autopkgtest/systemd/debian:sid 
/sbin/init)

  podman exec "$container" adduser --disabled-login --gecos "Temporary 
autopkgtest user,,," test

  info: Adding user `test' ...
  logger: send message failed: Operation not permitted
  info: Selecting UID/GID from range 1000 to 5 ...
  logger: send message failed: Operation not permitted
  info: Adding new group `test' (1000) ...
  logger: send message failed: Operation not permitted
  info: Adding new user `test' (1000) with group `test (1000)' ...
  logger: send message failed: Operation not permitted
  info: Creating home directory `/home/test' ...
  logger: send message failed: Operation not permitted
  info: Copying files from `/etc/skel' ...
  logger: send message failed: Operation not permitted
  info: Adding new user `test' to supplemental / extra groups `users' ...
  logger: send message failed: Operation not permitted
  info: Adding user `test' to group `users' ...
  logger: send message failed: Operation not permitted

OTOH, useradd does not yield permission errors, hence dropping adduser from
/usr/share/autopkgtest/setup-commands/create-normal-user resolves the issue.

Thanks,
Peter



Bug#1059725: autopkgtest: isolation-machine test fails: nearly all tests in podman-init fail

2024-04-07 Thread Paul Gevers

Control: severity -1 normal
Control: retitle -1 autopkgtest-virt-docker --podman --init unsure

Hi,

On 30-12-2023 8:26 p.m., Paul Gevers wrote:
I recently added support for isolation-machine testing on ci.d.n and 
when I ran the autopkgtest of src:autopkgtest, it failed. It failed the 
podman-init test and out of 44 tests, only 2 passed 
(PodmanInitRunner.test_user and PodmanInitRunner.test_user_needs_root)


That's not very hopeful for the --podman --init flavor of 
autopkgtest-virt-docker.


I have disabled the test in 5.33. However, I have no idea on the status 
of --podman --init.


Paul


OpenPGP_signature.asc
Description: OpenPGP digital signature


Bug#1059725: autopkgtest: isolation-machine test fails: nearly all tests in podman-init fail

2024-02-08 Thread Paul Gevers

Hi,

With debugging on (-ddd to autopkgtest and -d to autopkgtest-virt-qemu):

Unpacking libc6:amd64 (2.37-15~deb13u1) over (2.37-14) ...
Setting up libc6:amd64 (2.37-15~deb13u1) ...
autopkgtest: DBG: timed out on ['/tmp/autopkgtest-qemu.r683hlu9/runcmd'] 
['su', '-s', '/bin/bash', 'debci', '-c', 'set -e; exec 
/tmp/autopkgtest.fmrweI/wrapper.sh --debug 
--artifacts=/tmp/autopkgtest.fmrweI/podman-init-artifacts 
--chdir=/tmp/autopkgtest.fmrweI/build.uT4/src 
--env=DEB_BUILD_OPTIONS=parallel=1 --env=DEBIAN_FRONTEND=noninteractive 
--env=LANG=C.UTF-8 --unset-env=LANGUAGE --unset-env=LC_ADDRESS 
--unset-env=LC_ALL --unset-env=LC_COLLATE --unset-env=LC_CTYPE 
--unset-env=LC_IDENTIFICATION --unset-env=LC_MEASUREMENT 
--unset-env=LC_MESSAGES --unset-env=LC_MONETARY --unset-env=LC_NAME 
--unset-env=LC_NUMERIC --unset-env=LC_PAPER --unset-env=LC_TELEPHONE 
--unset-env=LC_TIME --script-pid-file=/tmp/autopkgtest_script_pid 
--source-profile --stderr=/tmp/autopkgtest.fmrweI/podman-init-stderr 
--stdout=/tmp/autopkgtest.fmrweI/podman-init-stdout 
--tmp=/tmp/autopkgtest.fmrweI/autopkgtest_tmp 
--make-executable=/tmp/autopkgtest.fmrweI/build.uT4/src/debian/tests/podman-init 
-- /tmp/autopkgtest.fmrweI/build.uT4/src/debian/tests/podman-init'] 
(kind: test)
autopkgtest [09:57:15]: ERROR: timed out on command "su -s /bin/bash 
debci -c set -e; exec /tmp/autopkgtest.fmrweI/wrapper.sh --debug 
--artifacts=/tmp/autopkgtest.fmrweI/podman-init-artifacts 
--chdir=/tmp/autopkgtest.fmrweI/build.uT4/src 
--env=DEB_BUILD_OPTIONS=parallel=1 --env=DEBIAN_FRONTEND=noninteractive 
--env=LANG=C.UTF-8 --unset-env=LANGUAGE --unset-env=LC_ADDRESS 
--unset-env=LC_ALL --unset-env=LC_COLLATE --unset-env=LC_CTYPE 
--unset-env=LC_IDENTIFICATION --unset-env=LC_MEASUREMENT 
--unset-env=LC_MESSAGES --unset-env=LC_MONETARY --unset-env=LC_NAME 
--unset-env=LC_NUMERIC --unset-env=LC_PAPER --unset-env=LC_TELEPHONE 
--unset-env=LC_TIME --script-pid-file=/tmp/autopkgtest_script_pid 
--source-profile --stderr=/tmp/autopkgtest.fmrweI/podman-init-stderr 
--stdout=/tmp/autopkgtest.fmrweI/podman-init-stdout 
--tmp=/tmp/autopkgtest.fmrweI/autopkgtest_tmp 
--make-executable=/tmp/autopkgtest.fmrweI/build.uT4/src/debian/tests/podman-init 
-- /tmp/autopkgtest.fmrweI/build.uT4/src/debian/tests/podman-init" 
(kind: test)

autopkgtest [09:57:16]: test podman-init: ---]
autopkgtest: DBG: testbed executing test finished with exit status 1
autopkgtest: DBG: sending command to testbed: copyup 
/tmp/autopkgtest.fmrweI/podman-init-stdout 
/tmp/autopkgtest.output.3_np2w13/podman-init-stdout
autopkgtest-virt-qemu: DBG: executing copyup 
/tmp/autopkgtest.fmrweI/podman-init-stdout 
/tmp/autopkgtest.output.3_np2w13/podman-init-stdout
autopkgtest-virt-qemu: DBG: ['cmdls', 
"(['/tmp/autopkgtest-qemu.r683hlu9/runcmd', 'sh', '-ec', 'cat 
autopkgtest-virt-qemu: DBG: ['srcstdin', "<_io.BufferedReader 
name='/dev/null'>", 'deststdout', "<_io.BufferedWriter 
name='/tmp/autopkgtest.output.3_np2w13/podman-init-stdout'>", 
'devnull_read', <_io.BufferedReader name='/dev/null'>]
autopkgtest-virt-qemu: DBG:  +< /tmp/autopkgtest-qemu.r683hlu9/runcmd sh 
-ec cat 
autopkgtest-virt-qemu: DBG:  +> cat
autopkgtest-virt-qemu: DBG:  +>?
autopkgtest: DBG: got reply from testbed: timeout
autopkgtest: DBG: sending command to testbed: auxverb_debug_fail
autopkgtest-virt-qemu: DBG: executing auxverb_debug_fail
autopkgtest: DBG: got reply from testbed: ok
autopkgtest: DBG: TestbedFailure sent `auxverb_debug_fail', got 
`timeout', expected `ok...'

autopkgtest: DBG: testbed stop
autopkgtest: DBG: testbed close, scratch=/tmp/autopkgtest.fmrweI
autopkgtest: DBG: sending command to testbed: close
autopkgtest-virt-qemu: DBG: executing close
autopkgtest-virt-qemu: DBG: cleanup...
qemu-system-x86_64: terminating on signal 15 from pid 1549098 
(/usr/bin/python3)

autopkgtest: DBG: got reply from testbed: ok
autopkgtest: DBG: sending command to testbed: quit
autopkgtest-virt-qemu: DBG: executing quit
autopkgtest-virt-qemu: DBG: cleanup...
autopkgtest: WARNING: Copying up test output timed out, ignoring
autopkgtest [10:02:16]: test podman-init:  - - - - - - - - - - results - 
- - - - - - - - -

podman-init  FLAKY timed out
autopkgtest: DBG: Skipping remaining log processing and testbed restore 
after timeout
autopkgtest: DBG: needs_reset, previously=False, requested by 
run_tests() line 214

autopkgtest [10:02:16]: test schroot: preparing testbed
autopkgtest: DBG: testbed reset: modified=True, 
deps_installed=['autodep8', 'autopkgtest', 'build-essential', 'buildah', 
'ca-certificates', 'catatonit | tini | dumb-init', 'debhelper (>= 13)', 
'debootstrap', 'devscripts', 
'golang-github-containernetworking-plugin-dnsname', 'podman', 
'python3-distro-info', 'slirp4netns', 'uidmap'], deps_new=['autodep8', 
'autopkgtest', 'build-essential', 'debhelper (>= 13)', 'debootstrap', 
'devscripts', 'fakeroot', 'sbuild', 'schroot']

autopkgtest: DBG: testbed reset
autopkgtest: DBG: sending command to 

Bug#1059725: autopkgtest: isolation-machine test fails: nearly all tests in podman-init fail

2024-02-08 Thread Paul Gevers

Hi,

Currently the autopkgtest of autopkgtest is in a very sad state on amd64 
on ci.d.n because of podman-init. The test times out after:


5171s Preparing to unpack .../libc6_2.37-14_amd64.deb ...
5171s Unpacking libc6:amd64 (2.37-14) over (2.37-13) ...
5171s Setting up libc6:amd64 (2.37-14) ...

with

15146s autopkgtest [04:14:17]: ERROR: timed out on command "su -s 
/bin/bash debci -c set -e; exec /tmp/autopkgtest.fAxx5b/wrapper.sh 
--artifacts=/tmp/autopkgtest.fAxx5b/podman-init-artifacts 
--chdir=/tmp/autopkgtest.fAxx5b/build.ae2/src 
--env=DEB_BUILD_OPTIONS=parallel=1 --env=DEBIAN_FRONTEND=noninteractive 
--env=LANG=C.UTF-8 --unset-env=LANGUAGE --unset-env=LC_ADDRESS 
--unset-env=LC_ALL --unset-env=LC_COLLATE --unset-env=LC_CTYPE 
--unset-env=LC_IDENTIFICATION --unset-env=LC_MEASUREMENT 
--unset-env=LC_MESSAGES --unset-env=LC_MONETARY --unset-env=LC_NAME 
--unset-env=LC_NUMERIC --unset-env=LC_PAPER --unset-env=LC_TELEPHONE 
--unset-env=LC_TIME --script-pid-file=/tmp/autopkgtest_script_pid 
--source-profile --stderr=/tmp/autopkgtest.fAxx5b/podman-init-stderr 
--stdout=/tmp/autopkgtest.fAxx5b/podman-init-stdout 
--tmp=/tmp/autopkgtest.fAxx5b/autopkgtest_tmp 
--make-executable=/tmp/autopkgtest.fAxx5b/build.ae2/src/debian/tests/podman-init 
-- /tmp/autopkgtest.fAxx5b/build.ae2/src/debian/tests/podman-init" 
(kind: test)

15146s autopkgtest [04:14:17]: test podman-init: ---]
15446s qemu-system-x86_64: terminating on signal 15 from pid 2725202 
(/usr/bin/python3)


Following that it fails to run the next test:

15447s autopkgtest: WARNING: Copying up test output timed out, ignoring
15447s autopkgtest [04:19:18]: test podman-init:  - - - - - - - - - - 
results - - - - - - - - - -

15447s podman-init  FLAKY timed out
15447s autopkgtest [04:19:18]: test schroot: preparing testbed
15447s autopkgtest [04:19:18]: ERROR: testbed failure: cannot send to 
testbed: 'NoneType' object has no attribute 'stdin'


Which cause the test to fail with an tmpfail exit code. I'm seriously 
wondering if the failure to setup the testbed for the next test is 
actually a generic autopkgtest problem (maybe of the qemu backend). What 
do people think?


I'm going to disable the podman-init test completely until somebody 
looks into this and for the short term I've put autopkgtest on the 
reject_list of ci.d.n for amd64.


Paul


OpenPGP_signature.asc
Description: OpenPGP digital signature


Bug#1059725: autopkgtest: isolation-machine test fails: nearly all tests in podman-init fail

2023-12-30 Thread Paul Gevers

Source: autopkgtest
Version: 5.31.2
Severity: important
User: debian...@lists.debian.org
Usertags: isolation-machine

Hi,

I recently added support for isolation-machine testing on ci.d.n and 
when I ran the autopkgtest of src:autopkgtest, it failed. It failed the 
podman-init test and out of 44 tests, only 2 passed 
(PodmanInitRunner.test_user and PodmanInitRunner.test_user_needs_root)


That's not very hopeful for the --podman --init flavor of 
autopkgtest-virt-docker.


Nearly all of them fail in the way quoted below, I haven't figured out 
where these log errors come from: """logger: send message failed: 
Operation not permitted""" while running `create-normal-user`.


Currently a full log lives here: 
https://ci.debian.net/data/autopkgtest/testing/amd64/a/autopkgtest/41372619/log.gz


The quote below is from me running the test inside a qemu testbed.

Paul

19:22:05 I: Started ./tests/autopkgtest 
PodmanInitRunner.test_skippable_success
19:22:06 O: test_skippable_success 
(__main__.PodmanInitRunner.test_skippable_success)

19:22:09 O: A skippable test succeeds ... FAIL
19:22:09 O:
19:22:09 O: 
==
19:22:09 O: FAIL: test_skippable_success 
(__main__.PodmanInitRunner.test_skippable_success)

19:22:09 O: A skippable test succeeds
19:22:09 O: 
--

19:22:09 O: Traceback (most recent call last):
19:22:09 O:   File 
"/tmp/autopkgtest.BNQ3Xt/build.9s6/real-tree/./tests/autopkgtest", line 
455, in test_skippable_success

19:22:09 O: self.assertEqual(code, 0, err)
19:22:09 O: AssertionError: 20 != 0 : autopkgtest: DBG: autopkgtest 
options: Namespace(override_control=None, only_tests=[], 
skip_tests=None, built_binaries=False, 
packages=['/tmp/autopkgtest.test.e19zee88/testpkg'], output_dir=None, 
logfile=None, summary=None, verbosity=2, setup_commands=[], 
setup_commands_boot=[], add_apt_sources=[], add_apt_releases=[], 
pin_packages=[], apt_pocket=[], apt_default_release=None, 
enable_apt_fallback=True, copy=[], env=[], ignore_restrictions=[], 
user=None, gainroot=None, shell_fail=False, shell=False, timeout=0, 
timeout_short=None, timeout_copy=None, timeout_install=None, 
timeout_test=None, timeout_build=None, timeout_factor=1.0, 
set_lang=None, auto_control=True, build_parallel=None, 
needs_internet='run', validate=False)
19:22:09 O: autopkgtest: DBG: virt-runner arguments: ['podman', 
'--init', 'autopkgtest/systemd/debian:testing']
19:22:09 O: autopkgtest: DBG: actions: [('unbuilt-tree', 
'/tmp/autopkgtest.test.e19zee88/testpkg', False)]

19:22:09 O: autopkgtest: DBG: build binaries: False
19:22:09 O: autopkgtest: DBG: testbed init
19:22:09 O: autopkgtest [19:22:06]: starting date and time: 2023-12-30 
19:22:06+

19:22:09 O: autopkgtest [19:22:06]: version 5.31.2
19:22:09 O: autopkgtest [19:22:06]: host host; command line: 
/usr/bin/autopkgtest -d --no-built-binaries 
/tmp/autopkgtest.test.e19zee88/testpkg -- podman --init 
autopkgtest/systemd/debian:testing

19:22:09 O: autopkgtest: DBG: got reply from testbed: ok
19:22:09 O: autopkgtest: DBG: testbed open, scratch=None
19:22:09 O: autopkgtest: DBG: sending command to testbed: open
19:22:09 O: autopkgtest: DBG: got reply from testbed: ok 
/tmp/autopkgtest-virt-docker.shared.3sui98zn/downtmp
19:22:09 O: autopkgtest: DBG: sending command to testbed: 
print-execute-command
19:22:09 O: autopkgtest: DBG: got reply from testbed: ok 
podman,exec,-i,2afe2dad7c01b2607f2184eb63ee03dee0172a73a104bee26d971fd1092a81df,env,-i,bash,-c,set%20-a%3B%20%5B%20-r%20/etc/environment%20%5D%20%26%26%20.%20/etc/environment%202%3E/dev/null%20%7C%7C%20true%3B%20%5B%20-r%20/etc/default/locale%20%5D%20%26%26%20.%20/etc/default/locale%202%3E/dev/null%20%7C%7C%20true%3B%20%5B%20-r%20/etc/profile%20%5D%20%26%26%20.%20/etc/profile%202%3E/dev/null%20%7C%7C%20true%3B%20set%20%2Ba%3B%22%24%40%22%3B%20RC%3D%24%3F%3B%20%5B%20%24RC%20%21%3D%20255%20%5D%20%7C%7C%20RC%3D253%3B%20set%20-e%3Bmyout%3D%24%28readlink%20/proc/%24%24/fd/1%29%3Bmyerr%3D%24%28readlink%20/proc/%24%24/fd/2%29%3Bmyout%3D%22%24%7Bmyout/%5B/%5C%5C%5B%7D%22%3B%20myout%3D%22%24%7Bmyout/%5D/%5C%5C%5D%7D%22%3Bmyerr%3D%22%24%7Bmyerr/%5B/%5C%5C%5B%7D%22%3B%20myerr%3D%22%24%7Bmyerr/%5D/%5C%5C%5D%7D%22%3BPS%3D%24%28ls%20-l%20/proc/%5B0-9%5D%2A/fd/%2A%202%3E/dev/null%20%7C%20sed%20-nr%20%27%5C%23%28%27%22%24myout%22%27%7C%27%22%24myerr%22%27%29%23%20%7B%20s%23%5E.%2A/proc/%28%5B0-9%5D%2B%29/.%2A%24%23%5C1%23%3B%20p%7D%27%7Csort%20-u%29%3BKILL%3D%22%22%3Bfor%20pid%20in%20%24PS%3B%20do%20%20%20%20%5B%20%24pid%20-ne%20%24%24%20%5D%20%26%26%20%5B%20%24pid%20-ne%20%24PPID%20%5D%20%7C%7C%20continue%3B%20%20%20%20KILL%3D%22%24KILL%20%24pid%22%3Bdone%3B%5B%20-z%20%22%24KILL%22%20%5D%20%7C%7C%20kill%20-9%20%24KILL%20%3E/dev/null%202%3E%261%20%7C%7C%20true%3Bexit%20%24RC,--

19:22:09 O: autopkgtest: DBG: sending command to testbed: capabilities
19:22:09 O: autopkgtest: DBG: got reply from testbed: ok