Source: faketime Version: 0.9.10-1 Severity: serious User: debian...@lists.debian.org Usertags: regression
Dear maintainer(s),With a recent upload of faketime the autopkgtest of faketime fails in testing when that autopkgtest is run with the binary packages of faketime from unstable. It passes when run with only packages from testing. In tabular form:
pass fail faketime from testing 0.9.10-1 all others from testing from testing I copied some of the output at the bottom of this report.Currently this regression is blocking the migration to testing [1]. Can you please investigate the situation and fix it?
More information about this bug and the reason for filing it can be found on https://wiki.debian.org/ContinuousIntegration/RegressionEmailInformation Paul [1] https://qa.debian.org/excuses.php?package=faketime https://ci.debian.net/data/autopkgtest/testing/amd64/f/faketime/20035213/log.gz Running the test program with no faked time specified $ LD_PRELOAD=/usr/lib/x86_64-linux-gnu/faketime/libfaketime.so.1 ./timetest pthread_cond_timedwait: CLOCK_REALTIME test (Intentionally sleeping 1 second...) pthread_cond_timedwait: CLOCK_MONOTONIC test (Intentionally sleeping 1 second...) (If this test hangs for more than a few seconds, please report your glibc version and system details as FORCE_MONOTONIC_FIX issue at https://github.com/wolfcw/libfaketime) Blocking signal 10 time() : Current date and time: Wed Mar 16 09:11:31 2022 time(NULL) : Seconds since Epoch : 1647421891 ftime() : Current date and time: Wed Mar 16 09:11:31 2022 (Intentionally sleeping 2 seconds...) gettimeofday() : Current date and time: Wed Mar 16 09:11:33 2022 Caught signal 10 clock_gettime(): Current date and time: Wed Mar 16 09:11:33 2022 stat(): mod. time of file './timetest': Wed Mar 16 09:11:27 2022 ============================================================================= Running the test program with absolute date 2003-01-01 10:00:05 specified$ LD_PRELOAD=/usr/lib/x86_64-linux-gnu/faketime/libfaketime.so.1 FAKETIME="2003-01-01 10:00:05" ./timetest
pthread_cond_timedwait: CLOCK_REALTIME test (Intentionally sleeping 1 second...) pthread_cond_timedwait: CLOCK_MONOTONIC test (Intentionally sleeping 1 second...) (If this test hangs for more than a few seconds, please report your glibc version and system details as FORCE_MONOTONIC_FIX issue at https://github.com/wolfcw/libfaketime) Blocking signal 10 time() : Current date and time: Wed Jan 1 10:00:05 2003 time(NULL) : Seconds since Epoch : 1041415205 ftime() : Current date and time: Wed Jan 1 10:00:05 2003 (Intentionally sleeping 2 seconds...) gettimeofday() : Current date and time: Wed Jan 1 10:00:05 2003 Caught signal 10 Caught signal 10 clock_gettime(): Current date and time: Wed Jan 1 10:00:05 2003 stat(): mod. time of file './timetest': Wed Jan 1 10:00:05 2003 ============================================================================= Running the test program with START date @2005-03-29 14:14:14 specified$ LD_PRELOAD=/usr/lib/x86_64-linux-gnu/faketime/libfaketime.so.1 FAKETIME="@2005-03-29 14:14:14" ./timetest
pthread_cond_timedwait: CLOCK_REALTIME test (Intentionally sleeping 1 second...) pthread_cond_timedwait: CLOCK_MONOTONIC test (Intentionally sleeping 1 second...) (If this test hangs for more than a few seconds, please report your glibc version and system details as FORCE_MONOTONIC_FIX issue at https://github.com/wolfcw/libfaketime) Blocking signal 10 time() : Current date and time: Tue Mar 29 14:14:16 2005 time(NULL) : Seconds since Epoch : 1112105656 ftime() : Current date and time: Tue Mar 29 14:14:16 2005 (Intentionally sleeping 2 seconds...) gettimeofday() : Current date and time: Tue Mar 29 14:14:18 2005 Caught signal 10 clock_gettime(): Current date and time: Tue Mar 29 14:14:18 2005 stat(): mod. time of file './timetest': Tue Mar 29 14:14:03 2005 ============================================================================= Running the test program with 10 days negative offset specifiedLD_PRELOAD=/usr/lib/x86_64-linux-gnu/faketime/libfaketime.so.1 FAKETIME="-10d" ./timetest
pthread_cond_timedwait: CLOCK_REALTIME test (Intentionally sleeping 1 second...) pthread_cond_timedwait: CLOCK_MONOTONIC test (Intentionally sleeping 1 second...) (If this test hangs for more than a few seconds, please report your glibc version and system details as FORCE_MONOTONIC_FIX issue at https://github.com/wolfcw/libfaketime) Blocking signal 10 time() : Current date and time: Sun Mar 6 09:11:43 2022 time(NULL) : Seconds since Epoch : 1646557903 ftime() : Current date and time: Sun Mar 6 09:11:43 2022 (Intentionally sleeping 2 seconds...) gettimeofday() : Current date and time: Sun Mar 6 09:11:45 2022 Caught signal 10 clock_gettime(): Current date and time: Sun Mar 6 09:11:45 2022 stat(): mod. time of file './timetest': Sun Mar 6 09:11:27 2022 =============================================================================Running the test program with 10 days negative offset specified, and FAKE_STAT disabled $ LD_PRELOAD=/usr/lib/x86_64-linux-gnu/faketime/libfaketime.so.1 FAKETIME="-10d" NO_FAKE_STAT=1 ./timetest
pthread_cond_timedwait: CLOCK_REALTIME test (Intentionally sleeping 1 second...) pthread_cond_timedwait: CLOCK_MONOTONIC test (Intentionally sleeping 1 second...) (If this test hangs for more than a few seconds, please report your glibc version and system details as FORCE_MONOTONIC_FIX issue at https://github.com/wolfcw/libfaketime) Blocking signal 10 time() : Current date and time: Sun Mar 6 09:11:47 2022 time(NULL) : Seconds since Epoch : 1646557907 ftime() : Current date and time: Sun Mar 6 09:11:47 2022 (Intentionally sleeping 2 seconds...) gettimeofday() : Current date and time: Sun Mar 6 09:11:49 2022 Caught signal 10 clock_gettime(): Current date and time: Sun Mar 6 09:11:49 2022 stat(): mod. time of file './timetest': Wed Mar 16 09:11:27 2022 =============================================================================Running the test program with 10 days positive offset specified, and speed-up factor $ LD_PRELOAD=/usr/lib/x86_64-linux-gnu/faketime/libfaketime.so.1 FAKETIME="+10d x1" ./timetest
pthread_cond_timedwait: CLOCK_REALTIME test (Intentionally sleeping 1 second...) pthread_cond_timedwait: CLOCK_MONOTONIC test (Intentionally sleeping 1 second...) (If this test hangs for more than a few seconds, please report your glibc version and system details as FORCE_MONOTONIC_FIX issue at https://github.com/wolfcw/libfaketime) Blocking signal 10 time() : Current date and time: Sat Mar 26 09:11:51 2022 time(NULL) : Seconds since Epoch : 1648285911 ftime() : Current date and time: Sat Mar 26 09:11:51 2022 (Intentionally sleeping 2 seconds...) gettimeofday() : Current date and time: Sat Mar 26 09:11:53 2022 Caught signal 10 clock_gettime(): Current date and time: Sat Mar 26 09:11:53 2022 stat(): mod. time of file './timetest': Wed Mar 16 09:11:27 2022 ============================================================================= Running the 'date' command with 15 days negative offset specified$ LD_PRELOAD=/usr/lib/x86_64-linux-gnu/faketime/libfaketime.so.1 FAKETIME="-15d" date
Tue Mar 1 09:11:53 UTC 2022 ============================================================================= Testing finished.gcc -std=gnu99 -Wall -DFAKE_STAT -Werror -Wextra -lrt -lpthread repeat_random.c -o repeat_random
./randomtest.sh getrandom interception test successful.sed s/SNIPPET_NAME/clock_gettime/g < _libtest.c | gcc -shared -o libclock_gettime.so -fpic -std=gnu99 -Wall -DFAKE_STAT -Werror -Wextra -x c - sed s/SNIPPET_NAME/clock_gettime/g < _use_lib_test.c | gcc -L. -o use_lib_clock_gettime -std=gnu99 -Wall -DFAKE_STAT -Werror -Wextra -x c - -lclock_gettime
./test_constructors.sh clock_gettime Testing library init for clock_gettime (no LD_PRELOAD)[libclock_gettime] clock_gettime(CLOCK_REALTIME[0], &ts) -> {1647421913, 997649193} called clock_gettime_as_needed() [use_lib_clock_gettime] clock_gettime(CLOCK_REALTIME[0], &ts) -> {1647421913, 997703879}
Testing library init for clock_gettime (LD_PRELOAD)[libclock_gettime] clock_gettime(CLOCK_REALTIME[0], &ts) -> {1647421913, 999015929} called clock_gettime_as_needed() [use_lib_clock_gettime] clock_gettime(CLOCK_REALTIME[0], &ts) -> {1647421913, 999088598} sed s/SNIPPET_NAME/clock_gettime_heap/g < _libtest.c | gcc -shared -o libclock_gettime_heap.so -fpic -std=gnu99 -Wall -DFAKE_STAT -Werror -Wextra -x c - sed s/SNIPPET_NAME/clock_gettime_heap/g < _use_lib_test.c | gcc -L. -o use_lib_clock_gettime_heap -std=gnu99 -Wall -DFAKE_STAT -Werror -Wextra -x c - -lclock_gettime_heap
./test_constructors.sh clock_gettime_heap Testing library init for clock_gettime_heap (no LD_PRELOAD)[libclock_gettime_heap] clock_gettime_heap(CLOCK_REALTIME[0], ts) -> {1647421914, 110492288} called clock_gettime_heap_as_needed() [use_lib_clock_gettime_heap] clock_gettime_heap(CLOCK_REALTIME[0], ts) -> {1647421914, 110529378}
Testing library init for clock_gettime_heap (LD_PRELOAD)[libclock_gettime_heap] clock_gettime_heap(CLOCK_REALTIME[0], ts) -> {1647421914, 111842645} called clock_gettime_heap_as_needed() [use_lib_clock_gettime_heap] clock_gettime_heap(CLOCK_REALTIME[0], ts) -> {1647421914, 111917289} sed s/SNIPPET_NAME/getentropy/g < _libtest.c | gcc -shared -o libgetentropy.so -fpic -std=gnu99 -Wall -DFAKE_STAT -Werror -Wextra -x c - sed s/SNIPPET_NAME/getentropy/g < _use_lib_test.c | gcc -L. -o use_lib_getentropy -std=gnu99 -Wall -DFAKE_STAT -Werror -Wextra -x c - -lgetentropy
./test_constructors.sh getentropy Testing library init for getentropy (no LD_PRELOAD) [libgetentropy] getentropy() yielded 0x87e53df0called getentropy_as_needed() [use_lib_getentropy] getentropy() yielded 0xc0f84d64
Testing library init for getentropy (LD_PRELOAD) [libgetentropy] getentropy() yielded 0x233dc3c8called getentropy_as_needed() [use_lib_getentropy] getentropy() yielded 0xf704fd57 sed s/SNIPPET_NAME/getpid/g < _libtest.c | gcc -shared -o libgetpid.so -fpic -std=gnu99 -Wall -DFAKE_STAT -Werror -Wextra -x c - sed s/SNIPPET_NAME/getpid/g < _use_lib_test.c | gcc -L. -o use_lib_getpid -std=gnu99 -Wall -DFAKE_STAT -Werror -Wextra -x c - -lgetpid
./test_constructors.sh getpid Testing library init for getpid (no LD_PRELOAD) [libgetpid] getpid() yielded 1885 called getpid_as_needed() [use_lib_getpid] getpid() yielded 1885 Testing library init for getpid (LD_PRELOAD) [libgetpid] getpid() yielded 1886 called getpid_as_needed() [use_lib_getpid] getpid() yielded 1886sed s/SNIPPET_NAME/getrandom/g < _libtest.c | gcc -shared -o libgetrandom.so -fpic -std=gnu99 -Wall -DFAKE_STAT -Werror -Wextra -x c - sed s/SNIPPET_NAME/getrandom/g < _use_lib_test.c | gcc -L. -o use_lib_getrandom -std=gnu99 -Wall -DFAKE_STAT -Werror -Wextra -x c - -lgetrandom
./test_constructors.sh getrandom Testing library init for getrandom (no LD_PRELOAD) [libgetrandom] getrandom() yielded 0x37d53461called getrandom_as_needed() [use_lib_getrandom] getrandom() yielded 0x8e37fa7d
Testing library init for getrandom (LD_PRELOAD) [libgetrandom] getrandom() yielded 0x09641fd7called getrandom_as_needed() [use_lib_getrandom] getrandom() yielded 0xa2e27d06 sed s/SNIPPET_NAME/syscall/g < _libtest.c | gcc -shared -o libsyscall.so -fpic -std=gnu99 -Wall -DFAKE_STAT -Werror -Wextra -x c - sed s/SNIPPET_NAME/syscall/g < _use_lib_test.c | gcc -L. -o use_lib_syscall -std=gnu99 -Wall -DFAKE_STAT -Werror -Wextra -x c - -lsyscall
./test_constructors.sh syscall Testing library init for syscall (no LD_PRELOAD) [libsyscall] syscall(__NR_getuid) -> 1000 called syscall_as_needed() [use_lib_syscall] syscall(__NR_getuid) -> 1000 Testing library init for syscall (LD_PRELOAD) [libsyscall] syscall(__NR_getuid) -> 1000 called syscall_as_needed() [use_lib_syscall] syscall(__NR_getuid) -> 1000sed s/SNIPPET_NAME/syscall_clock_gettime/g < _libtest.c | gcc -shared -o libsyscall_clock_gettime.so -fpic -std=gnu99 -Wall -DFAKE_STAT -Werror -Wextra -x c - sed s/SNIPPET_NAME/syscall_clock_gettime/g < _use_lib_test.c | gcc -L. -o use_lib_syscall_clock_gettime -std=gnu99 -Wall -DFAKE_STAT -Werror -Wextra -x c - -lsyscall_clock_gettime
./test_constructors.sh syscall_clock_gettime Testing library init for syscall_clock_gettime (no LD_PRELOAD)[libsyscall_clock_gettime] syscall(__NR_gettime, CLOCK_REALTIME[0], &ts) -> {1647421914, 700243596} called syscall_clock_gettime_as_needed() [use_lib_syscall_clock_gettime] syscall(__NR_gettime, CLOCK_REALTIME[0], &ts) -> {1647421914, 700290345}
Testing library init for syscall_clock_gettime (LD_PRELOAD)[libsyscall_clock_gettime] syscall(__NR_gettime, CLOCK_REALTIME[0], &ts) -> {1647421914, 701333440} called syscall_clock_gettime_as_needed() [use_lib_syscall_clock_gettime] syscall(__NR_gettime, CLOCK_REALTIME[0], &ts) -> {1647421914, 701598199} sed s/SNIPPET_NAME/syscall_clock_gettime_heap/g < _libtest.c | gcc -shared -o libsyscall_clock_gettime_heap.so -fpic -std=gnu99 -Wall -DFAKE_STAT -Werror -Wextra -x c - sed s/SNIPPET_NAME/syscall_clock_gettime_heap/g < _use_lib_test.c | gcc -L. -o use_lib_syscall_clock_gettime_heap -std=gnu99 -Wall -DFAKE_STAT -Werror -Wextra -x c - -lsyscall_clock_gettime_heap
./test_constructors.sh syscall_clock_gettime_heap Testing library init for syscall_clock_gettime_heap (no LD_PRELOAD)[libsyscall_clock_gettime_heap] syscall(__NR_gettime, CLOCK_REALTIME[0], ts) -> {1647421914, 836601307} called syscall_clock_gettime_heap_as_needed() [use_lib_syscall_clock_gettime_heap] syscall(__NR_gettime, CLOCK_REALTIME[0], ts) -> {1647421914, 836636542}
Testing library init for syscall_clock_gettime_heap (LD_PRELOAD)[libsyscall_clock_gettime_heap] syscall(__NR_gettime, CLOCK_REALTIME[0], ts) -> {1647421914, 837671408} called syscall_clock_gettime_heap_as_needed() [use_lib_syscall_clock_gettime_heap] syscall(__NR_gettime, CLOCK_REALTIME[0], ts) -> {1647421914, 837931171} sed s/SNIPPET_NAME/time/g < _libtest.c | gcc -shared -o libtime.so -fpic -std=gnu99 -Wall -DFAKE_STAT -Werror -Wextra -x c - sed s/SNIPPET_NAME/time/g < _use_lib_test.c | gcc -L. -o use_lib_time -std=gnu99 -Wall -DFAKE_STAT -Werror -Wextra -x c - -ltime
./test_constructors.sh time Testing library init for time (no LD_PRELOAD) [libtime] time() yielded 1647421914 called time_as_needed() [use_lib_time] time() yielded 1647421914 Testing library init for time (LD_PRELOAD) [libtime] time() yielded 1647421914 called time_as_needed() [use_lib_time] time() yielded 1647421914sed s/SNIPPET_NAME/clock_gettime/g < _run_test.c | gcc -o run_clock_gettime -std=gnu99 -Wall -DFAKE_STAT -Werror -Wextra -x c - sed s/SNIPPET_NAME/clock_gettime_heap/g < _run_test.c | gcc -o run_clock_gettime_heap -std=gnu99 -Wall -DFAKE_STAT -Werror -Wextra -x c - sed s/SNIPPET_NAME/getentropy/g < _run_test.c | gcc -o run_getentropy -std=gnu99 -Wall -DFAKE_STAT -Werror -Wextra -x c - sed s/SNIPPET_NAME/getpid/g < _run_test.c | gcc -o run_getpid -std=gnu99 -Wall -DFAKE_STAT -Werror -Wextra -x c - sed s/SNIPPET_NAME/getrandom/g < _run_test.c | gcc -o run_getrandom -std=gnu99 -Wall -DFAKE_STAT -Werror -Wextra -x c - sed s/SNIPPET_NAME/syscall_clock_gettime/g < _run_test.c | gcc -o run_syscall_clock_gettime -std=gnu99 -Wall -DFAKE_STAT -Werror -Wextra -x c - sed s/SNIPPET_NAME/syscall_clock_gettime_heap/g < _run_test.c | gcc -o run_syscall_clock_gettime_heap -std=gnu99 -Wall -DFAKE_STAT -Werror -Wextra -x c - sed s/SNIPPET_NAME/time/g < _run_test.c | gcc -o run_time -std=gnu99 -Wall -DFAKE_STAT -Werror -Wextra -x c - ./test_variable_data.sh clock_gettime clock_gettime_heap getentropy getpid getrandom syscall_clock_gettime syscall_clock_gettime_heap time [syscall_clock_gettime] Set FAKETIME="2020-01-01 00:00:00", but got two different outputs: - [run_syscall_clock_gettime] syscall(__NR_gettime, CLOCK_REALTIME[0], &ts) -> {1647421915, 413151395} - [run_syscall_clock_gettime] syscall(__NR_gettime, CLOCK_REALTIME[0], &ts) -> {1647421915, 415008524} [syscall_clock_gettime_heap] Set FAKETIME="2020-02-02 02:02:02+00:00", but got two different outputs: - [run_syscall_clock_gettime_heap] syscall(__NR_gettime, CLOCK_REALTIME[0], ts) -> {1647421915, 418359340} - [run_syscall_clock_gettime_heap] syscall(__NR_gettime, CLOCK_REALTIME[0], ts) -> {1647421915, 420163295}
Sleeping 2 seconds...done[syscall_clock_gettime] Vary across delay of 2 seconds (FAKETIME="2020-01-01 00:00:00"): - before: [run_syscall_clock_gettime] syscall(__NR_gettime, CLOCK_REALTIME[0], &ts) -> {1647421915, 413151395} - after: [run_syscall_clock_gettime] syscall(__NR_gettime, CLOCK_REALTIME[0], &ts) -> {1647421917, 481232604} [syscall_clock_gettime_heap] Vary across delay of 2 seconds (FAKETIME="2020-02-02 02:02:02+00:00"): - before: [run_syscall_clock_gettime_heap] syscall(__NR_gettime, CLOCK_REALTIME[0], ts) -> {1647421915, 418359340} - after: [run_syscall_clock_gettime_heap] syscall(__NR_gettime, CLOCK_REALTIME[0], ts) -> {1647421917, 484770078}
Got 4 errors, failing make: *** [Makefile:53: test_variable_data] Error 1rm use_lib_time libgetentropy.so use_lib_clock_gettime_heap use_lib_clock_gettime use_lib_getpid libclock_gettime.so libtime.so libgetrandom.so use_lib_syscall libclock_gettime_heap.so use_lib_syscall_clock_gettime_heap use_lib_getentropy libsyscall_clock_gettime_heap.so libsyscall.so use_lib_getrandom libsyscall_clock_gettime.so libgetpid.so use_lib_syscall_clock_gettime
autopkgtest [09:11:57]: test upstream
OpenPGP_signature
Description: OpenPGP digital signature