GNU bug report logs - #46835
Fwd: Debian Bug 983706: gzip FTBFS on mips64el: FAIL: timestamp

Previous Next

Package: gzip;

Reported by: Milan Kupcevic <milan <at> debian.org>

Date: Sun, 28 Feb 2021 22:43:01 UTC

Severity: normal

Tags: notabug

Done: Paul Eggert <eggert <at> cs.ucla.edu>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 46835 in the body.
You can then email your comments to 46835 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gzip <at> gnu.org:
bug#46835; Package gzip. (Sun, 28 Feb 2021 22:43:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Milan Kupcevic <milan <at> debian.org>:
New bug report received and forwarded. Copy sent to bug-gzip <at> gnu.org. (Sun, 28 Feb 2021 22:43:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Milan Kupcevic <milan <at> debian.org>
To: bug-gzip <at> gnu.org
Subject: Fwd: Debian Bug 983706: gzip FTBFS on mips64el: FAIL: timestamp
Date: Sun, 28 Feb 2021 14:59:03 -0500

A couple of timestamp tests are failing on mips64el. Please let me know
if you need more info.

Milan


-------- Forwarded Message --------
Subject: Bug#983706: gzip FTBFS on mips64el: FAIL: timestamp
Resent-Date: Sun, 28 Feb 2021 17:42:02 +0000
Resent-From: Adrian Bunk <bunk <at> debian.org>
Resent-To: debian-bugs-dist <at> lists.debian.org
Resent-CC: linux-mips <at> lists.debian.org, Milan Kupcevic <milan <at> debian.org>
Date: Sun, 28 Feb 2021 19:39:39 +0200
From: Adrian Bunk <bunk <at> debian.org>
Reply-To: Adrian Bunk <bunk <at> debian.org>, 983706 <at> bugs.debian.org
To: Debian Bug Tracking System <submit <at> bugs.debian.org>

Source: gzip
Version: 1.10-2
Severity: serious
Tags: ftbfs

https://buildd.debian.org/status/fetch.php?pkg=gzip&arch=mips64el&ver=1.10-3&stamp=1614531854&raw=0

...
FAIL: timestamp
===============

+ initial_cwd_=/<<PKGBUILDDIR>>/builddir/tests
+ testdir_prefix_
+ printf gt
+ pfx_=gt
+ mktempd_ /<<PKGBUILDDIR>>/builddir/tests gt-timestamp.XXXX
+ destdir_=/<<PKGBUILDDIR>>/builddir/tests
+ template_=gt-timestamp.XXXX
+ MAX_TRIES_=4
+ destdir_slash_=/<<PKGBUILDDIR>>/builddir/tests/
+ unset TMPDIR
+ d=/<<PKGBUILDDIR>>/builddir/tests/gt-timestamp.TDZE
+ :
+ test -d /<<PKGBUILDDIR>>/builddir/tests/gt-timestamp.TDZE
+ ls -dgo /<<PKGBUILDDIR>>/builddir/tests/gt-timestamp.TDZE
+ perms=drwx------ 2 40 Feb 28 17:04
/<<PKGBUILDDIR>>/builddir/tests/gt-timestamp.TDZE
+ :
+ echo /<<PKGBUILDDIR>>/builddir/tests/gt-timestamp.TDZE
+ return
+ test_dir_=/<<PKGBUILDDIR>>/builddir/tests/gt-timestamp.TDZE
+ cd /<<PKGBUILDDIR>>/builddir/tests/gt-timestamp.TDZE
+ gl_init_sh_nl_=

+ IFS= 	

+ expr 1 + 128
+ eval trap 'Exit 129' 1
+ trap Exit 129 1
+ expr 2 + 128
+ eval trap 'Exit 130' 2
+ trap Exit 130 2
+ expr 3 + 128
+ eval trap 'Exit 131' 3
+ trap Exit 131 3
+ expr 13 + 128
+ eval trap 'Exit 141' 13
+ trap Exit 141 13
+ expr 15 + 128
+ eval trap 'Exit 143' 15
+ trap Exit 143 15
+ trap remove_tmp_ 0
+ path_prepend_ ..
+ test 1 != 0
+ path_dir_=..
+ abs_path_dir_=/<<PKGBUILDDIR>>/builddir/tests/..
+
PATH=/<<PKGBUILDDIR>>/builddir/tests/..:/<<PKGBUILDDIR>>/builddir:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
+ create_exe_shims_ /<<PKGBUILDDIR>>/builddir/tests/..
+ return 0
+ shift
+ test 0 != 0
+ export PATH
+ TZ=UTC0
+ export TZ
+ oldIFS= 	

+ IFS=~
+ set 190101010000 Jan  1  1901
+ time=190101010000
+ date=Jan  1  1901
+ IFS= 	

+ touch -t 190101010000 in
+ ls -l in
+ ls_l=-rw-rw-r-- 1 buildd buildd 0 Jan  1  1901 in
+ returns_ 2 gzip in
+ fail=1
+ rm -f in.gz in
+ IFS=~
+ set 196912312359.59 Dec 31  1969
+ time=196912312359.59
+ date=Dec 31  1969
+ IFS= 	

+ touch -t 196912312359.59 in
+ ls -l in
+ ls_l=-rw-rw-r-- 1 buildd buildd 0 Dec 31  1969 in
+ returns_ 2 gzip in
+ fail=1
+ rm -f in.gz in
+ IFS=~
+ set 197001010000 Jan  1  1970
+ time=197001010000
+ date=Jan  1  1970
+ IFS= 	

+ touch -t 197001010000 in
+ ls -l in
+ ls_l=-rw-rw-r-- 1 buildd buildd 0 Jan  1  1970 in
+ returns_ 2 gzip in
gzip: in: warning: file timestamp out of range for gzip format
+ rm -f in.gz in
+ IFS=~
+ set 210602070628.16 Feb  7  2106
+ time=210602070628.16
+ date=Feb  7  2106
+ IFS= 	

+ touch -t 210602070628.16 in
+ ls -l in
+ ls_l=-rw-rw-r-- 1 buildd buildd 0 Feb  7  2106 in
+ returns_ 2 gzip in
gzip: in: warning: file timestamp out of range for gzip format
+ rm -f in.gz in
+ IFS=~
+ set 197001010000.01 Jan  1  1970
+ time=197001010000.01
+ date=Jan  1  1970
+ IFS= 	

+ touch -t 197001010000.01 in
+ ls -l in
+ ls_l=-rw-rw-r-- 1 buildd buildd 0 Jan  1  1970 in
+ gzip in
+ rm -f in.gz in
+ IFS=~
+ set 203801190314.07 Jan 19  2038
+ time=203801190314.07
+ date=Jan 19  2038
+ IFS= 	

+ touch -t 203801190314.07 in
+ ls -l in
+ ls_l=-rw-rw-r-- 1 buildd buildd 0 Jan 19  2038 in
+ gzip in
+ rm -f in.gz in
+ IFS=~
+ set 203801190314.08 Jan 19  2038
+ time=203801190314.08
+ date=Jan 19  2038
+ IFS= 	

+ touch -t 203801190314.08 in
+ ls -l in
+ ls_l=-rw-rw-r-- 1 buildd buildd 0 Jan 19  2038 in
+ gzip in
+ rm -f in.gz in
+ IFS=~
+ set 210602070628.15 Feb  7  2106
+ time=210602070628.15
+ date=Feb  7  2106
+ IFS= 	

+ touch -t 210602070628.15 in
+ ls -l in
+ ls_l=-rw-rw-r-- 1 buildd buildd 0 Feb  7  2106 in
+ gzip in
+ rm -f in.gz in
+ printf \037\213\10\0\377\377\377\377\0\377\3\0\0\0\0\0\0\0\0\0
+ gzip -Nlv
method  crc     date  time           compressed        uncompressed
ratio uncompressed_name
defla 00000000 Feb  7 06:28                  20                   0
0.0% stdout
+ status=0
+ test 0 -eq 0
+ :
+ gzip --no-name
+ Exit 1
+ set +e
+ exit 1
+ exit 1
+ remove_tmp_
+ __st=1
+ cleanup_
+ :
+ test  = yes
+ cd /<<PKGBUILDDIR>>/builddir/tests
+ chmod -R u+rwx /<<PKGBUILDDIR>>/builddir/tests/gt-timestamp.TDZE
+ rm -rf /<<PKGBUILDDIR>>/builddir/tests/gt-timestamp.TDZE
+ exit 1
FAIL timestamp (exit status: 1)

============================================================================
Testsuite summary for gzip 1.10
============================================================================
# TOTAL: 22
# PASS:  21
# SKIP:  0
# XFAIL: 0
# FAIL:  1
# XPASS: 0
# ERROR: 0
============================================================================
See tests/test-suite.log
Please report to bug-gzip <at> gnu.org
============================================================================
make[5]: *** [Makefile:1674: test-suite.log] Error 1



On the porterbox eller, 1.10-2 fails the same as 1.10-3.
1.10-3 builds in a buster chroot.

The breakage is likely caused or triggered by a change to
some other package like gcc/glibc/...

The linux-mips list is CC'ed.




Information forwarded to bug-gzip <at> gnu.org:
bug#46835; Package gzip. (Fri, 05 Mar 2021 20:23:01 GMT) Full text and rfc822 format available.

Message #8 received at 46835 <at> debbugs.gnu.org (full text, mbox):

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Milan Kupcevic <milan <at> debian.org>
Cc: 46835 <at> debbugs.gnu.org
Subject: Re: bug#46835: Fwd: Debian Bug 983706: gzip FTBFS on mips64el: FAIL:
 timestamp
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.




Information forwarded to bug-gzip <at> gnu.org:
bug#46835; Package gzip. (Sat, 06 Mar 2021 04:30:01 GMT) Full text and rfc822 format available.

Message #11 received at 46835 <at> debbugs.gnu.org (full text, mbox):

From: Milan Kupcevic <milan <at> debian.org>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 46835 <at> debbugs.gnu.org
Subject: Re: bug#46835: Fwd: Debian Bug 983706: gzip FTBFS on mips64el: FAIL:
 timestamp
Date: Fri, 5 Mar 2021 23:29:17 -0500
On 3/5/21 3:22 PM, Paul Eggert wrote:
> 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:
> 
[...]>
> 
> 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.
> 
> 
> 


Hi Paul,


"touch -t 190101010000 in" yields:

...
openat(AT_FDCWD, "/lib/mips64el-linux-gnuabi64/libc.so.6",
O_RDONLY|O_CLOEXEC) = 3
...
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(0xfe, 0x1), st_ino=7633726,
st_mode=S_IFREG|0644, st_nlink=1, st_uid=3363, st_gid=3363,
st_blksize=4096, st_blocks=0, st_size=0, st_atime=2117514496 /*
2037-02-06T06:28:16+0000 */, st_atime_nsec=0, st_mtime=2117514496 /*
2037-02-06T06:28:16+0000 */, st_mtime_nsec=0, st_ctime=1615000963 /*
2021-03-06T03:22:43.248981507+0000 */, st_ctime_nsec=248981507}) = 0
brk(NULL)                               = 0xaaaf339000
brk(0xaaaf35a000)                       = 0xaaaf35a000
rt_sigprocmask(SIG_BLOCK, [HUP INT PIPE TERM XCPU XFSZ], [], 16) = 0
openat(3, "in.gz", O_WRONLY|O_CREAT|O_EXCL, 0600) = 5
rt_sigprocmask(SIG_SETMASK, [], NULL, 16) = 0
read(4, "", 65536)                      = 0
write(5, "\37\213\10\10\0\2656~\0\3in\0\3\0\0\0\0\0\0\0\0\0", 23) = 23
close(4)                                = 0
utimensat(5, NULL, [{tv_sec=2117514496, tv_nsec=0} /*
2037-02-06T06:28:16+0000 */, {tv_sec=2117514496, tv_nsec=0} /*
2037-02-06T06:28:16+0000 */], 0) = 0
fchown(5, -1, 3363)                     = 0
fchmod(5, 0644)                         = 0
fchown(5, 3363, -1)                     = 0
close(5)                                = 0
rt_sigprocmask(SIG_BLOCK, [HUP INT PIPE TERM XCPU XFSZ], [], 16) = 0
unlinkat(3, "in", 0)                    = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 16) = 0
exit_group(0)                           = ?
+++ exited with 0 +++



And this is what happens with "touch -t 196912312359.59 in":

...
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(0xfe, 0x1), st_ino=7633726,
st_mode=S_IFREG|0644, st_nlink=1, st_uid=3363, st_gid=3363,
st_blksize=4096, st_blocks=0, st_size=0, st_atime=-1 /*
1969-12-31T23:59:59+0000 */, st_atime_nsec=0, st_mtime=-1 /*
1969-12-31T23:59:59+0000 */, st_mtime_nsec=0, st_ctime=1615003205 /*
2021-03-06T04:00:05.879666767+0000 */, st_ctime_nsec=879666767}) = 0
brk(NULL)                               = 0xaab194d000
brk(0xaab196e000)                       = 0xaab196e000
rt_sigprocmask(SIG_BLOCK, [HUP INT PIPE TERM XCPU XFSZ], [], 16) = 0
openat(3, "in.gz", O_WRONLY|O_CREAT|O_EXCL, 0600) = 5
rt_sigprocmask(SIG_SETMASK, [], NULL, 16) = 0
read(4, "", 65536)                      = 0
write(5, "\37\213\10\10\377\377\377\377\0\3in\0\3\0\0\0\0\0\0\0\0\0",
23) = 23
close(4)                                = 0
utimensat(5, NULL, [{tv_sec=4294967295, tv_nsec=0} /*
2106-02-07T06:28:15+0000 */, {tv_sec=4294967295, tv_nsec=0} /*
2106-02-07T06:28:15+0000 */], 0) = 0
fchown(5, -1, 3363)                     = 0
fchmod(5, 0644)                         = 0
fchown(5, 3363, -1)                     = 0
close(5)                                = 0
rt_sigprocmask(SIG_BLOCK, [HUP INT PIPE TERM XCPU XFSZ], [], 16) = 0
unlinkat(3, "in", 0)                    = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 16) = 0
exit_group(0)                           = ?
+++ exited with 0 +++




Milan




Information forwarded to bug-gzip <at> gnu.org:
bug#46835; Package gzip. (Sat, 06 Mar 2021 04:41:01 GMT) Full text and rfc822 format available.

Message #14 received at 46835 <at> debbugs.gnu.org (full text, mbox):

From: Milan Kupcevic <milan <at> debian.org>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 46835 <at> debbugs.gnu.org
Subject: Fwd: Bug#983706: gzip FTBFS on mips64el: FAIL: timestamp
Date: Fri, 5 Mar 2021 23:40:25 -0500
Hi Paul,

Please take a look at YunQiang's explanation of what is going on.



-------- Forwarded Message --------
Subject: Bug#983706: gzip FTBFS on mips64el: FAIL: timestamp
Resent-Date: Mon, 01 Mar 2021 10:54:34 +0000
Resent-From: YunQiang Su <wzssyqa <at> gmail.com>
Resent-To: debian-bugs-dist <at> lists.debian.org
Resent-CC: Milan Kupcevic <milan <at> debian.org>
Date: Mon, 1 Mar 2021 18:52:50 +0800
From: YunQiang Su <wzssyqa <at> gmail.com>
Reply-To: YunQiang Su <wzssyqa <at> gmail.com>, 983706 <at> bugs.debian.org
To: Adrian Bunk <bunk <at> debian.org>
CC: 983706 <at> bugs.debian.org, debian-mips <at> lists.debian.org

[...]

With some digging, we found the real problem:
    mips64 has y2106 problem

the struct stat in asm/stat.h, the timestamp is unsigned int (uint32_t),
so in the SYS_stat, -1 is converted to 0xffffff.

Then in glibc wrapper of stat, 0xffffffff need to convert to int64_t,
then, it is converted to 2016.

So, current, for gzip, we can just ignore the test fails on mips64el.

To solve this problem: I guess that we can wrap `statx' instead of
`stat' in glibc.
Since the timestamp in bits/stat.h is 64bit, there will no ABI broken.

[...]


-- 
YunQiang Su




Information forwarded to bug-gzip <at> gnu.org:
bug#46835; Package gzip. (Sun, 07 Mar 2021 23:01:02 GMT) Full text and rfc822 format available.

Message #17 received at 46835 <at> debbugs.gnu.org (full text, mbox):

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Milan Kupcevic <milan <at> debian.org>
Cc: 46835 <at> debbugs.gnu.org
Subject: Re: Fwd: Bug#983706: gzip FTBFS on mips64el: FAIL: timestamp
Date: Sun, 7 Mar 2021 15:00:23 -0800
On 3/5/21 8:40 PM, Milan Kupcevic wrote:
> Please take a look at YunQiang's explanation of what is going on.

Thanks, so it appears the problem is in the glibc syscall wrapper, not 
in gzip.




Added tag(s) notabug. Request was from Paul Eggert <eggert <at> cs.ucla.edu> to control <at> debbugs.gnu.org. (Tue, 29 Mar 2022 23:12:02 GMT) Full text and rfc822 format available.

bug closed, send any further explanations to 46835 <at> debbugs.gnu.org and Milan Kupcevic <milan <at> debian.org> Request was from Paul Eggert <eggert <at> cs.ucla.edu> to control <at> debbugs.gnu.org. (Tue, 29 Mar 2022 23:12:02 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 27 Apr 2022 11:24:09 GMT) Full text and rfc822 format available.

This bug report was last modified 1 year and 364 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.