unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#72183] [PATCH] gnu: guile: Update to 3.0.10.
@ 2024-07-18 20:16 Thompson, David
  2024-07-18 20:49 ` [bug#72183] [PATCH] gnu: shepherd 0.9: Switch from guile-3.0-latest to guile-3.0 Thompson, David
  2024-07-19 16:32 ` [bug#72183] [PATCH] gnu: guile: Update to 3.0.10 Ludovic Courtès
  0 siblings, 2 replies; 8+ messages in thread
From: Thompson, David @ 2024-07-18 20:16 UTC (permalink / raw)
  To: 72183

[-- Attachment #1: Type: text/plain, Size: 933 bytes --]

I thought this would be an easy upgrade, but it seems that it will
cause a lot of churn. 'guix refresh' says:

    Building the following 1640 packages would ensure 3146 dependent
packages are rebuilt

I believe this is because Shepherd is built against guile-3.0-latest,
and elogind depends on Shepherd.

Guix *should* be in a position to get fresh Guile builds quickly, but
I guess this process will be slow until the guile-3.0 package can be
upgraded to 3.0.10 (which will require a world rebuild) at which point
Shepherd can return to using guile-3.0.

There's a lot of compiler improvements and bug fixes in 3.0.10, so it
would be nice to have this update land soon. After this, I can update
guile-hoot depend on it rather than guile-next. Several other packages
depending on guile-next could also be upgraded to use guile-3.0-latest
instead, such as guile-ares-rs.

Who can help me "shepherd" this upgrade? ;)

Thanks,

- Dave

[-- Attachment #2: 0001-gnu-guile-Update-to-3.0.10.patch --]
[-- Type: text/x-patch, Size: 1784 bytes --]

From f6c6486dab767ba50c4c2ffbb55f10bbf4ee1000 Mon Sep 17 00:00:00 2001
Message-ID: <f6c6486dab767ba50c4c2ffbb55f10bbf4ee1000.1721332994.git.dthompson2@worcester.edu>
From: David Thompson <dthompson2@worcester.edu>
Date: Thu, 18 Jul 2024 14:54:20 -0400
Subject: [PATCH] gnu: guile: Update to 3.0.10.

* gnu/packages/guile.scm (guile-3.0-latest): Update to 3.0.10.

Change-Id: Id9d58199f1fa3307c94f442c185307d2f4a9ce6f
---
 gnu/packages/guile.scm | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index e8705dc7d2..077b7b7d37 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -322,7 +322,6 @@ (define-public guile-2.2.4
                "07p3g0v2ba2vlfbfidqzlgbhnzdx46wh2rgc5gszq1mjyx5bks6r"))))))
 
 (define-public guile-3.0
-  ;; This is the latest Guile stable version.
   (package
     (inherit guile-2.2)
     (name "guile")
@@ -438,7 +437,18 @@ (define-public guile-3.0
             (files '("lib/guile/3.0/site-ccache"
                      "share/guile/site/3.0")))))))
 
-(define-public guile-3.0-latest guile-3.0)
+(define-public guile-3.0-latest
+  ;; This is the latest Guile stable version.
+  (package
+    (inherit guile-3.0)
+    (version "3.0.10")
+    (source (origin
+              (inherit (package-source guile-3.0))
+              (uri (string-append "mirror://gnu/guile/guile-"
+                                  version ".tar.xz"))
+              (sha256
+               (base32
+                "1233wzcbiqhp5qr3ggag14s5d4i7cn0spxyl8qs369nmgx8nhwdx"))))))
 
 ;;; The symbol guile-3.0/fixed should be used when guile-3.0 needs fixes
 ;;; (security or else) and this deprecation could be removed.

base-commit: e3dfed59d39ac60dd2e2b9ef9f4ef63a2a081f41
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [bug#72183] [PATCH] gnu: shepherd 0.9: Switch from guile-3.0-latest to guile-3.0.
  2024-07-18 20:16 [bug#72183] [PATCH] gnu: guile: Update to 3.0.10 Thompson, David
@ 2024-07-18 20:49 ` Thompson, David
  2024-07-19 16:32 ` [bug#72183] [PATCH] gnu: guile: Update to 3.0.10 Ludovic Courtès
  1 sibling, 0 replies; 8+ messages in thread
From: Thompson, David @ 2024-07-18 20:49 UTC (permalink / raw)
  To: 72183

[-- Attachment #1: Type: text/plain, Size: 833 bytes --]

Thanks to Efraim for pointing out that we could simply switch Shepherd
to refer to guile-3.0 instead of guile-3.0-latest.  The attached patch
does this.

Now updating guile-3.0-latest causes much less churn:

Building the following 23 packages would ensure 47 dependent packages
are rebuilt: guile-studio@0.1.1-1.dd0ad42 guile-chickadee@0.10.0
guile-gemini@0.1 guile-openai@0.2-1.751cd5d guile-newra@0-0.266e72e
haunt@0.3.0 guile-bash@0.1.6-0.1eabc56 lokke@0.0.0-1.92d3637
swineherd@0.0.4 cuirass@1.2.0-6.0eaf7b6 emacs-guix@0.5.2-7.455272c
guile-imanifest@0.0.0-0.ccd5a21 cl-ospm@0.0.2 guix-jupyter@0.2.2
guix-build-coordinator-agent-only@0-109.406db8a
nar-herder@0-37.82f9371 guix-minimal@1.4.0-23.843b85c gwl@0.5.1
gwl-next@0.5.0-1.706a089 guix-modules@0.1.0
guix-daemon@1.4.0-23.843b85c bffe@0-6.7df2aa6 hpcguix-web@0.4.1

- Dave

[-- Attachment #2: 0001-gnu-shepherd-0.9-Switch-from-guile-3.0-latest-to-gui.patch --]
[-- Type: text/x-patch, Size: 1425 bytes --]

From 76c82888fefcef1226c6d18a4cf790d5e02d1c32 Mon Sep 17 00:00:00 2001
Message-ID: <76c82888fefcef1226c6d18a4cf790d5e02d1c32.1721335570.git.dthompson2@worcester.edu>
From: David Thompson <dthompson2@worcester.edu>
Date: Thu, 18 Jul 2024 16:43:32 -0400
Subject: [PATCH] gnu: shepherd 0.9: Switch from guile-3.0-latest to guile-3.0.

* gnu/packages/admin.scm (shepherd-0.9)[native-inputs]: Use guile-3.0.
[inputs]: Ditto.

Change-Id: I7f7efabc43e11e413300c6aa4c22919070d22389
---
 gnu/packages/admin.scm | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index ae0637fd2c..cf9693ac25 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -385,11 +385,9 @@ (define-public shepherd-0.9
                                       "/lib/guile/3.0/site-ccache"))))))
                         #~%standard-phases)))
 
-    ;; Note: Use 'guile-3.0-latest' to address the continuation-related memory
-    ;; leak reported at <https://issues.guix.gnu.org/58631>.
-    (native-inputs (list pkg-config guile-3.0-latest
+    (native-inputs (list pkg-config guile-3.0
                          guile-fibers-1.1))       ;for cross-compilation
-    (inputs (list guile-3.0-latest guile-fibers-1.1))))
+    (inputs (list guile-3.0 guile-fibers-1.1))))
 
 (define-public shepherd-0.10
   (package

base-commit: e3dfed59d39ac60dd2e2b9ef9f4ef63a2a081f41
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [bug#72183] [PATCH] gnu: guile: Update to 3.0.10.
  2024-07-18 20:16 [bug#72183] [PATCH] gnu: guile: Update to 3.0.10 Thompson, David
  2024-07-18 20:49 ` [bug#72183] [PATCH] gnu: shepherd 0.9: Switch from guile-3.0-latest to guile-3.0 Thompson, David
@ 2024-07-19 16:32 ` Ludovic Courtès
  2024-07-19 17:09   ` bug#72183: " Thompson, David
  2024-07-19 20:40   ` [bug#72183] " Ludovic Courtès
  1 sibling, 2 replies; 8+ messages in thread
From: Ludovic Courtès @ 2024-07-19 16:32 UTC (permalink / raw)
  To: Thompson, David; +Cc: 72183

"Thompson, David" <dthompson2@worcester.edu> skribis:

> From f6c6486dab767ba50c4c2ffbb55f10bbf4ee1000 Mon Sep 17 00:00:00 2001
> Message-ID: <f6c6486dab767ba50c4c2ffbb55f10bbf4ee1000.1721332994.git.dthompson2@worcester.edu>
> From: David Thompson <dthompson2@worcester.edu>
> Date: Thu, 18 Jul 2024 14:54:20 -0400
> Subject: [PATCH] gnu: guile: Update to 3.0.10.
>
> * gnu/packages/guile.scm (guile-3.0-latest): Update to 3.0.10.
>
> Change-Id: Id9d58199f1fa3307c94f442c185307d2f4a9ce6f

> From 76c82888fefcef1226c6d18a4cf790d5e02d1c32 Mon Sep 17 00:00:00 2001
> Message-ID: <76c82888fefcef1226c6d18a4cf790d5e02d1c32.1721335570.git.dthompson2@worcester.edu>
> From: David Thompson <dthompson2@worcester.edu>
> Date: Thu, 18 Jul 2024 16:43:32 -0400
> Subject: [PATCH] gnu: shepherd 0.9: Switch from guile-3.0-latest to guile-3.0.
> 
> * gnu/packages/admin.scm (shepherd-0.9)[native-inputs]: Use guile-3.0.
> [inputs]: Ditto.
> 
> Change-Id: I7f7efabc43e11e413300c6aa4c22919070d22389

LGTM.  (Commit the Shepherd patch first.)

Thank you! :-)

Ludo’.




^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#72183: [PATCH] gnu: guile: Update to 3.0.10.
  2024-07-19 16:32 ` [bug#72183] [PATCH] gnu: guile: Update to 3.0.10 Ludovic Courtès
@ 2024-07-19 17:09   ` Thompson, David
  2024-07-19 20:40   ` [bug#72183] " Ludovic Courtès
  1 sibling, 0 replies; 8+ messages in thread
From: Thompson, David @ 2024-07-19 17:09 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 72183-done

On Fri, Jul 19, 2024 at 12:32 PM Ludovic Courtès <ludo@gnu.org> wrote:
>
> LGTM.  (Commit the Shepherd patch first.)

Pushed! Thanks for the review!

- Dave




^ permalink raw reply	[flat|nested] 8+ messages in thread

* [bug#72183] [PATCH] gnu: guile: Update to 3.0.10.
  2024-07-19 16:32 ` [bug#72183] [PATCH] gnu: guile: Update to 3.0.10 Ludovic Courtès
  2024-07-19 17:09   ` bug#72183: " Thompson, David
@ 2024-07-19 20:40   ` Ludovic Courtès
  2024-07-19 22:07     ` Thompson, David
  1 sibling, 1 reply; 8+ messages in thread
From: Ludovic Courtès @ 2024-07-19 20:40 UTC (permalink / raw)
  To: Thompson, David; +Cc: 72183

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’.




^ permalink raw reply	[flat|nested] 8+ messages in thread

* [bug#72183] [PATCH] gnu: guile: Update to 3.0.10.
  2024-07-19 20:40   ` [bug#72183] " Ludovic Courtès
@ 2024-07-19 22:07     ` Thompson, David
  2024-09-01 17:31       ` Ludovic Courtès
  0 siblings, 1 reply; 8+ messages in thread
From: Thompson, David @ 2024-07-19 22:07 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 72183

Hey Ludo,

On Fri, Jul 19, 2024 at 4:40 PM Ludovic Courtès <ludo@gnu.org> wrote:
>
> 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.

Oh no, sorry! I ran 'guix pull' after pushing these commits and didn't
experience issues so I thought all was well. :(

> 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:

How about using guile-3.0 for Guix so that future Guile updates can be
done without fear?

> 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.

Yup, that certainly sounds like what is happening here. Cross-module
inlining + the new keyword args optimization.

Sorry for breaking 'guix pull'. I thought I had scoped the changes
down to a safe level. :(

- Dave




^ permalink raw reply	[flat|nested] 8+ messages in thread

* [bug#72183] [PATCH] gnu: guile: Update to 3.0.10.
  2024-07-19 22:07     ` Thompson, David
@ 2024-09-01 17:31       ` Ludovic Courtès
  2024-09-09 12:24         ` Thompson, David
  0 siblings, 1 reply; 8+ messages in thread
From: Ludovic Courtès @ 2024-09-01 17:31 UTC (permalink / raw)
  To: Thompson, David; +Cc: 72183

Hi David,

"Thompson, David" <dthompson2@worcester.edu> skribis:

> On Fri, Jul 19, 2024 at 4:40 PM Ludovic Courtès <ludo@gnu.org> wrote:
>>
>> 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.
>
> Oh no, sorry! I ran 'guix pull' after pushing these commits and didn't
> experience issues so I thought all was well. :(

No worries, I didn’t expect that either.

>> 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:
>
> How about using guile-3.0 for Guix so that future Guile updates can be
> done without fear?

We can do that, though I like the idea of following Guile closely.

[...]

>> 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.
>
> Yup, that certainly sounds like what is happening here. Cross-module
> inlining + the new keyword args optimization.

I came up with a reduced test case and reported it here:

  https://issues.guix.gnu.org/72936

Another problem I had forgotten is that Guile current ‘main’ and 3.0.10
fails to build on 32-bit platforms:

  https://issues.guix.gnu.org/72215

The best course of action might be to release 3.0.11 with bug fixes for
at least these two things.  WDYT?

In the meantime, I keep using the Guile channel, which works well for me:

  (channel
    (name 'guile)
    (url "https://git.savannah.gnu.org/git/guile.git")
    (branch "main"))

Ludo’.




^ permalink raw reply	[flat|nested] 8+ messages in thread

* [bug#72183] [PATCH] gnu: guile: Update to 3.0.10.
  2024-09-01 17:31       ` Ludovic Courtès
@ 2024-09-09 12:24         ` Thompson, David
  0 siblings, 0 replies; 8+ messages in thread
From: Thompson, David @ 2024-09-09 12:24 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 72183

Hey Ludo,

On Sun, Sep 1, 2024 at 1:31 PM Ludovic Courtès <ludo@gnu.org> wrote:
>
> Hi David,
>
> "Thompson, David" <dthompson2@worcester.edu> skribis:
>
> > On Fri, Jul 19, 2024 at 4:40 PM Ludovic Courtès <ludo@gnu.org> wrote:
> >>
> >> 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.
> >
> > Oh no, sorry! I ran 'guix pull' after pushing these commits and didn't
> > experience issues so I thought all was well. :(
>
> No worries, I didn’t expect that either.
>
> >> 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:
> >
> > How about using guile-3.0 for Guix so that future Guile updates can be
> > done without fear?
>
> We can do that, though I like the idea of following Guile closely.

Okay, let's not do this, then. :)

> >> 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.
> >
> > Yup, that certainly sounds like what is happening here. Cross-module
> > inlining + the new keyword args optimization.
>
> I came up with a reduced test case and reported it here:
>
>   https://issues.guix.gnu.org/72936

Awesome, thanks!  Forwarded this to Andy.

> Another problem I had forgotten is that Guile current ‘main’ and 3.0.10
> fails to build on 32-bit platforms:
>
>   https://issues.guix.gnu.org/72215
>
> The best course of action might be to release 3.0.11 with bug fixes for
> at least these two things.  WDYT?

Yes, I think skipping 3.0.10 entirely makes sense.  I will update
guile-next at some point, though, since these issues are already
present in the current version of that package.

> In the meantime, I keep using the Guile channel, which works well for me:
>
>   (channel
>     (name 'guile)
>     (url "https://git.savannah.gnu.org/git/guile.git")
>     (branch "main"))

Oh neat, I didn't realize this was a thing.

Thanks,

- Dave




^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2024-09-09 12:26 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-18 20:16 [bug#72183] [PATCH] gnu: guile: Update to 3.0.10 Thompson, David
2024-07-18 20:49 ` [bug#72183] [PATCH] gnu: shepherd 0.9: Switch from guile-3.0-latest to guile-3.0 Thompson, David
2024-07-19 16:32 ` [bug#72183] [PATCH] gnu: guile: Update to 3.0.10 Ludovic Courtès
2024-07-19 17:09   ` bug#72183: " Thompson, David
2024-07-19 20:40   ` [bug#72183] " Ludovic Courtès
2024-07-19 22:07     ` Thompson, David
2024-09-01 17:31       ` Ludovic Courtès
2024-09-09 12:24         ` Thompson, David

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).