Subject: Re: bug#46835: Fwd: Debian Bug 983706: gzip FTBFS on mips64el: FAIL: timestamp

From: Paul Eggert <[email-masked]>
Date: Fri, 5 Mar 2021 12:22:21 -0800

On 2/28/21 11:59 AM, Milan Kupcevic wrote:
> A couple of timestamp tests are failing on mips64el. Please let me know
> if you need more info.

What happens if you run the following shell commands, using the 
just-built gzip? What gzip.tr file is generated?

TZ=UTC0
export TZ
rm -f in in.gz
touch -t 190101010000 in
strace -v -o gzip.tr ./gzip in

The key part will be what is in the last few lines of gzip.tr when gzip 
looks at the file "in". Here's how gzip.tr ends on my Ubuntu 20.10 ext4 
system:

...
openat(AT_FDCWD, ".", O_RDONLY|O_DIRECTORY) = 3
openat(3, "in", O_RDONLY|O_NOCTTY|O_NONBLOCK|O_NOFOLLOW) = 4
fstat(4, {st_dev=makedev(0x103, 0), st_ino=32392569, 
st_mode=S_IFREG|0664, st_nlink=1, st_uid=1000, st_gid=1000, 
st_blksize=4096, st_blocks=0, st_size=0, st_atime=-2147483648 /* 
1901-12-13T20:45:52+0000 */, st_atime_nsec=0, st_mtime=-2147483648 /* 
1901-12-13T20:45:52+0000 */, st_mtime_nsec=0, st_ctime=1614975280 /* 
2021-03-05T20:14:40.477784697+0000 */, st_ctime_nsec=477784697}) = 0
brk(NULL)                               = 0x555f5c8fc000
brk(0x555f5c91d000)                     = 0x555f5c91d000
rt_sigprocmask(SIG_BLOCK, [HUP INT PIPE TERM XCPU XFSZ], [], 8) = 0
openat(3, "in.gz", O_WRONLY|O_CREAT|O_EXCL, 0600) = 5
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
write(2, "gzip: in: warning: file timestam"..., 63) = 63
read(4, "", 65536)                      = 0
write(5, "\37\213\10\10\0\0\0\0\0\3in\0\3\0\0\0\0\0\0\0\0\0", 23) = 23
close(4)                                = 0
utimensat(5, NULL, [{tv_sec=-2147483648, tv_nsec=0} /* 
1901-12-13T20:45:52+0000 */, {tv_sec=-2147483648, tv_nsec=0} /* 
1901-12-13T20:45:52+0000 */], 0) = 0
fchown(5, -1, 1000)                     = 0
fchmod(5, 0664)                         = 0
fchown(5, 1000, -1)                     = 0
close(5)                                = 0
rt_sigprocmask(SIG_BLOCK, [HUP INT PIPE TERM XCPU XFSZ], [], 8) = 0
unlinkat(3, "in", 0)                    = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
exit_group(2)                           = ?
+++ exited with 2 +++

Perhaps the timestamps are somehow messed up on your platform, in which 
case you need to investigate why fstat is returning incorrect timestamps 
for the input file.