[Bug 1904406] Re: autopkgtest hangs in timedated test
Balint Reczey
1904406 at bugs.launchpad.net
Mon Nov 16 15:04:18 UTC 2020
** Changed in: auto-package-testing
Status: New => Invalid
** Bug watch added: Debian Bug tracker #974705
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=974705
** Also affects: dash (Debian) via
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=974705
Importance: Unknown
Status: Unknown
** Changed in: systemd (Ubuntu)
Status: New => Invalid
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/1904406
Title:
autopkgtest hangs in timedated test
Status in Auto Package Testing:
Invalid
Status in systemd package in Ubuntu:
Invalid
Status in dash package in Debian:
Unknown
Bug description:
https://autopkgtest.ubuntu.com/packages/s/systemd/hirsute/amd64
autopkgtest [01:32:23]: test timedated: [-----------------------
original tz: Etc/UTC
timedatectl works
change timezone
reset timezone to original
no adjtime file
UTC set in adjtime file
non-zero values in adjtime file
fourth line adjtime file
no final newline in adjtime file
only one line in adjtime file
only one line in adjtime file, no final newline
only two lines in adjtime file
only two lines in adjtime file, no final newline
unknown value in 3rd line of adjtime file
disable NTP
enable NTP
autopkgtest [04:19:03]: ERROR: timed out on command
....
It seems autopkgtest script is executed with additional machinery creating child processes for the script:
root 1305 1296 0 13:25 ttyS1 00:00:00 /bin/sh /tmp/autopkgtest.POBPF7/build.9KD/src/debian/tests/timedated
root 1306 1305 0 13:25 ttyS1 00:00:00 bash -c set -e; export USER=`id -nu`; . /etc/profile >/dev/null 2>&1 || true; . ~/.profile >/dev/null 2>&1 || true; buildtree="/tmp/autopkgtest.POBPF7/build.9KD/src"; mkdir -p -m 1777 -- "/tmp/autopkgtest.POBPF7/timedated-artifacts"; export AUTOPKGTEST_ARTIFACTS="/tmp/autopkgtest.POBPF7/timedated-artifacts"; export ADT_ARTIFACTS="$AUTOPKGTEST_ARTIFACTS"; mkdir -p -m 755 "/tmp/autopkgtest.POBPF7/autopkgtest_tmp"; export AUTOPKGTEST_TMP="/tmp/autopkgtest.POBPF7/autopkgtest_tmp"; export ADTTMP="$AUTOPKGTEST_TMP"; export DEBIAN_FRONTEND=noninteractive; export LANG=C.UTF-8; export DEB_BUILD_OPTIONS=parallel=1; unset LANGUAGE LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT LC_IDENTIFICATION LC_ALL;rm -f /tmp/autopkgtest_script_pid; set -C; echo $$ > /tmp/autopkgtest_script_pid; set +C; trap "rm -f /tmp/autopkgtest_script_pid" EXIT INT QUIT PIPE; cd "$buildtree"; export AUTOPKGTEST_NORMAL_USER=ubuntu; export ADT_NORMAL_USER=ubuntu; chmod +x /tmp/autopkgtest.POBPF7/build.9KD/src/debian/tests/timedated; touch /tmp/autopkgtest.POBPF7/timedated-stdout /tmp/autopkgtest.POBPF7/timedated-stderr; /tmp/autopkgtest.POBPF7/build.9KD/src/debian/tests/timedated 2> >(tee -a /tmp/autopkgtest.POBPF7/timedated-stderr >&2) > >(tee -a /tmp/autopkgtest.POBPF7/timedated-stdout);
root 1307 1305 0 13:25 ttyS1 00:00:00 bash -c set -e; export USER=`id -nu`; . /etc/profile >/dev/null 2>&1 || true; . ~/.profile >/dev/null 2>&1 || true; buildtree="/tmp/autopkgtest.POBPF7/build.9KD/src"; mkdir -p -m 1777 -- "/tmp/autopkgtest.POBPF7/timedated-artifacts"; export AUTOPKGTEST_ARTIFACTS="/tmp/autopkgtest.POBPF7/timedated-artifacts"; export ADT_ARTIFACTS="$AUTOPKGTEST_ARTIFACTS"; mkdir -p -m 755 "/tmp/autopkgtest.POBPF7/autopkgtest_tmp"; export AUTOPKGTEST_TMP="/tmp/autopkgtest.POBPF7/autopkgtest_tmp"; export ADTTMP="$AUTOPKGTEST_TMP"; export DEBIAN_FRONTEND=noninteractive; export LANG=C.UTF-8; export DEB_BUILD_OPTIONS=parallel=1; unset LANGUAGE LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT LC_IDENTIFICATION LC_ALL;rm -f /tmp/autopkgtest_script_pid; set -C; echo $$ > /tmp/autopkgtest_script_pid; set +C; trap "rm -f /tmp/autopkgtest_script_pid" EXIT INT QUIT PIPE; cd "$buildtree"; export AUTOPKGTEST_NORMAL_USER=ubuntu; export ADT_NORMAL_USER=ubuntu; chmod +x /tmp/autopkgtest.POBPF7/build.9KD/src/debian/tests/timedated; touch /tmp/autopkgtest.POBPF7/timedated-stdout /tmp/autopkgtest.POBPF7/timedated-stderr; /tmp/autopkgtest.POBPF7/build.9KD/src/debian/tests/timedated 2> >(tee -a /tmp/autopkgtest.POBPF7/timedated-stderr >&2) > >(tee -a /tmp/autopkgtest.POBPF7/timedated-stdout);
This is why wait hangs and this is why waiting only for the killed
child fixes the issue:
@@ -163,7 +163,7 @@ wait_mon() {
done
assert_in "$2" "$(cat $mon)"
kill $MONPID
- wait
+ wait $MONPID
}
I'm fixing this in systemd, but the autopkgtest change could break
other packages as well.
To manage notifications about this bug go to:
https://bugs.launchpad.net/auto-package-testing/+bug/1904406/+subscriptions
More information about the foundations-bugs
mailing list