Bug#1077873: reprotest: Traces back when trying to do a test

Martin Dosch martin at mdosch.de
Mon Aug 5 18:59:34 BST 2024


Hi Chris,

Am 05.08.2024 13:17, schrieb Chris Lamb:
>In particular, whilst there is a traceback on Salsa, it looks like the
>package's testsuite is failing and *that* reprotest traceback is a
>symptom of that rather than a root cause. Is that observation right?

yes, the test fails. I already created an issue upstream. But a failing 
autopkgtest should not make reprotest traceback I guess.

>I wonder if some part of the toolchain doesn't support expanding ~ to
>$HOME.

Good remark, but using the full path doesn't help:

> sudo reprotest --min-cpus=4 --vary=-build_path,domain_host.use_sudo=1 --auto-build /home/martin/build/deb/bash-unit_2.3.1-1.dsc -- schroot unstable-amd64-sbuild
> [SNIP]
> Running hooks in /etc/ca-certificates/update.d...
> done.
> gpgv: Signature made Sat Aug  3 19:55:43 2024 GMT
> gpgv:                using RSA key FD5A92F4208137A4B6680B3D52A57CFCE13D657D
> gpgv: Can't check signature: No public key
> dpkg-source: warning: cannot verify inline signature for ./bash-unit_2.3.1-1.dsc: no acceptable signature found
> dpkg-source: error: cannot fstat file ./bash-unit_2.3.1.orig.tar.gz: No such file or directory
> Traceback (most recent call last):
>   File "/usr/lib/python3/dist-packages/reprotest/__init__.py", line 862, in run
>     return 0 if check_func(*check_args) else 1
>                 ^^^^^^^^^^^^^^^^^^^^^^^
>   File "/usr/lib/python3/dist-packages/reprotest/__init__.py", line 410, in check_auto
>     dist_x0 = proc.send(("control", var_x0))
>               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>   File "/usr/lib/python3/dist-packages/reprotest/__init__.py", line 339, in corun_builds
>     bctx.run_build(testbed, build, os.environ, artifact_pattern, testbed_build_pre, no_clean_on_error)
>   File "/usr/lib/python3/dist-packages/reprotest/__init__.py", line 218, in run_build
>     testbed.check_exec2(build_argv,
>   File "/usr/lib/python3/dist-packages/reprotest/__init__.py", line 63, in check_exec2
>     self.bomb('"%s" failed with status %i' % (' '.join(argv), code),
>   File "/usr/lib/python3/dist-packages/reprotest/__init__.py", line 70, in bomb
>     raise _type(m)
> reprotest.lib.adtlog.AutopkgtestError: "su -p -s /bin/sh root -c set -e; export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin; run_build() {
>     mkdir -p /tmp/reprotest.0IM44G/build-control-aux && \
>     mv /tmp/reprotest.0IM44G/build-control/ /tmp/reprotest.0IM44G/const_build_path && \
>     SETARCH_ARCH=$(uname -m) && \
>     SETARCH_OPTS="$SETARCH_OPTS -R" && \
>     CPU_MAX=$(nproc) && \
>     CPU_MIN=$({ echo $CPU_MAX; echo 4; } | sort -n | head -n1) && \
>     CPU_NUM=$CPU_MIN && \
>     export CPU_LIST="$(echo $(shuf -i0-$((CPU_MAX - 1)) -n$CPU_NUM) | tr ' ' ,)" && \
>     umask 0022 && \
>     export REPROTEST_BUILD_PATH=/tmp/reprotest.0IM44G/const_build_path/ && \
>     export REPROTEST_UMASK=$(umask) && \
>     taskset -a -c $CPU_LIST \
>     setarch $SETARCH_ARCH $SETARCH_OPTS \
>     sh -ec 'cd "$REPROTEST_BUILD_PATH"; unset REPROTEST_BUILD_PATH; umask "$REPROTEST_UMASK"; unset REPROTEST_UMASK; dpkg-source -x "bash-unit_2.3.1-1.dsc" "$(basename "$PWD")" && cd "$(basename "$PWD")" && dpkg-buildpackage --no-sign -b'
> }
> 
> cleanup() {
>     __c=0; \
>     mv /tmp/reprotest.0IM44G/const_build_path /tmp/reprotest.0IM44G/build-control/ || __c=$?; \
>     rm -rf /tmp/reprotest.0IM44G/build-control-aux || __c=$?; \
>     exit $__c
> }
> 
> trap '( cleanup )' HUP INT QUIT ABRT TERM PIPE # FIXME doesn't quite work reliably yet
> 
> if ( run_build ); then ( cleanup ); else
>     __x=$?; # save the exit code of run_build
>     if ( ! false ); then
>         if ( cleanup ); then :; else echo >&2 "cleanup failed with exit code $?"; fi;
>     fi
>     exit $__x
> fi" failed with status 2

Best regards,
Martin


More information about the Reproducible-builds mailing list