Subject: Re: bug#55639: time-machine back in 2020: weird error

From: Ludovic Courtès <[email-masked]>
Date: Wed, 01 Jun 2022 11:44:48 +0200

Hi,

zimoun <[email-masked]> skribis:

> On mar., 31 mai 2022 at 16:32, Ludovic Courtès <[email-masked]> wrote:
>
>> $ guix time-machine --commit=a7b20226b2 -- build hello
>> guile: warning: failed to install locale
>> /gnu/store/a462kby1q51ndvxdv3b6p0rsixxrgx1h-hello-2.10
>
> It works on all of my machine except my newest one…
>
>>> Last, on machine B, the time-machine just works.  Maybe it is related to
>>> NVMe and something like [1].
>
> …and what is different between all my machines and the newest one?

I don’t think it has anything to do with that.  Seems more like a
problem in our code that would only manifest under special
circumstances—we just need to find out what makes them special.  :-)

> $ guix time-machine --commit=a7b20226b2 -- repl -q
> guile: warning: failed to install locale
> GNU Guile 3.0.2
> Copyright (C) 1995-2020 Free Software Foundation, Inc.
>
> Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
> This program is free software, and you are welcome to redistribute it
> under certain conditions; type `,show c' for details.
>
> Enter `,help' for help.
> scheme@(guix-user)> (use-modules (guix store) (guix packages) (gnu packages base))
> scheme@(guix-user)> (with-store store (package-derivation store hello))
> ice-9/boot-9.scm:1669:16: In procedure raise-exception:
> Throw to key `match-error' with args `("match" "no matching pattern" #<derivation /gnu/store/c6hgmfq0i4zgryqyl0ab1ms51fnrkmdv-bootstrap-binaries-0.drv => /gnu/store/5bdaayvl6cs8nrdivskz4dbrsy2m009c-bootstrap-binaries-0 7f131ff71be0>)'.
>
> Entering a new prompt.  Type `,bt' for a backtrace or `,q' to continue.
> scheme@(guix-user) [1]> ,bt
> In ice-9/boot-9.scm:
>   1736:10 27 (with-exception-handler _ _ #:unwind? _ #:unwind-for-type _)
> In guix/store.scm:
>    630:22 26 (thunk)
> In guix/packages.scm:
>    966:16 25 (package-derivation _ #<package [email-masked] gnu/packages/base.scm:74 7f131fcbb000> _ #:graft? _)
>   1285:22 24 (thunk)
>   1218:25 23 (bag->derivation #<store-connection 256.99 7f131feb4500> #<<bag> name: "hello-2.10" system: "x86_64-linux" target: #f build-inputs: (("sour…> …)
> In srfi/srfi-1.scm:
>    586:29 22 (map1 (("source" #<origin "mirror://gnu/hello/hello-2.10.tar.gz" ghqgme32sythn2e7nhi3mu4c32k2p335sffyzokw6qpkolqpkfvq () 7f131fcb9000>) (…) …))
>    586:17 21 (map1 (("tar" #<package [email-masked] guix/build-system/gnu.scm:143 7f131ff2ff00>) ("gzip" #<package [email-masked] guix/build-system/gnu.scm:143…>) …))
> In guix/packages.scm:
>   1009:16 20 (expand-input #<store-connection 256.99 7f131feb4500> #<package [email-masked] gnu/packages/base.scm:74 7f131fcbb000> ("tar" #<package tar@1.…>) …)
>    966:16 19 (package-derivation _ #<package [email-masked] guix/build-system/gnu.scm:143 7f131ff2ff00> _ #:graft? _)
>   1285:22 18 (thunk)
>   1218:25 17 (bag->derivation #<store-connection 256.99 7f131feb4500> #<<bag> name: "tar-1.32" system: "x86_64-linux" target: #f build-inputs: (("source…> …)
> In srfi/srfi-1.scm:
>    586:17 16 (map1 (("source" #<origin "mirror://gnu/tar/tar-1.32.tar.xz" 2dj24b7ramzdx2ajxq7kydomhbwvfrjgesm74bkrdlchrcxr7xma ("/gnu/store/p4lmsp0k…>) …))
> In guix/packages.scm:
>    1028:5 15 (expand-input _ _ _ _ _)
> In ice-9/boot-9.scm:
>   1736:10 14 (with-exception-handler _ _ #:unwind? _ #:unwind-for-type _)
> In guix/packages.scm:
>   1033:18 13 (_)
> In guix/store.scm:
>   2017:24 12 (run-with-store #<store-connection 256.99 7f131feb4500> #<procedure 7f131ff3d400 at guix/gexp.scm:234:5 (state)> #:guile-for-build _ #:system …)
>    1851:8 11 (_ _)
> In guix/gexp.scm:
>     961:2 10 (_ _)
>     821:2  9 (_ _)
> In guix/store.scm:
>   1899:12  8 (_ #<store-connection 256.99 7f131feb4500>)
>    1336:2  7 (map/accumulate-builds #<store-connection 256.99 7f131feb4500> _ _)
> In srfi/srfi-1.scm:
>    586:17  6 (map1 ((#<package bootstrap-binaries@0 gnu/packages/bootstrap.scm:212 7f132c44ae60> "out") ("/gnu/store/3vcinqz2z8j8n78jd83xxbh2bb15mxxw…") …))
> In guix/store.scm:
>    1295:8  5 (call-with-build-handler #<procedure build-accumulator (continue store things mode)> _)
>   2017:24  4 (run-with-store #<store-connection 256.99 7f131feb4500> #<procedure 7f131ff92d20 at guix/gexp.scm:691:8 (state)> #:guile-for-build _ #:system …)
> In guix/gexp.scm:
>    693:18  3 (_ _)
> In ice-9/boot-9.scm:
>   1669:16  2 (raise-exception _ #:continuable? _)
>   1667:16  1 (raise-exception _ #:continuable? _)
>   1669:16  0 (raise-exception _ #:continuable? _)
> scheme@(guix-user) [1]>
>
> Let me know what could be useful to debug this?

That looks like <https://issues.guix.gnu.org/53594>.  I don’t have a
good hypothesis for that yet, but I’m guessing it’s stateful: the bug
manifests if some things are missing from the store.

Could you try:

  guix time-machine --commit=a7b20226b2 -- build hello --no-grafts

If it works, does the same command without ‘--no-grafts’ work
afterwards?

Ludo’.