GNU bug report logs - #42009
package cache build is not deterministic

Previous Next

Package: guix;

Reported by: Marinus <marinus.savoritias <at> disroot.org>

Date: Mon, 22 Jun 2020 17:26:02 UTC

Severity: normal

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Marinus <marinus.savoritias <at> disroot.org>
Subject: bug#42009: closed (Re: bug#42009: package.cache not deterministic)
Date: Thu, 30 Jul 2020 17:24:02 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#42009: package cache build is not deterministic

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to 42009 <at> debbugs.gnu.org.

-- 
42009: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=42009
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Ludovic Courtès <ludo <at> gnu.org>
To: zimoun <zimon.toutoune <at> gmail.com>
Cc: Marinus <marinus.savoritias <at> disroot.org>,
 Tobias Geerinckx-Rice <me <at> tobias.gr>, 42009-done <at> debbugs.gnu.org
Subject: Re: bug#42009: package.cache not deterministic
Date: Thu, 30 Jul 2020 19:22:47 +0200
Hi,

Ludovic Courtès <ludo <at> gnu.org> skribis:

> But it’s not quite right because the order in which variables are
> traversed is still non-deterministic, so between two runs of
> ‘generate-package-cache’, caches differ like this:
>
> --- a	2020-06-29 14:27:32.291028456 +0200
> +++ b	2020-06-29 14:27:37.930993059 +0200
> @@ -8581,7 +8581,7 @@
>   #("clang-runtime"
>     "9.0.1"
>     (gnu packages llvm)
> -   clang-runtime
> +   clang-runtime-9
>     ("out")
>     #t
>     #f
> @@ -26511,7 +26511,7 @@
>   #("gcc-objc++"
>     "7.5.0"
>     (gnu packages gcc)
> -   gcc-objc++-7
> +   gcc-objc++
>     ("out" "lib" "debug")
>     #t
>     #f
> @@ -26641,7 +26641,7 @@
>   #("gcc-toolchain"
>     "7.5.0"
>     (gnu packages commencement)
> -   gcc-toolchain
> +   gcc-toolchain-7
>     ("out" "debug" "static")
>     #t
>     #f
> @@ -33311,7 +33311,7 @@
>   #("ghc"
>     "8.6.5"
>     (gnu packages haskell)
> -   ghc-8.6
> +   ghc-8
>     ("out" "doc")
>     #t
>     #f
> @@ -41876,7 +41876,7 @@
>   #("icedtea"
>     "3.7.0"
>     (gnu packages java)
> -   icedtea-8
> +   icedtea
>     ("out" "jdk" "doc")
>     #t
>     #f
> @@ -54376,7 +54376,7 @@
>   #("linux-libre-headers"
>     "5.4.20"
>     (gnu packages linux)
> -   linux-libre-headers-5.4.20
> +   linux-libre-headers
>     ("out")
>     #t
>     #f
> @@ -54636,7 +54636,7 @@
>   #("llvm"
>     "9.0.1"
>     (gnu packages llvm)
> -   llvm-9
> +   llvm
>     ("out" "opt-viewer")
>     #t
>     #f
> @@ -61826,7 +61826,7 @@
>   #("ocaml"
>     "4.09.0"
>     (gnu packages ocaml)
> -   ocaml
> +   ocaml-4.09
>     ("out")
>     #t
>     #f
> @@ -62256,7 +62256,7 @@
>   #("opencl-headers"
>     "2.2.0-0.e986688"
>     (gnu packages opencl)
> -   opencl-headers
> +   opencl-headers-2.2
>     ("out")
>     #t
>     #f
> @@ -92636,7 +92636,7 @@
>   #("python2"
>     "2.7.17"
>     (gnu packages python)
> -   python-2
> +   python-2.7
>     ("out" "tk")
>     #t
>     #f
> @@ -92646,7 +92646,7 @@
>   #("python"
>     "3.8.2"
>     (gnu packages python)
> -   python-3
> +   python
>     ("out" "tk")
>     #t
>     #f
> @@ -123676,7 +123676,7 @@
>   #("rust"
>     "1.39.0"
>     (gnu packages rust)
> -   rust-1.39
> +   rust
>     ("out" "doc" "cargo")
>     #t
>     #f
>
>
> The problem has to do with aliases: we don’t always see the same
> variable first.  So we have to sort before calling ‘expand-cache’.

Fixed in a127e52f601ee73f675d5d28eac2388bb1ad11b0!

Ludo’.

[Message part 3 (message/rfc822, inline)]
From: Marinus <marinus.savoritias <at> disroot.org>
To: bug-guix <at> gnu.org
Subject: Determinism problem with guix pull
Date: Mon, 22 Jun 2020 19:07:42 +0200
Hi,

Run into a determinism problem today with guix pull.
I run guix pull --rounds=3 but guix ended in error that the result
wasn't the same.

The error was this:
building package cache...
|output
‘/gnu/store/277s1r2kxw9pfw1g6wg3vf6wrkksj57y-guix-package-cache’ of
‘/gnu/store/m64b2g2h75xbbnrxxn3g1h4833i58yj4-guix-package-cache.drv’
differs from previous round build of
/gnu/store/m64b2g2h75xbbnrxxn3g1h4833i58yj4-guix-package-cache.drv
failed View build log at
'/var/log/guix/drvs/m6/4b2g2h75xbbnrxxn3g1h4833i58yj4-guix-package-cache.drv.bz2'.
cannot build derivation
`/gnu/store/bcpjm4yvslpf4858lx4pj89xj279z5nv-profile.drv': 1
dependencies couldn't be built guix pull: error: build of
`/gnu/store/bcpjm4yvslpf4858lx4pj89xj279z5nv-profile.drv' failed

The files are indeed different size with one being larger than the
other.

My system is this:
guix describe
Generation 7	Jun 18 2020 13:55:17	(current)
  guix e418c3d
    repository URL: https://git.savannah.gnu.org/git/guix.git
    branch: master
    commit: e418c3d076ec301a2deda42568035d75f5ed174d


Marinus



This bug report was last modified 4 years and 292 days ago.

Previous Next


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