Package: guix-patches;
Reported by: "Thompson, David" <dthompson2 <at> worcester.edu>
Date: Thu, 18 Jul 2024 20:18:02 UTC
Severity: normal
Message #23 received at 72183 <at> debbugs.gnu.org (full text, mbox):
From: Ludovic Courtès <ludo <at> gnu.org> To: "Thompson, David" <dthompson2 <at> worcester.edu> Cc: 72183 <at> debbugs.gnu.org Subject: Re: [bug#72183] [PATCH] gnu: guile: Update to 3.0.10. Date: Fri, 19 Jul 2024 22:40:29 +0200
Hey, I temporarily reverted the commits that upgrade Guile and adjust Hoot in 31244f5cefae4c14a1a5d441dc3b3626b5f32abc so we can investigate the issue below (which broke ‘guix pull’) without pressure. Turns out ‘guile-3.0-latest’ is used to build Guix itself (via ‘guix pull’, but also the ‘guix’ package) and this cause a failure of guix-cli-core.drv: --8<---------------cut here---------------start------------->8--- error: failed to compile 'guix/scripts/authenticate.scm': In language/tree-il/peval.scm: 1558:45 19 (loop _ _ _ value) In srfi/srfi-1.scm: 586:17 18 (map1 (#<tree-il (call (@ (guile) format) (const #f) (const "(signature ~a ~a ~a)") (call (@ (gcrypt pk-crypto) canonical-sexp->string) (lexical data t1416)) (call (@ (gcrypt pk-crypto) canonical-sexp->string) (call (@ (gcrypt pk-crypto) sign) (lexical data t1416) (lexical secret-key t1418))) (call (@ (gcrypt pk-crypto) canonical-sexp->string) (lexical public-key t1420)))>)) In language/tree-il/peval.scm: 1558:45 17 (loop _ _ _ value) In srfi/srfi-1.scm: 586:29 16 (map1 (#<tree-il (const #f)> #<tree-il (const "(signature ~a ~a ~a)")> #<tree-il (call (@ (gcrypt pk-crypto) canonical-sexp->string) (lexical data t1416))> #<tree-il (call (@ (gcrypt pk-crypto) canonical-sexp->string) (call (@ (gcrypt pk-crypto) sign) (lexical data t1416) (lexical secret-key t1418)))> #<tree-il (call (@ (gcrypt pk-crypto) canonical-sexp->string) (lexical public-key t1420))>)) 586:29 15 (map1 (#<tree-il (const "(signature ~a ~a ~a)")> #<tree-il (call (@ (gcrypt pk-crypto) canonical-sexp->string) (lexical data t1416))> #<tree-il (call (@ (gcrypt pk-crypto) canonical-sexp->string) (call (@ (gcrypt pk-crypto) sign) (lexical data t1416) (lexical secret-key t1418)))> #<tree-il (call (@ (gcrypt pk-crypto) canonical-sexp->string) (lexical public-key t1420))>)) 586:17 14 (map1 (#<tree-il (call (@ (gcrypt pk-crypto) canonical-sexp->string) (lexical data t1416))> #<tree-il (call (@ (gcrypt pk-crypto) canonical-sexp->string) (call (@ (gcrypt pk-crypto) sign) (lexical data t1416) (lexical secret-key t1418)))> #<tree-il (call (@ (gcrypt pk-crypto) canonical-sexp->string) (lexical public-key t1420))>)) In language/tree-il/peval.scm: error: failed to compile 'guix/scripts/publish.scm': In language/tree-il/peval.scm: 1558:45 13 (loop _ _ _ value) In srfi/srfi-1.scm: 586:17 12 (map1 (#<tree-il (lexical data t1416)>)) In language/tree-il/peval.scm: 1558:45 19 (loop _ _ _ values) In srfi/srfi-1.scm: 586:17 18 (map1 (#<tree-il (call (@ (guile) format) (const #f) (const "(signature ~a ~a ~a)") (call (@ (gcrypt pk-crypto) canonical-sexp->string) (lexical data t6047)) (call (@ (gcrypt pk-crypto) canonical-sexp->string) (call (@ (gcrypt pk-crypto) sign) (lexical data t6047) (lexical secret-key t6048))) (call (@ (gcrypt pk-crypto) canonical-sexp->string) (lexical public-key t6049)))>)) In language/tree-il/peval.scm: 887:11 11 (loop _ _ #<<counter> effort: #<variable 7fffe74eca90 value: 484> size: #<variable 7fffe74eca80 value: 20> continuation: #<procedure abort ()> recursive?: #t data: #<tree-il (lambda ((name . signature-sexp)) (lambda-case (((data secret-key public-key) #f #f #f () (t1416 t1418 t1420)) (call (@ (gcrypt pk-crypto) string->canonical-sexp) (call (@ (guile) format) (const #f) (const "(signature ~a ~a ~a)") (call (@ (gcrypt pk-crypto) canonical-sexp->string) (lexical data t1416)) (cal?> ?) 371:20 10 (visit-operand #<<operand> var: #<<var> name: data gensym: data-ae6ce62b6fb2770-3a7 refcount: 1 set?: #f> sym: #{data 1412}# visit: #<procedure 7fffecafb040 at language/tree-il/peval.scm:1011:40 (exp counter ctx)> source: #<tree-il (primcall values (call (@ (gcrypt pk-crypto) bytevector->hash-data) (lexical sha256 sha256-ae6ce62b6fb2770-39d) (const #:key-type) (call (@ (gcrypt pk-crypto) key-type) (lexical public-key public-key-ae6ce62b6fb2770-39b))))> visit-count: 1 use-count:?> ?) 1558:45 17 (loop _ _ _ value) In srfi/srfi-1.scm: 586:29 16 (map1 (#<tree-il (const #f)> #<tree-il (const "(signature ~a ~a ~a)")> #<tree-il (call (@ (gcrypt pk-crypto) canonical-sexp->string) (lexical data t6047))> #<tree-il (call (@ (gcrypt pk-crypto) canonical-sexp->string) (call (@ (gcrypt pk-crypto) sign) (lexical data t6047) (lexical secret-key t6048)))> #<tree-il (call (@ (gcrypt pk-crypto) canonical-sexp->string) (lexical public-key t6049))>)) 586:29 15 (map1 (#<tree-il (const "(signature ~a ~a ~a)")> #<tree-il (call (@ (gcrypt pk-crypto) canonical-sexp->string) (lexical data t6047))> #<tree-il (call (@ (gcrypt pk-crypto) canonical-sexp->string) (call (@ (gcrypt pk-crypto) sign) (lexical data t6047) (lexical secret-key t6048)))> #<tree-il (call (@ (gcrypt pk-crypto) canonical-sexp->string) (lexical public-key t6049))>)) 586:17 14 (map1 (#<tree-il (call (@ (gcrypt pk-crypto) canonical-sexp->string) (lexical data t6047))> #<tree-il (call (@ (gcrypt pk-crypto) canonical-sexp->string) (call (@ (gcrypt pk-crypto) sign) (lexical data t6047) (lexical secret-key t6048)))> #<tree-il (call (@ (gcrypt pk-crypto) canonical-sexp->string) (lexical public-key t6049))>)) In language/tree-il/peval.scm: 1319:22 9 (loop _ #<vhash 7fffecafb0a0 92 pairs> #<<counter> effort: #<variable 7fffe74eca90 value: 484> size: #<variable 7fffe74eca80 value: 20> continuation: #<procedure abort ()> recursive?: #t data: #<tree-il (lambda ((name . signature-sexp)) (lambda-case (((data secret-key public-key) #f #f #f () (t1416 t1418 t1420)) (call (@ (gcrypt pk-crypto) string->canonical-sexp) (call (@ (guile) format) (const #f) (const "(signature ~a ~a ~a)") (call (@ (gcrypt pk-crypto) canonical-sexp->strin?> ?) In srfi/srfi-1.scm: 586:17 8 (map1 (#<tree-il (call (@ (gcrypt pk-crypto) bytevector->hash-data) (lexical sha256 sha256-ae6ce62b6fb2770-39d) (const #:key-type) (call (@ (gcrypt pk-crypto) key-type) (lexical public-key public-key-ae6ce62b6fb2770-39b)))>)) In language/tree-il/peval.scm: 1558:45 13 (loop _ _ _ value) In srfi/srfi-1.scm: 586:17 12 (map1 (#<tree-il (lexical data t6047)>)) In language/tree-il/peval.scm: 1762:18 7 (loop _ _ _ _) In ice-9/boot-9.scm: 1676:22 6 (raise-exception _ #:continuable? _) 1676:22 5 (raise-exception _ #:continuable? _) 1802:13 4 (_ #<&compound-exception components: (#<&error> #<&origin origin: #f> #<&message message: "internal error: unexpected kwarg syms ~S ~S"> #<&irritants irritants: (((#:key-type key-type #f)) (t1441))> #<&exception-with-kind-and-args kind: misc-error args: (#f "internal error: unexpected kwarg syms ~S ~S" (((#:key-type key-type #f)) (t1441)) #f)>)>) In guix/build/compile.scm: 191:6 3 [ 36/ 50] compiling... 44.0% of 25 files(_ misc-error #f "internal error: unexpected kwarg syms ~S ~S" (((#:key-type key-type #f)) (t1441)) #f) In ice-9/boot-9.scm: 1749:15 2 (with-exception-handler #<procedure 7fffec498f30 at ice-9/boot-9.scm:1853:7 (exn)> _ #:unwind? _ #:unwind-for-type _) In guix/build/compile.scm: 194:21 1 (_) In unknown file: 0 (make-stack #t) guix/build/compile.scm:194:21: internal error: unexpected kwarg syms ((#:key-type key-type #f)) (t1441) [ 38/ 50] compiling... 52.0% of 25 files [ 38/ 50] compiling... 52.0% of 25 files [ 39/ 50] compiling... 56.0% of 25 files [ 40/ 50] compiling... 60.0% of 25 filesbuilder for `/gnu/store/w9yvw8972xns0j3j36lg4lbyqv5m2f25-guix-cli-core.drv' failed with exit code 1 [ 41/ 50] compiling... 64.0% of 25 files [ 42/ 50] compiling... 68.0% of 25 filesderivation '/gnu/store/w9yvw8972xns0j3j36lg4lbyqv5m2f25-guix-cli-core.drv' offloaded to '141.80.167.177' failed: build of `/gnu/store/w9yvw8972xns0j3j36lg4lbyqv5m2f25-guix-cli-core.drv' failed [ 43/ 50] compiling... 72.0% of 25 files [ 44/ 50] compiling... 76.0% of 25 files [ 45/ 50] compiling... 80.0% of 25 files [ 46/ 50] compiling... 84.0% of 25 files [ 47/ 50] compiling... 88.0% of 25 files [ 48/ 50] compiling... 92.0% of 25 files [ 49/ 50] compiling... 96.0% of 25 filescannot build derivation `/gnu/store/9wyflvlskm5s5043zrrivfv3mv58n1vw-guix-cli-core-modules.drv': 1 dependencies couldn't be built cannot build derivation `/gnu/store/ych1s7kdksq08rzd1m6ddkpp7x8pw56x-guix-cli.drv': 1 dependencies couldn't be built --8<---------------cut here---------------end--------------->8--- (Taken from <https://ci.guix.gnu.org/eval/1497691/log/raw> and edited to be more readable.) The expressions leading to this internal compiler error are: (bytevector->hash-data (sha256 (string->utf8 s)) #:key-type (key-type public-key)) and: (bytevector->hash-data sha256 #:key-type (key-type public-key)) This sounds like a compiler bug, possibly related to Guile commit f95bf6921e13799abca6a0a13087609c42baba6b. Note that ‘bytevector->hash-data’ comes from Guile-Gcrypt, which was itself still compiled with 3.0.9. So there’s a possibility that the bug comes with this particular combination as is exhibited by cross-module inlining. To be continued… Ludo’.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.