GNU bug report logs - #60816
guix pull ("computing Guix derivation") is not reproducible

Previous Next

Package: guix;

Reported by: Julien Lepiller <julien <at> lepiller.eu>

Date: Sat, 14 Jan 2023 18:03:02 UTC

Severity: normal

Done: Julien Lepiller <julien <at> lepiller.eu>

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 60816 in the body.
You can then email your comments to 60816 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-guix <at> gnu.org:
bug#60816; Package guix. (Sat, 14 Jan 2023 18:03:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Julien Lepiller <julien <at> lepiller.eu>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Sat, 14 Jan 2023 18:03:02 GMT) Full text and rfc822 format available.

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

From: Julien Lepiller <julien <at> lepiller.eu>
To: bug-guix <at> gnu.org
Subject: guix pull ("computing Guix derivation") is not reproducible
Date: Sat, 14 Jan 2023 19:02:16 +0100
Hi Guix!

I found out today that guix pull does not compute the same derivation
on two machines, with the same architecture (x86_64), using the same
initial Guix revision (4473be9) and pulling to the same commit
(c77978d).

guix-packages-base.drv seems to be the first derivation to differ. I
get:

/gnu/store/185wzzjc6dslrw1avz7cfrafrr0l7bp9-guix-packages-base.drv on
one machine and
/gnu/store/v7jvidnqxdjkhnxi846lsc91ak7ala9k-guix-packages-base.drv on
the other.

Here's the diff (I used a sed to s/,/,\n/g for the diff to be more
meaningful :)):

2c2
< "/gnu/store/866q7lb582jid68alzpd5z0cj88gpm3j-guix-packages-base",
---
> "/gnu/store/kmqhq1fa1ah7x7iz3jqfqcm4p53rln6p-guix-packages-base",
42,44c42,44
<
"/gnu/store/8wdw7l4badagdzs7pay8fj15v50p8by3-guix-packages-base-source",
< "/gnu/store/rybrv6mrbb8yihk4mdhsmnfqlq3i4rq8-module-import",
<
"/gnu/store/svssahra9ahb73knj7jq666jnhrcjk4z-guix-packages-base-builder"],
---
> "/gnu/store/8s93iwfi0kscr5911h8b4312krwywa7q-guix-packages-base-source",
> "/gnu/store/pxwsa9i2sqy96f153jcbs1m4sb8bmqs2-guix-packages-base-builder",
> "/gnu/store/rybrv6mrbb8yihk4mdhsmnfqlq3i4rq8-module-import"],
52c52
<
"/gnu/store/svssahra9ahb73knj7jq666jnhrcjk4z-guix-packages-base-builder"],
---
> "/gnu/store/pxwsa9i2sqy96f153jcbs1m4sb8bmqs2-guix-packages-base-builder"],
58c58
< "/gnu/store/866q7lb582jid68alzpd5z0cj88gpm3j-guix-packages-base")])
\ Pas de fin de ligne à la fin du fichier
---
> "/gnu/store/kmqhq1fa1ah7x7iz3jqfqcm4p53rln6p-guix-packages-base")])
\ Pas de fin de ligne à la fin du fichier


So, apart from the output filename which obviously changes, it seems
that the differences are:

- order of dependencies,
- source output,
- builder (only because it references the source output)

Here's the result of diffoscope on the source outputs (ignore
modification date, I used touch to make them all the same, not to make
them sensible ;)):

--- source1
+++ source2
│   --- source1/gnu
├── +++ source2/gnu
│ │   --- source1/gnu/packages
│ ├── +++ source2/gnu/packages
│ │ │   --- source1/gnu/packages/aux-files
│ │ ├── +++ source2/gnu/packages/aux-files
│ │ │ │   --- source1/gnu/packages/aux-files/linux-libre
│ │ │ ├── +++ source2/gnu/packages/aux-files/linux-libre
│ │ │ │ ├── file list
│ │ │ │ │ @@ -9,18 +9,14 @@
│ │ │ │ │  5.10-arm64.conf
│ │ │ │ │  5.10-i686.conf
│ │ │ │ │  5.10-x86_64.conf
│ │ │ │ │  5.15-arm.conf
│ │ │ │ │  5.15-arm64.conf
│ │ │ │ │  5.15-i686.conf
│ │ │ │ │  5.15-x86_64.conf
│ │ │ │ │ -5.18-arm.conf
│ │ │ │ │ -5.18-arm64.conf
│ │ │ │ │ -5.18-i686.conf
│ │ │ │ │ -5.18-x86_64.conf
│ │ │ │ │  5.4-arm.conf
│ │ │ │ │  5.4-arm64.conf
│ │ │ │ │  5.4-i686.conf
│ │ │ │ │  5.4-x86_64.conf
│ │ │ │ │  6.1-arm.conf
│ │ │ │ │  6.1-arm64.conf
│ │ │ │ │  6.1-i686.conf
│ │ │ │ ├──
/gnu/store/8fpk2cja3f07xls48jfnpgrzrljpqivr-coreutils-8.32/bin/stat {}
│ │ │ │ │ @@ -1,8 +1,8 @@
│ │ │ │ │  
│ │ │ │ │ -  Size: 766       	Blocks: 0          IO Block: 4096
 directory
│ │ │ │ │ +  Size: 650       	Blocks: 0          IO Block: 4096
 directory
│ │ │ │ │  Links: 1
│ │ │ │ │  Access: (0555/dr-xr-xr-x)  Uid: ( 1000/tyreunom)   Gid: (
998/   users)
│ │ │ │ │  
│ │ │ │ │  Modify: 2019-12-31 23:00:00.000000000 +0000
│ │ │ │ ├──
/gnu/store/8fpk2cja3f07xls48jfnpgrzrljpqivr-coreutils-8.32/bin/stat {}
│ │ │ │ │ @@ -1,8 +1,8 @@
│ │ │ │ │  
│ │ │ │ │ +  Size: 650       	Blocks: 0          IO Block: 4096
 directory
│ │ │ │ │ -  Size: 766       	Blocks: 0          IO Block: 4096
 directory
│ │ │ │ │  Links: 1
│ │ │ │ │  Access: (0555/dr-xr-xr-x)  Uid: ( 1000/tyreunom)   Gid: (
998/   users)
│ │ │ │ │  
│ │ │ │ │  Modify: 2019-12-31 23:00:00.000000000 +0000
│ │ │   --- source1/gnu/packages/patches
│ │ ├── +++ source2/gnu/packages/patches
│ │ │ ├── file list
│ │ │ │ @@ -136,15 +136,14 @@
│ │ │ │  classpath-aarch64-support.patch
│ │ │ │  classpath-miscompilation.patch
│ │ │ │  cling-use-shared-library.patch
│ │ │ │  clucene-contribs-lib.patch
│ │ │ │  clucene-pkgconfig.patch
│ │ │ │  cmake-curl-certificates-3.24.patch
│ │ │ │  cmake-curl-certificates.patch
│ │ │ │ -cmh-support-fplll.patch
│ │ │ │  coda-use-system-libs.patch
│ │ │ │  collectd-5.11.0-noinstallvar.patch
│ │ │ │  combinatorial-blas-awpm.patch
│ │ │ │  combinatorial-blas-io-fix.patch
│ │ │ │  connman-CVE-2022-32292.patch
│ │ │ │  connman-CVE-2022-32293-pt1.patch
│ │ │ │  connman-CVE-2022-32293-pt2.patch
│ │ │ │ @@ -216,15 +215,14 @@
│ │ │ │  emacs-source-date-epoch.patch
│ │ │ │  emacs-telega-path-placeholder.patch
│ │ │ │  emacs-telega-test-env.patch
│ │ │ │  emacs-wordnut-require-adaptive-wrap.patch
│ │ │ │  emacs-yasnippet-fix-tests.patch
│ │ │ │  enjarify-setup-py.patch
│ │ │ │  enlightenment-fix-setuid-path.patch
│ │ │ │ -eog-update-libportal-usage.patch
│ │ │ │  erlang-man-path.patch
│ │ │ │  esmtp-add-lesmtp.patch
│ │ │ │  eudev-rules-directory.patch
│ │ │ │  exercism-disable-self-update.patch
│ │ │ │  extempore-unbundle-external-dependencies.patch
│ │ │ │  extundelete-e2fsprogs-1.44.patch
│ │ │ │  fail2ban-0.11.2_CVE-2021-32749.patch
│ │ │ │ @@ -375,23 +373,18 @@
│ │ │ │  glibc-skip-c++.patch
│ │ │ │  glibc-static-nss.patch
│ │ │ │  glibc-supported-locales.patch
│ │ │ │  glibc-versioned-locpath.patch
│ │ │ │  gmp-arm-asm-nothumb.patch
│ │ │ │  gmp-faulty-test.patch
│ │ │ │  gnash-fix-giflib-version.patch
│ │ │ │ -gnome-boxes-add-guix-logo.patch
│ │ │ │ -gnome-builder-update-libportal.patch
│ │ │ │  gnome-control-center-libexecdir.patch
│ │ │ │  gnome-online-miners-tracker-3.patch
│ │ │ │ -gnome-screenshot-meson-0.60.patch
│ │ │ │  gnome-session-support-elogind.patch
│ │ │ │  gnome-settings-daemon-gc.patch
│ │ │ │ -gnome-shell-polkit-autocleanup.patch
│ │ │ │ -gnome-todo-libportal.patch
│ │ │ │  gnome-tweaks-search-paths.patch
│ │ │ │  gnupg-1-build-with-gcc10.patch
│ │ │ │  gnupg-CVE-2022-34903.patch
│ │ │ │  gnupg-default-pinentry.patch
│ │ │ │  gnutls-cross.patch
│ │ │ │  gnutls-guile-eintr-eagain.patch
│ │ │ │  gnutls-skip-trust-store-test.patch
│ │ │ │ @@ -412,15 +405,14 @@
│ │ │ │  gpsbabel-fix-i686-test.patch
│ │ │ │  grep-timing-sensitive-test.patch
│ │ │ │  grfcodec-gcc-compat.patch
│ │ │ │  gromacs-tinyxml2.patch
│ │ │ │  groovy-add-exceptionutilsgenerator.patch
│ │ │ │  grub-efi-fat-serial-number.patch
│ │ │ │  grub-setup-root.patch
│ │ │ │ -gspell-dash-test.patch
│ │ │ │  gtk-doc-respect-xml-catalog.patch
│ │ │ │  gtk2-fix-builder-test.patch
│ │ │ │  gtk2-respect-GUIX_GTK2_IM_MODULE_FILE.patch
│ │ │ │  gtk2-respect-GUIX_GTK2_PATH.patch
│ │ │ │  gtk2-theme-paths.patch
│ │ │ │  gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch
│ │ │ │  gtk3-respect-GUIX_GTK3_PATH.patch
│ │ │ │ @@ -458,28 +450,26 @@
│ │ │ │  hdf-eos5-fortrantests.patch
│ │ │ │  hdf-eos5-remove-gctp.patch
│ │ │ │  hdf4-architectures.patch
│ │ │ │  hdf4-reproducibility.patch
│ │ │ │  hdf4-shared-fortran.patch
│ │ │ │  hdf4-tirpc.patch
│ │ │ │  hdf5-config-date.patch
│ │ │ │ -hedgewars-network-bsd.patch
│ │ │ │  helm-fix-gcc-9-build.patch
│ │ │ │  htslib-for-stringtie.patch
│ │ │ │  http-parser-CVE-2020-8287.patch
│ │ │ │  hubbub-sort-entities.patch
│ │ │ │  hueplusplus-mbedtls.patch
│ │ │ │  hurd-cross.patch
│ │ │ │  hurd-xattr.patch
│ │ │ │  hwloc-1-test-btrfs.patch
│ │ │ │  i3status-rust-enable-unstable-features.patch
│ │ │ │  i7z-gcc-10.patch
│ │ │ │  icecat-avoid-bundled-libraries.patch
│ │ │ │  icecat-makeicecat.patch
│ │ │ │ -icecat-use-older-reveal-hidden-html.patch
│ │ │ │  icecat-use-system-graphite2+harfbuzz.patch
│ │ │ │  icecat-use-system-media-libs.patch
│ │ │ │  icedtea-7-hotspot-aarch64-use-c++98.patch
│ │ │ │  id3lib-CVE-2007-4460.patch
│ │ │ │  id3lib-UTF16-writing-bug.patch
│ │ │ │  idris-test-ffi008.patch
│ │ │ │  ilmbase-fix-tests.patch
│ │ │ │ @@ -493,23 +483,21 @@
│ │ │ │  iputils-libcap-compat.patch
│ │ │ │  ipxe-reproducible-geniso.patch
│ │ │ │  irrlicht-link-against-needed-libs.patch
│ │ │ │  irrlicht-use-system-libs.patch
│ │ │ │  isl-0.11.1-aarch64-support.patch
│ │ │ │  itk-snap-alt-glibc-compat.patch
│ │ │ │  jami-disable-integration-tests.patch
│ │ │ │ -jami-fix-esc-bug.patch
│ │ │ │  jami-libjami-headers-search.patch
│ │ │ │  jamvm-1.5.1-aarch64-support.patch
│ │ │ │  jamvm-1.5.1-armv7-support.patch
│ │ │ │  jamvm-2.0.0-aarch64-support.patch
│ │ │ │  jamvm-2.0.0-disable-branch-patching.patch
│ │ │ │  jamvm-2.0.0-opcode-guard.patch
│ │ │ │  java-antlr4-Add-standalone-generator.patch
│ │ │ │ -java-antlr4-fix-code-too-large.java
│ │ │ │  java-apache-ivy-port-to-latest-bouncycastle.patch
│ │ │ │  java-commons-collections-fix-java8.patch
│ │ │ │  java-commons-lang-fix-dependency.patch
│ │ │ │  java-jeromq-fix-tests.patch
│ │ │ │  java-openjfx-build-jdk_version.patch
│ │ │ │  java-powermock-fix-java-files.patch
│ │ │ │  java-simple-xml-fix-tests.patch
│ │ │ │ @@ -709,15 +697,14 @@
│ │ │ │  mpg321-gcc-10.patch
│ │ │ │  mrrescue-support-love-11.patch
│ │ │ │  mtools-mformat-uninitialized.patch
│ │ │ │  mupen64plus-ui-console-notice.patch
│ │ │ │  mupen64plus-video-z64-glew-correct-path.patch
│ │ │ │  musl-cross-locale.patch
│ │ │ │  mutt-store-references.patch
│ │ │ │ -nautilus-add-libportal-gtk3.patch
│ │ │ │  nautilus-extension-search-path.patch
│ │ │ │  ncftp-reproducible.patch
│ │ │ │  ncompress-fix-softlinks.patch
│ │ │ │  netcdf-date-time.patch
│ │ │ │  netpbm-CVE-2017-2586.patch
│ │ │ │  netpbm-CVE-2017-2587.patch
│ │ │ │  netsurf-longer-test-timeout.patch
│ │ │ │ @@ -800,23 +787,21 @@
│ │ │ │  perl-reproducible-build-date.patch
│ │ │ │  perl-text-markdown-discount-unbundle.patch
│ │ │ │  perl-www-curl-fix-struct-void.patch
│ │ │ │  perl-www-curl-remove-symbol.patch
│ │ │ │  phoronix-test-suite-fsdg.patch
│ │ │ │  php-bug-74093-test.patch
│ │ │ │  php-curl-compat.patch
│ │ │ │ -picard-fix-id3-rename-test.patch
│ │ │ │  picprog-non-intel-support.patch
│ │ │ │  pidgin-add-search-path.patch
│ │ │ │  pinball-system-ltdl.patch
│ │ │ │  pingus-boost-headers.patch
│ │ │ │  pingus-sdl-libs-config.patch
│ │ │ │  pipewire-0.2.7-fno-common.patch
│ │ │ │  pixman-CVE-2016-5296.patch
│ │ │ │ -pjproject-install-libpjsua2.patch
│ │ │ │  plasma-framework-fix-KF5PlasmaMacros.cmake.patch
│ │ │ │  plib-CVE-2011-4620.patch
│ │ │ │  plib-CVE-2012-4552.patch
│ │ │ │  plink-1.07-unclobber-i.patch
│ │ │ │  plink-endian-detection.patch
│ │ │ │  plotutils-spline-test.patch
│ │ │ │  pocketfft-cpp-prefer-preprocessor-if.patch
│ │ │ │ @@ -831,15 +816,14 @@
│ │ │ │  procmail-ambiguous-getline-debian.patch
│ │ │ │  protobuf-fix-build-on-32bit.patch
│ │ │ │  psm-arch.patch
│ │ │ │  psm-disable-memory-stats.patch
│ │ │ │  psm-ldflags.patch
│ │ │ │  psm-repro.patch
│ │ │ │  pthreadpool-system-libraries.patch
│ │ │ │ -public-inbox-fix-spawn-test.patch
│ │ │ │  pulseaudio-fix-mult-test.patch
│ │ │ │  pulseaudio-longer-test-timeout.patch
│ │ │ │  pulseview-glib-2.68.patch
│ │ │ │  pulseview-qt515-compat.patch
│ │ │ │  pybugz-encode-error.patch
│ │ │ │  pybugz-stty.patch
│ │ │ │  pygpgme-disable-problematic-tests.patch
│ │ │ │ @@ -923,20 +907,18 @@
│ │ │ │  qtwebkit-fix-building-with-bison-3.7.patch
│ │ │ │  qtwebkit-fix-building-with-glib-2.68.patch
│ │ │ │  qtwebkit-fix-building-with-icu-68.patch
│ │ │ │  qtwebkit-fix-building-with-python-3.9.patch
│ │ │ │  qtwebkit-pbutils-include.patch
│ │ │ │  quagga-reproducible-build.patch
│ │ │ │  quickswitch-fix-dmenu-check.patch
│ │ │ │ -r-httpuv-1.5.5-unvendor-libuv.patch
│ │ │ │  r-httpuv-1.6.6-unvendor-libuv.patch
│ │ │ │  r-mixedpower-r2power.patch
│ │ │ │  racket-backport-8.7-pkg-strip.patch
│ │ │ │  racket-chez-scheme-bin-sh.patch
│ │ │ │ -racket-minimal-sh-via-rktio.patch
│ │ │ │  racket-rktio-bin-sh.patch
│ │ │ │  racket-zuo-bin-sh.patch
│ │ │ │  ragel-char-signedness.patch
│ │ │ │  randomjungle-disable-static-build.patch
│ │ │ │  range-v3-build-with-gcc10.patch
│ │ │ │  rapidjson-gcc-compat.patch
│ │ │ │  raptor2-heap-overflow.patch
│ │ │ │ @@ -984,16 +966,14 @@
│ │ │ │  sbcl-aserve-fix-rfe12668.patch
│ │ │ │  sbcl-burgled-batteries3-fix-signals.patch
│ │ │ │  sbcl-clml-fix-types.patch
│ │ │ │  sbcl-png-fix-sbcl-compatibility.patch
│ │ │ │  scalapack-gcc-10-compilation.patch
│ │ │ │  scheme48-tests.patch
│ │ │ │  scons-test-environment.patch
│ │ │ │ -scotch-build-parallelism.patch
│ │ │ │ -scotch-integer-declarations.patch
│ │ │ │  screen-hurd-path-max.patch
│ │ │ │  sdcc-disable-non-free-code.patch
│ │ │ │  sdl-libx11-1.6.patch
│ │ │ │  sdl-pango-api_additions.patch
│ │ │ │  sdl-pango-blit_overflow.patch
│ │ │ │  sdl-pango-fillrect_crash.patch
│ │ │ │  sdl-pango-header-guard.patch
│ │ │ ├──
/gnu/store/8fpk2cja3f07xls48jfnpgrzrljpqivr-coreutils-8.32/bin/stat {}
│ │ │ │ @@ -1,8 +1,8 @@
│ │ │ │  
│ │ │ │ +  Size: 71898     	Blocks: 0          IO Block: 4096
directory
│ │ │ │ -  Size: 73150     	Blocks: 0          IO Block: 4096
directory
│ │ │ │  Links: 1
│ │ │ │  Access: (0555/dr-xr-xr-x)  Uid: ( 1000/tyreunom)   Gid: (
998/   users)
│ │ │ │  
│ │ │ │  Modify: 2019-12-31 23:00:00.000000000 +0000
│ │ │ ├──
/gnu/store/8fpk2cja3f07xls48jfnpgrzrljpqivr-coreutils-8.32/bin/stat {}
│ │ │ │ @@ -1,8 +1,8 @@
│ │ │ │  
│ │ │ │ -  Size: 73150     	Blocks: 0          IO Block: 4096
directory
│ │ │ │ +  Size: 71898     	Blocks: 0          IO Block: 4096
directory
│ │ │ │  Links: 1
│ │ │ │  Access: (0555/dr-xr-xr-x)  Uid: ( 1000/tyreunom)   Gid: (
998/   users)
│ │ │ │  
│ │ │ │  Modify: 2019-12-31 23:00:00.000000000 +0000

Could it be that removed files are somehow kept in cache?




Information forwarded to bug-guix <at> gnu.org:
bug#60816; Package guix. (Sun, 15 Jan 2023 11:55:01 GMT) Full text and rfc822 format available.

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

From: Josselin Poiret <dev <at> jpoiret.xyz>
To: Julien Lepiller <julien <at> lepiller.eu>, 60816 <at> debbugs.gnu.org
Subject: Re: bug#60816: guix pull ("computing Guix derivation") is not
 reproducible
Date: Sun, 15 Jan 2023 12:54:45 +0100
Hi Julien,

Julien Lepiller <julien <at> lepiller.eu> writes:

> So, apart from the output filename which obviously changes, it seems
> that the differences are:
>
> - order of dependencies,
> - source output,
> - builder (only because it references the source output)
>
> Here's the result of diffoscope on the source outputs (ignore
> modification date, I used touch to make them all the same, not to make
> them sensible ;)):
>
> [...]
>
> Could it be that removed files are somehow kept in cache?

Does this still happen if you run `git clean -df` in both of your local
checkouts?

Best,
-- 
Josselin Poiret




Reply sent to Julien Lepiller <julien <at> lepiller.eu>:
You have taken responsibility. (Sun, 15 Jan 2023 13:31:02 GMT) Full text and rfc822 format available.

Notification sent to Julien Lepiller <julien <at> lepiller.eu>:
bug acknowledged by developer. (Sun, 15 Jan 2023 13:31:02 GMT) Full text and rfc822 format available.

Message #13 received at 60816-close <at> debbugs.gnu.org (full text, mbox):

From: Julien Lepiller <julien <at> lepiller.eu>
To: Josselin Poiret <dev <at> jpoiret.xyz>
Cc: 60816-close <at> debbugs.gnu.org
Subject: Re: bug#60816: guix pull ("computing Guix derivation") is not
 reproducible
Date: Sun, 15 Jan 2023 14:29:55 +0100
Le Sun, 15 Jan 2023 12:54:45 +0100,
Josselin Poiret <dev <at> jpoiret.xyz> a écrit :

> Hi Julien,
> 
> Julien Lepiller <julien <at> lepiller.eu> writes:
> 
> > So, apart from the output filename which obviously changes, it seems
> > that the differences are:
> >
> > - order of dependencies,
> > - source output,
> > - builder (only because it references the source output)
> >
> > Here's the result of diffoscope on the source outputs (ignore
> > modification date, I used touch to make them all the same, not to
> > make them sensible ;)):
> >
> > [...]
> >
> > Could it be that removed files are somehow kept in cache?  
> 
> Does this still happen if you run `git clean -df` in both of your
> local checkouts?
> 
> Best,

Haha!

it seems that on one machine, my .cache/guix/checkouts got polluted by
uncommited files. I have no idea why they're there, but cleaning them
should solve my issue, thanks!




Information forwarded to bug-guix <at> gnu.org:
bug#60816; Package guix. (Sun, 15 Jan 2023 14:36:01 GMT) Full text and rfc822 format available.

Message #16 received at 60816-close <at> debbugs.gnu.org (full text, mbox):

From: Josselin Poiret <dev <at> jpoiret.xyz>
To: Julien Lepiller <julien <at> lepiller.eu>
Cc: 60816-close <at> debbugs.gnu.org
Subject: Re: bug#60816: guix pull ("computing Guix derivation") is not
 reproducible
Date: Sun, 15 Jan 2023 15:35:31 +0100
Hi again Julien,

Julien Lepiller <julien <at> lepiller.eu> writes:

> it seems that on one machine, my .cache/guix/checkouts got polluted by
> uncommited files. I have no idea why they're there, but cleaning them
> should solve my issue, thanks!

It's not the first time we've seen this, we could probably consider
adding a git clean after the reset in switch-to-ref.

Best,
-- 
Josselin Poiret




Information forwarded to bug-guix <at> gnu.org:
bug#60816; Package guix. (Mon, 16 Jan 2023 01:26:01 GMT) Full text and rfc822 format available.

Message #19 received at 60816-close <at> debbugs.gnu.org (full text, mbox):

From: bokr <at> bokr.com
To: Josselin Poiret <dev <at> jpoiret.xyz>
Cc: Julien Lepiller <julien <at> lepiller.eu>, 60816-close <at> debbugs.gnu.org
Subject: Re: bug#60816: guix pull ("computing Guix derivation") is not
 reproducible
Date: Mon, 16 Jan 2023 02:25:08 +0100
Hi,

On +2023-01-15 15:35:31 +0100, Josselin Poiret via Bug reports for GNU Guix wrote:
> Hi again Julien,
> 
> Julien Lepiller <julien <at> lepiller.eu> writes:
> 
> > it seems that on one machine, my .cache/guix/checkouts got polluted by
> > uncommited files. I have no idea why they're there, but cleaning them
> > should solve my issue, thanks!
> 
> It's not the first time we've seen this, we could probably consider
> adding a git clean after the reset in switch-to-ref.
> 
> Best,
> -- 
> Josselin Poiret

Could wrong timestamps on pushed files cause problems?

E.g., if you were working offline on a laptop where
    cat /proc/driver/rtc
was significantly wrong at boot time, perhaps due to flaky CMOS battery,
or error in init specs? If you didn't connect to the internet and get
synced, couldn't you wind up with files with bad time stamps?

(I think I can dig up evidence of that, when I didn't connect,
though I don't show it here).

Could some Makefile action or some date-sensitive find or
    if [[ file1 -nt file2 ]] then <action> 
be wrongly triggered and leave mystery files around?

IWT synchronizing distributed monotonic time has to have been solved
a long ago, but old unnoticed errors do seem to wake up sometimes
in new circumstances.

I have been having mystery problems with time, which I have yet to
diagnose properly. One theory that matches some symptoms is if there
is a virtualized /proc/driver/rtc which gets a bogus value temporarily,
which gets accessed and stored by whatever stores time as boot time for
who -b to see forever (until shutdown) --
but date and other time functions see the virtual /proc/driver/rtc every
time, not a cached value, so they get corrected shortly after internet
is connected.

But what happens to file time stamps if you don't connect
to the internet for a long time?

BTW,I see the bad time at the top of the screen right after boot
but before reaching login, and IIRC it will currect to local without
logging in if I plug in the internet dongle.

Shown below I just booted from cold power-off, with 99% main battery,
about 17:20, so how to explain bogus who -b system boot time of 07:53
this morning? From that timee uptime at 17:20:06
would be: 9hrs 27min 6sec, not "1:14" (1hr 14min))

Well, I guess the 9 hours could be explained by root having a different
idea of locale at pre-internet boot time, but the 27min 6 sec?  

--8<---------------cut here---------------start------------->8---
who -b; uptime;date -Ins;grep rtc /proc/driver/rtc
         system boot  2023-01-15 07:53
 17:20:06 up  1:14,  1 user,  load average: 0.00, 0.08, 0.15
2023-01-15T17:20:06,768027575+01:00
rtc_time        : 16:20:06
rtc_date        : 2023-01-15
--8<---------------cut here---------------end--------------->8---

Also some anomalies in dmesg and journalctl -b, but inconclusive for me ;/

I noticed the bad "who -b" times because whenever my ~/.bash_profile
sees a change as I log in, it uses the date to create a new scratch
"boot-session" directory and updates a symbolic link to it at ~/bs
like stat -c %N ~/bs shows:
    '/home/bokr/bs' -> '/home/bokr/BS/bs20230115_0753'
which is annoyingly wrong. It also makes a link to the previous ~/bs
in the new, like
    '/home/bokr/bs/pbs' -> '../bs20230113_0427'
(showing some insomnia ;/ )

but if I cd ~/bs PS1 will display a nice short prompt :)
--8<---------------cut here---------------start------------->8---
[01:53 ~/bs]$ cd ~/bs
[01:53 ~/bs]$ realpath .
/home/bokr/BS/bs20230115_0753
[01:53 ~/bs]$ realpath ~/bs
/home/bokr/BS/bs20230115_0753
[01:54 ~/bs]$ 
--8<---------------cut here---------------end--------------->8---

HTH & SFTN if this is not useful or relevant.
--
Regards,
Bengt Richter





Information forwarded to bug-guix <at> gnu.org:
bug#60816; Package guix. (Mon, 16 Jan 2023 11:53:03 GMT) Full text and rfc822 format available.

Message #22 received at 60816-close <at> debbugs.gnu.org (full text, mbox):

From: Simon Tournier <zimon.toutoune <at> gmail.com>
To: Josselin Poiret <dev <at> jpoiret.xyz>, Julien Lepiller <julien <at> lepiller.eu>
Cc: 60816-close <at> debbugs.gnu.org
Subject: Re: bug#60816: guix pull ("computing Guix derivation") is not
 reproducible
Date: Mon, 16 Jan 2023 12:48:30 +0100
Hi,

On dim., 15 janv. 2023 at 15:35, Josselin Poiret via Bug reports for GNU Guix <bug-guix <at> gnu.org> wrote:
> Julien Lepiller <julien <at> lepiller.eu> writes:
>
>> it seems that on one machine, my .cache/guix/checkouts got polluted by
>> uncommited files. I have no idea why they're there, but cleaning them
>> should solve my issue, thanks!
>
> It's not the first time we've seen this, we could probably consider
> adding a git clean after the reset in switch-to-ref.

Yes, I remember discussing something like that in bug#47949 [1].

As discussed, maybe it’s time a “Git checkout cache daemon” [2]. :-)

1: <http://issues.guix.gnu.org/msgid/87zgdfd7ee.fsf <at> contorta>
2: <https://yhetil.org/guix/87k08x3sjv.fsf <at> gnu.org>

Cheers,
simon




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Mon, 13 Feb 2023 12:24:04 GMT) Full text and rfc822 format available.

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

Previous Next


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