Subject: Re: bug#44760: Closure copy in ‘guix systeminit’ is inefficient

From: Ludovic Courtès <[email-masked]>
Date: Thu, 17 Dec 2020 14:24:41 +0100

Hi,

Jonathan Brielmaier <[email-masked]> skribis:

> there seems to be another regression in this series.
>
> Pulling from 6a060ff27ff68384d7c90076baa36c349fff689d gives:
> ```
> [ 1/20] Loading './guix/base32.scm'...

[...]

> [10/20] Loading './guix/store/deduplication.scm'...
>
> ;;; Failed to autoload copy-file/deduplicate in (guix store deduplication):
>
> ;;; no code for module (gcrypt hash)
>
> Backtrace:
>
>           17 (primitive-load "/gnu/store/1fwvy0fz6zfgnyq1mj5pn8mfin7?")
>
> In ice-9/eval.scm:
>
>     619:8 16 (_ #f)
>
> In srfi/srfi-1.scm:
>
>    460:18 15 (fold #<procedure 7fffeeb741e0 at ice-9/eval.scm:336:1?> ?)
>
>    460:18 14 (fold #<procedure 7fffeeb81ac0 at ice-9/eval.scm:336:1?> ?)
>
>    460:18 13 (fold #<procedure 7fffeecdaf20 at ice-9/eval.scm:336:1?> ?)
>
> In ice-9/eval.scm:
>
>     619:8 12 (_ #(#(#<directory (guix build utils) 7fffef187d20>) # ?))
>
> In ice-9/boot-9.scm:
>
>    2806:4 11 (save-module-excursion #<procedure 7fffeecdad40 at ice-?>)
>
> In unknown file:
>
>           10 (primitive-load "./guix/store/deduplication.scm")
>
> In ice-9/eval.scm:
>
>    721:20  9 (primitive-eval (define-module (guix store #) # (# #) ?))
>
> In ice-9/psyntax.scm:
>
>   1241:36  8 (expand-top-sequence ((define-module (guix store #) ?)) ?)
>
>   1233:19  7 (parse _ (("placeholder" placeholder)) ((top) #(# # ?)) ?)
>
>    285:10  6 (parse _ (("placeholder" placeholder)) (()) _ c&e (eval) ?)
>
> In ice-9/eval.scm:
>
>    293:34  5 (_ #<directory (guix build utils) 7fffef187d20>)
>
> In ice-9/boot-9.scm:
>
>    3380:4  4 (define-module* _ #:filename _ #:pure _ #:version _ # _ ?)
>
>   2565:24  3 (call-with-deferred-observers #<procedure 7fffeec53cd0 ?>)
>
>   3393:24  2 (_)
>
>    222:17  1 (map1 (((gcrypt hash)) ((guix build utils)) ((guix ?)) ?))
>
>    3300:6  0 (resolve-interface (gcrypt hash) #:select _ #:hide _ # _ ?)
>
>
>
> ice-9/boot-9.scm:3300:6: In procedure resolve-interface:
>
> no code for module (gcrypt hash)

As discussed on IRC, the following command works for me:

  guix time-machine \
    --commit=6a060ff27ff68384d7c90076baa36c349fff689d -- \
    pull -p /tmp/test

However, I don’t have enough information about the issue.

Could you provide information on how to reproduce the issue?

Thanks in advance,
Ludo’.