--- Begin Message ---
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 specified
LD_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 0x87e53df0
called getentropy_as_needed() [use_lib_getentropy] getentropy()
yielded 0xc0f84d64
Testing library init for getentropy (LD_PRELOAD)
[libgetentropy] getentropy() yielded 0x233dc3c8
called 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 1886
sed 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 0x37d53461
called getrandom_as_needed() [use_lib_getrandom] getrandom() yielded
0x8e37fa7d
Testing library init for getrandom (LD_PRELOAD)
[libgetrandom] getrandom() yielded 0x09641fd7
called 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) -> 1000
sed 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 1647421914
sed 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 1
rm 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
--- End Message ---