Offloading sets mtime relative to current timezone

DoneSubmitted by Ludovic Courtès.
Details
One participant
  • Ludovic Courtès
Owner
unassigned
Severity
normal
L
L
Ludovic Courtès wrote on 10 Jan 2019 15:15
(name . Bug Guix)(address . bug-guix@gnu.org)
878szsd2f4.fsf@gnu.org
The ‘reset-timestamps’ procedure in (guix store database) apparentlysets the time relative to the current timezone, leading todiscrepancies:
Toggle snippet (18 lines)$ TZ=UTC stat /gnu/store/9fn3k60lgg28r40p2b74nzhy5v3a9cp8-guix-dbd346a/./guix/ftp-client.scm /gnu/store/c1ndi2hbg1fcs06gwmbwp297ky2pkw7h-guix-0.16.0-8.7ba2b27/lib/guile/2.2/site-ccache/guix/ftp-client.go File: /gnu/store/9fn3k60lgg28r40p2b74nzhy5v3a9cp8-guix-dbd346a/./guix/ftp-client.scm Size: 12062 Blocks: 24 IO Block: 4096 regular fileDevice: 811h/2065d Inode: 169314017 Links: 73Access: (0444/-r--r--r--) Uid: ( 0/ root) Gid: ( 0/ root)Access: 2019-01-10 10:14:11.376891486 +0000Modify: 1970-01-01 00:00:01.000000000 +0000Change: 2019-01-10 13:57:56.753652848 +0000 Birth: - File: /gnu/store/c1ndi2hbg1fcs06gwmbwp297ky2pkw7h-guix-0.16.0-8.7ba2b27/lib/guile/2.2/site-ccache/guix/ftp-client.go Size: 110469 Blocks: 216 IO Block: 4096 regular fileDevice: 811h/2065d Inode: 349340114 Links: 435Access: (0444/-r--r--r--) Uid: ( 0/ root) Gid: ( 0/ root)Access: 2019-01-09 17:57:27.717568033 +0000Modify: 1969-12-31 23:00:01.000000000 +0000Change: 2019-01-08 17:57:01.368666736 +0000
The time should always be one-second-after-Epoch, UTC.
Ludo’.
L
L
Ludovic Courtès wrote on 10 Jan 2019 16:59
(address . 34030@debbugs.gnu.org)
87woncbj1u.fsf@gnu.org
Ludovic Courtès <ludo@gnu.org> skribis:
Toggle quote (4 lines)> The ‘reset-timestamps’ procedure in (guix store database) apparently> sets the time relative to the current timezone, leading to> discrepancies:
It may not be the right diagnostic. We have this:
Toggle snippet (62 lines)ludo@berlin ~$ stat -c '%Y %h %n' /gnu/store/c1ndi2hbg1fcs06gwmbwp297ky2pkw7h-guix-0.16.0-8.7ba2b27/lib/guile/2.2/site-ccache/guix/*.go | sort -k1 -n-3599 112 /gnu/store/c1ndi2hbg1fcs06gwmbwp297ky2pkw7h-guix-0.16.0-8.7ba2b27/lib/guile/2.2/site-ccache/guix/sets.go-3599 306 /gnu/store/c1ndi2hbg1fcs06gwmbwp297ky2pkw7h-guix-0.16.0-8.7ba2b27/lib/guile/2.2/site-ccache/guix/licenses.go-3599 32 /gnu/store/c1ndi2hbg1fcs06gwmbwp297ky2pkw7h-guix-0.16.0-8.7ba2b27/lib/guile/2.2/site-ccache/guix/svn-download.go-3599 36 /gnu/store/c1ndi2hbg1fcs06gwmbwp297ky2pkw7h-guix-0.16.0-8.7ba2b27/lib/guile/2.2/site-ccache/guix/hg-download.go-3599 39 /gnu/store/c1ndi2hbg1fcs06gwmbwp297ky2pkw7h-guix-0.16.0-8.7ba2b27/lib/guile/2.2/site-ccache/guix/graph.go-3599 403 /gnu/store/c1ndi2hbg1fcs06gwmbwp297ky2pkw7h-guix-0.16.0-8.7ba2b27/lib/guile/2.2/site-ccache/guix/serialization.go-3599 414 /gnu/store/c1ndi2hbg1fcs06gwmbwp297ky2pkw7h-guix-0.16.0-8.7ba2b27/lib/guile/2.2/site-ccache/guix/http-client.go-3599 435 /gnu/store/c1ndi2hbg1fcs06gwmbwp297ky2pkw7h-guix-0.16.0-8.7ba2b27/lib/guile/2.2/site-ccache/guix/ftp-client.go-3599 437 /gnu/store/c1ndi2hbg1fcs06gwmbwp297ky2pkw7h-guix-0.16.0-8.7ba2b27/lib/guile/2.2/site-ccache/guix/combinators.go-3599 43 /gnu/store/c1ndi2hbg1fcs06gwmbwp297ky2pkw7h-guix-0.16.0-8.7ba2b27/lib/guile/2.2/site-ccache/guix/upstream.go-3599 441 /gnu/store/c1ndi2hbg1fcs06gwmbwp297ky2pkw7h-guix-0.16.0-8.7ba2b27/lib/guile/2.2/site-ccache/guix/monad-repl.go-3599 445 /gnu/store/c1ndi2hbg1fcs06gwmbwp297ky2pkw7h-guix-0.16.0-8.7ba2b27/lib/guile/2.2/site-ccache/guix/cve.go-3599 445 /gnu/store/c1ndi2hbg1fcs06gwmbwp297ky2pkw7h-guix-0.16.0-8.7ba2b27/lib/guile/2.2/site-ccache/guix/describe.go-3599 445 /gnu/store/c1ndi2hbg1fcs06gwmbwp297ky2pkw7h-guix-0.16.0-8.7ba2b27/lib/guile/2.2/site-ccache/guix/gnupg.go-3599 453 /gnu/store/c1ndi2hbg1fcs06gwmbwp297ky2pkw7h-guix-0.16.0-8.7ba2b27/lib/guile/2.2/site-ccache/guix/discovery.go-3599 457 /gnu/store/c1ndi2hbg1fcs06gwmbwp297ky2pkw7h-guix-0.16.0-8.7ba2b27/lib/guile/2.2/site-ccache/guix/pki.go-3599 461 /gnu/store/c1ndi2hbg1fcs06gwmbwp297ky2pkw7h-guix-0.16.0-8.7ba2b27/lib/guile/2.2/site-ccache/guix/workers.go-3599 462 /gnu/store/c1ndi2hbg1fcs06gwmbwp297ky2pkw7h-guix-0.16.0-8.7ba2b27/lib/guile/2.2/site-ccache/guix/base32.go-3599 462 /gnu/store/c1ndi2hbg1fcs06gwmbwp297ky2pkw7h-guix-0.16.0-8.7ba2b27/lib/guile/2.2/site-ccache/guix/base64.go-3599 462 /gnu/store/c1ndi2hbg1fcs06gwmbwp297ky2pkw7h-guix-0.16.0-8.7ba2b27/lib/guile/2.2/site-ccache/guix/i18n.go-3599 466 /gnu/store/c1ndi2hbg1fcs06gwmbwp297ky2pkw7h-guix-0.16.0-8.7ba2b27/lib/guile/2.2/site-ccache/guix/cache.go-3599 480 /gnu/store/c1ndi2hbg1fcs06gwmbwp297ky2pkw7h-guix-0.16.0-8.7ba2b27/lib/guile/2.2/site-ccache/guix/profiling.go-3599 485 /gnu/store/c1ndi2hbg1fcs06gwmbwp297ky2pkw7h-guix-0.16.0-8.7ba2b27/lib/guile/2.2/site-ccache/guix/glob.go-3599 50 /gnu/store/c1ndi2hbg1fcs06gwmbwp297ky2pkw7h-guix-0.16.0-8.7ba2b27/lib/guile/2.2/site-ccache/guix/modules.go-3599 518 /gnu/store/c1ndi2hbg1fcs06gwmbwp297ky2pkw7h-guix-0.16.0-8.7ba2b27/lib/guile/2.2/site-ccache/guix/base16.go-3599 554 /gnu/store/c1ndi2hbg1fcs06gwmbwp297ky2pkw7h-guix-0.16.0-8.7ba2b27/lib/guile/2.2/site-ccache/guix/records.go0 52 /gnu/store/c1ndi2hbg1fcs06gwmbwp297ky2pkw7h-guix-0.16.0-8.7ba2b27/lib/guile/2.2/site-ccache/guix/memoization.go0 8 /gnu/store/c1ndi2hbg1fcs06gwmbwp297ky2pkw7h-guix-0.16.0-8.7ba2b27/lib/guile/2.2/site-ccache/guix/cvs-download.go1 105 /gnu/store/c1ndi2hbg1fcs06gwmbwp297ky2pkw7h-guix-0.16.0-8.7ba2b27/lib/guile/2.2/site-ccache/guix/ssh.go1 117 /gnu/store/c1ndi2hbg1fcs06gwmbwp297ky2pkw7h-guix-0.16.0-8.7ba2b27/lib/guile/2.2/site-ccache/guix/inferior.go1 156 /gnu/store/c1ndi2hbg1fcs06gwmbwp297ky2pkw7h-guix-0.16.0-8.7ba2b27/lib/guile/2.2/site-ccache/guix/download.go1 235 /gnu/store/c1ndi2hbg1fcs06gwmbwp297ky2pkw7h-guix-0.16.0-8.7ba2b27/lib/guile/2.2/site-ccache/guix/grafts.go1 274 /gnu/store/c1ndi2hbg1fcs06gwmbwp297ky2pkw7h-guix-0.16.0-8.7ba2b27/lib/guile/2.2/site-ccache/guix/docker.go1 2 /gnu/store/c1ndi2hbg1fcs06gwmbwp297ky2pkw7h-guix-0.16.0-8.7ba2b27/lib/guile/2.2/site-ccache/guix/build-system.go1 2 /gnu/store/c1ndi2hbg1fcs06gwmbwp297ky2pkw7h-guix-0.16.0-8.7ba2b27/lib/guile/2.2/site-ccache/guix/ci.go1 2 /gnu/store/c1ndi2hbg1fcs06gwmbwp297ky2pkw7h-guix-0.16.0-8.7ba2b27/lib/guile/2.2/site-ccache/guix/cpio.go1 2 /gnu/store/c1ndi2hbg1fcs06gwmbwp297ky2pkw7h-guix-0.16.0-8.7ba2b27/lib/guile/2.2/site-ccache/guix/derivations.go1 2 /gnu/store/c1ndi2hbg1fcs06gwmbwp297ky2pkw7h-guix-0.16.0-8.7ba2b27/lib/guile/2.2/site-ccache/guix/elf.go1 2 /gnu/store/c1ndi2hbg1fcs06gwmbwp297ky2pkw7h-guix-0.16.0-8.7ba2b27/lib/guile/2.2/site-ccache/guix/gexp.go1 2 /gnu/store/c1ndi2hbg1fcs06gwmbwp297ky2pkw7h-guix-0.16.0-8.7ba2b27/lib/guile/2.2/site-ccache/guix/gnu-maintenance.go1 2 /gnu/store/c1ndi2hbg1fcs06gwmbwp297ky2pkw7h-guix-0.16.0-8.7ba2b27/lib/guile/2.2/site-ccache/guix/monads.go1 2 /gnu/store/c1ndi2hbg1fcs06gwmbwp297ky2pkw7h-guix-0.16.0-8.7ba2b27/lib/guile/2.2/site-ccache/guix/packages.go1 2 /gnu/store/c1ndi2hbg1fcs06gwmbwp297ky2pkw7h-guix-0.16.0-8.7ba2b27/lib/guile/2.2/site-ccache/guix/profiles.go1 2 /gnu/store/c1ndi2hbg1fcs06gwmbwp297ky2pkw7h-guix-0.16.0-8.7ba2b27/lib/guile/2.2/site-ccache/guix/progress.go1 2 /gnu/store/c1ndi2hbg1fcs06gwmbwp297ky2pkw7h-guix-0.16.0-8.7ba2b27/lib/guile/2.2/site-ccache/guix/search-paths.go1 2 /gnu/store/c1ndi2hbg1fcs06gwmbwp297ky2pkw7h-guix-0.16.0-8.7ba2b27/lib/guile/2.2/site-ccache/guix/self.go1 2 /gnu/store/c1ndi2hbg1fcs06gwmbwp297ky2pkw7h-guix-0.16.0-8.7ba2b27/lib/guile/2.2/site-ccache/guix/store.go1 2 /gnu/store/c1ndi2hbg1fcs06gwmbwp297ky2pkw7h-guix-0.16.0-8.7ba2b27/lib/guile/2.2/site-ccache/guix/swh.go1 2 /gnu/store/c1ndi2hbg1fcs06gwmbwp297ky2pkw7h-guix-0.16.0-8.7ba2b27/lib/guile/2.2/site-ccache/guix/zlib.go1 363 /gnu/store/c1ndi2hbg1fcs06gwmbwp297ky2pkw7h-guix-0.16.0-8.7ba2b27/lib/guile/2.2/site-ccache/guix/nar.go1 363 /gnu/store/c1ndi2hbg1fcs06gwmbwp297ky2pkw7h-guix-0.16.0-8.7ba2b27/lib/guile/2.2/site-ccache/guix/tests.go1 3 /gnu/store/c1ndi2hbg1fcs06gwmbwp297ky2pkw7h-guix-0.16.0-8.7ba2b27/lib/guile/2.2/site-ccache/guix/git-download.go1 419 /gnu/store/c1ndi2hbg1fcs06gwmbwp297ky2pkw7h-guix-0.16.0-8.7ba2b27/lib/guile/2.2/site-ccache/guix/scripts.go1 4 /gnu/store/c1ndi2hbg1fcs06gwmbwp297ky2pkw7h-guix-0.16.0-8.7ba2b27/lib/guile/2.2/site-ccache/guix/status.go1 5 /gnu/store/c1ndi2hbg1fcs06gwmbwp297ky2pkw7h-guix-0.16.0-8.7ba2b27/lib/guile/2.2/site-ccache/guix/channels.go1 5 /gnu/store/c1ndi2hbg1fcs06gwmbwp297ky2pkw7h-guix-0.16.0-8.7ba2b27/lib/guile/2.2/site-ccache/guix/git.go1 6 /gnu/store/c1ndi2hbg1fcs06gwmbwp297ky2pkw7h-guix-0.16.0-8.7ba2b27/lib/guile/2.2/site-ccache/guix/config.go1 82 /gnu/store/c1ndi2hbg1fcs06gwmbwp297ky2pkw7h-guix-0.16.0-8.7ba2b27/lib/guile/2.2/site-ccache/guix/utils.go1 88 /gnu/store/c1ndi2hbg1fcs06gwmbwp297ky2pkw7h-guix-0.16.0-8.7ba2b27/lib/guile/2.2/site-ccache/guix/ui.go
(First column is mtime, second column is nlinks.)
Many files are OK. Those with mtime=0 date back to before commite4752118691e41ae8307649d1abfd4739b3e4bfa.
Those with mtime=-3599 typically have a lot of hard links (fordeduplication) and correspond to source files that rarely change, whichsuggests they might have been created long ago and we’re just seeing nowthe symptoms of old problems.
Actually, the wrong mtime may come from the synchronization of the storeon the new storage device on berlin a couple of months ago. That soundsvery likely.
I was not able to reproduce on my machine using ‘guix copy --from’(which uses the same code path as offloading) so I’ll just close itassuming it’s a problem specific to berlin.
Ludo’.
L
L
Ludovic Courtès wrote on 10 Jan 2019 16:59
control message for bug #34030
(address . control@debbugs.gnu.org)
87va2wbj1m.fsf@gnu.org
tags 34030 notabugclose 34030
?
Your comment

This issue is archived.

To comment on this conversation send email to 34030@debbugs.gnu.org