reproducible debian: build.sh: apply the 120m timeout directly to diffoscope…

reproducible debian: build.sh: apply the 120m timeout directly to diffoscope instead of the wrapping schroot We are seeing schroot errors like the following, that I believe would be fixed by SIGTERMing diffoscope directly instead of schroot → sh → diffoscope. + local TIMEOUT=120m + DBDSUITE=unstable + '[' unstable = experimental ']' + set -x ++ mktemp --tmpdir=/srv/reproducible-results/rbuild-debian/tmp.OQJmsWHPbc -d dbd-tmp-XXXXXXX + local TEMP=/srv/reproducible-results/rbuild-debian/tmp.OQJmsWHPbc/dbd-tmp-aiOGwgn ++ schroot --begin-session -c chroot:jenkins-reproducible-unstable-diffoscope + local session=jenkins-reproducible-unstable-diffoscope-ebd86728-8ca4-4419-8c00-e9b25b6f286f ++ schroot --directory /srv/reproducible-results/rbuild-debian/tmp.OQJmsWHPbc --run-session -c jenkins-reproducible-unstable-diffoscope-ebd86728-8ca4-4419-8c00-e9b25b6f286f diffoscope -- --version + DIFFOSCOPE='diffoscope 96' + log_info 'diffoscope 96 will be used to compare the two builds:' + _log I: 'diffoscope 96 will be used to compare the two builds:' + local prefix=I: + shift 1 + tee -a /var/lib/jenkins/userContent/reproducible/debian/rbuild/unstable/arm64/gcc-5_5.5.0-12.rbuild.log ++ date -u + echo -e 'Wed Jun 20 09:34:15 UTC 2018 I: diffoscope 96 will be used to compare the two builds:' Wed Jun 20 09:34:15 UTC 2018 I: diffoscope 96 will be used to compare the two builds: + set +e + set -x + timeout 120m nice schroot --directory /srv/reproducible-results/rbuild-debian/tmp.OQJmsWHPbc --run-session -c jenkins-reproducible-unstable-diffoscope-ebd86728-8ca4-4419-8c00-e9b25b6f286f -- sh -c 'export TMPDIR=/srv/reproducible-results/rbuild-debian/tmp.OQJmsWHPbc/dbd-tmp-aiOGwgn ; diffoscope --html /srv/reproducible-results/rbuild-debian/tmp.OQJmsWHPbc/gcc-5_5.5.0-12.diffoscope.html --text /srv/reproducible-results/rbuild-debian/tmp.OQJmsWHPbc/gcc-5_5.5.0-12.diffoscope.txt --profile=- /srv/reproducible-results/rbuild-debian/tmp.OQJmsWHPbc/b1/gcc-5_5.5.0-12_arm64.changes /srv/reproducible-results/rbuild-debian/tmp.OQJmsWHPbc/b2/gcc-5_5.5.0-12_arm64.changes' + RESULT=124 + false + set +x E: Caught signal ‘Terminated’: terminating immediately E: Caught signal ‘Terminated’ E: 10mount: umount: /run/schroot/mount/jenkins-reproducible-unstable-diffoscope-ebd86728-8ca4-4419-8c00-e9b25b6f286f/srv/reproducible-results: target is busy E: 10mount: (In some cases useful info about processes that E: 10mount: use the device is found by lsof(8) or fuser(1).) E: 10mount: umount: /run/schroot/mount/jenkins-reproducible-unstable-diffoscope-ebd86728-8ca4-4419-8c00-e9b25b6f286f: target is busy E: 10mount: (In some cases useful info about processes that E: 10mount: use the device is found by lsof(8) or fuser(1).) E: 10mount: rmdir: failed to remove '/var/run/schroot/mount/jenkins-reproducible-unstable-diffoscope-ebd86728-8ca4-4419-8c00-e9b25b6f286f': Device or resource busy E: jenkins-reproducible-unstable-diffoscope-ebd86728-8ca4-4419-8c00-e9b25b6f286f: Chroot setup failed: stage=setup-stop Starting cleanup. Signed-off-by: Mattia Rizzolo's avatarMattia Rizzolo <mattia@debian.org>
parent 968699f6
......@@ -392,14 +392,12 @@ call_diffoscope_on_changes_files() {
# filter lines describing .buildinfo files from .changes file
sed -i -e '/^ [a-f0-9]\{32,64\} .*\.buildinfo$/d' b{1,2}/$CHANGES
local TMPLOG=$(mktemp --tmpdir=$TMPDIR)
local TIMEOUT="120m"
local TIMEOUT="120m" # note that below there is another instance of this + 5 minutes
DBDSUITE=$SUITE
if [ "$SUITE" = "experimental" ] ; then
# there is no extra diffoscope-schroot for experimental ( because we specical case ghc enough already )
DBDSUITE="unstable"
fi
# to debug diffoscope/schroot problems
set -x
# diffoscope temporary files are going to end up in this
local TEMP=$(mktemp --tmpdir=$TMPDIR -d dbd-tmp-XXXXXXX)
local session="$(schroot --begin-session -c "chroot:jenkins-reproducible-$DBDSUITE-diffoscope")"
......@@ -407,11 +405,11 @@ call_diffoscope_on_changes_files() {
log_info "$DIFFOSCOPE will be used to compare the two builds:"
set +e
set -x
( timeout $TIMEOUT nice schroot \
( timeout 125m nice schroot \
--directory $TMPDIR \
--run-session \
-c "$session" \
-- sh -c "export TMPDIR=$TEMP ; diffoscope \
-- sh -c "export TMPDIR=$TEMP ; timeout $TIMEOUT diffoscope \
--html $TMPDIR/${DBDREPORT} \
--text $TMPDIR/$DBDTXT \
--profile=- \
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment