[PATCH] build-self: Try printing nicer error messages.

OpenSubmitted by Maxime Devos.
Details
4 participants
  • Ludovic Courtès
  • Maxime Devos
  • Maxime Devos
  • zimoun
Owner
unassigned
Severity
normal
M
M
Maxime Devos wrote on 28 Aug 2021 16:36
(address . guix-patches@gnu.org)
b8eaa03230227033135d919aaafe76ad5af1eefc.camel@telenet.be
Hi guix,

This patch improves the error message generated by "guix time-machine"
and presumably "guix pull" as well when the guix derivation fails to
compute.

Before: something like https://issues.guix.gnu.org/50232.
After: something like

[...]
substitute: lijst van substitutes van ?[...]? aan het bijwerken... 100.0%
/gnu/store/4yx3vms0rfpzd1430za3g4pa6jvjsfw9-nowhere.tar.bz2.drv bouwen...
/error: build of `/gnu/store/6s0cmkfa4hq7d9w8g08mv2rhq0cr7wqc-subversion-1.14.1.drv' failed
guix time-machine: fout: You found a bug: the program '/gnu/store/j07lizpjf7v65shdgxyxddz171g6vjvx-compute-guix-derivation'
failed to compute the derivation for Guix (version: "9fc551e089c25f510f918a2c52917ba4e842f1c3"; system: "x86_64-linux";
host version: "75a3413b4e5c1f7443eb944a36ff364f4c4085f4"; pull-version: 1).
Please report it by email to <bug-guix@gnu.org

To test, apply the patch, and introduce an error in the hash of subversion:

;;; (gnu packages version-control)
(define-public subversion
(package
(name "subversion")
(version "1.14.1")
(source (origin
(method url-fetch)
;; Oops!
#;(string-append "mirror://apache/subversion/"
"subversion-" version ".tar.bz2")
(sha256
(base32
;; Oops! 1->0
#;"1ag1hvcm9q92kgalzbbgcsq9clxnzmbj9nciz9lmabjx4lyajp9c"
"0ag1hvcm9q92kgalzbbgcsq9clxnzmbj9nciz9lmabjx4lyajp9c"))))
(build-system gnu-build-system)
[...]

and commit that mistake. Then run
guix time-machine --branch=master --url=$PWD --disable-authentication

Repeat without the error in subversion.

Greetings,
Maxime
From 9dbcd5cedeb861c27aec2b41fcbe6aba92de6c2e Mon Sep 17 00:00:00 2001
From: Maxime Devos <maximedevos@telenet.be>
Date: Sat, 28 Aug 2021 14:42:32 +0200
Subject: [PATCH] build-self: Try printing nicer error messages.

This prevents daunting backtraces like in
the relevant information: that 'subversion' fails to
build.

* build-aux/self.scm (build-program): Wrap the 'run-with-store'
in a 'with-error-handling'.
---
build-aux/build-self.scm | 23 +++++++++++++++--------
1 file changed, 15 insertions(+), 8 deletions(-)

Toggle diff (59 lines)
diff --git a/build-aux/build-self.scm b/build-aux/build-self.scm
index f100ff4aae..1dbaf52061 100644
--- a/build-aux/build-self.scm
+++ b/build-aux/build-self.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2014, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -280,6 +281,7 @@ interface (FFI) of Guile.")
 
                            ,@(source-module-closure `((guix store)
                                                       (guix self)
+                                                      (guix ui)
                                                       (guix derivations)
                                                       (gnu packages bootstrap))
                                                     (list source)
@@ -316,6 +318,7 @@ interface (FFI) of Guile.")
                         (read-disable 'positions))
 
                       (use-modules (guix store)
+                                   (guix ui)
                                    (guix self)
                                    (guix derivations)
                                    (srfi srfi-1))
@@ -347,14 +350,18 @@ interface (FFI) of Guile.")
                              (parameterize ((current-warning-port
                                              (%make-void-port "w"))
                                             (current-build-output-port sock))
-                               (run-with-store store
-                                 (guix-derivation source version
-                                                  #$guile-version
-                                                  #:channel-metadata
-                                                  '#$channel-metadata
-                                                  #:pull-version
-                                                  #$pull-version)
-                                 #:system system))
+                               ;; Use 'with-error-handling' to prevent scary
+                               ;; backtraced like
+                               ;; <https://issues.guix.gnu.org/50232>.
+                               (with-error-handling
+                                 (run-with-store store
+                                   (guix-derivation source version
+                                                    #$guile-version
+                                                    #:channel-metadata
+                                                    '#$channel-metadata
+                                                    #:pull-version
+                                                    #$pull-version)
+                                   #:system system)))
                              derivation-file-name))))))
                   #:module-path (list source))))
 

base-commit: b4d132f98e03fae559db832e88897f1e166c4d47
prerequisite-patch-id: 91a26ba19372112a11a0eea2b066d2f63641deb1
-- 
2.33.0
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYSpKARccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7mmSAQCXebfE4ENspsh6K2GzRrtIf9uF
vmX4HN3XZcwQSiT/wwEA7FnrNnEUEjcTuROGYDMRDVM0Sh/KeDCSOjye5+FbjQE=
=WttY
-----END PGP SIGNATURE-----


L
L
Ludovic Courtès wrote on 24 Sep 2021 13:59
(name . Maxime Devos)(address . maximedevos@telenet.be)(address . 50238@debbugs.gnu.org)
87r1denq09.fsf@gnu.org
Hi,

Maxime Devos <maximedevos@telenet.be> skribis:

Toggle quote (16 lines)
> This patch improves the error message generated by "guix time-machine"
> and presumably "guix pull" as well when the guix derivation fails to
> compute.
>
> Before: something like <https://issues.guix.gnu.org/50232>.
> After: something like
>
> [...]
> substitute: lijst van substitutes van ?[...]? aan het bijwerken... 100.0%
> /gnu/store/4yx3vms0rfpzd1430za3g4pa6jvjsfw9-nowhere.tar.bz2.drv bouwen...
> /error: build of `/gnu/store/6s0cmkfa4hq7d9w8g08mv2rhq0cr7wqc-subversion-1.14.1.drv' failed
> guix time-machine: fout: You found a bug: the program '/gnu/store/j07lizpjf7v65shdgxyxddz171g6vjvx-compute-guix-derivation'
> failed to compute the derivation for Guix (version: "9fc551e089c25f510f918a2c52917ba4e842f1c3"; system: "x86_64-linux";
> host version: "75a3413b4e5c1f7443eb944a36ff364f4c4085f4"; pull-version: 1).
> Please report it by email to <bug-guix@gnu.org

I sympathize with the goal but unsure about the implementation.

To me, compute-guix-derivation should remain as simple as possible and
it shouldn't take care of UI concerns. Having said that, I don't know
how to address the problem above while sticking to this principle.

WDYT?

Ludo'.
M
M
Maxime Devos wrote on 8 Mar 19:58 +0100
Re: [PATCH] build-self: Try printing nicer error messages.
(address . 50238@debbugs.gnu.org)(address . ludo@gnu.org)
89a84004d1fbc60f7d13eb91cb2d8239beb506d8.camel@telenet.be
Toggle quote (9 lines)
> I sympathize with the goal but unsure about the implementation.
>
> To me, compute-guix-derivation should remain as simple as possible
> and it shouldn't take care of UI concerns. Having said that, I don't
> know how to address the problem above while sticking to this
> principle.
>
> WDYT?

*Something* should take care of UI concerns, and 'build-program' is in
a good position to do so. I don't really see another way to do it
(except by serialising the exception and letting the Guix that is doing
the pulling report it, but that's even more fragile). Where else could
the UI bits be done?

Additionally, while importing (guix ui) may seem rather daunting,
the error handling bits are only run when there's actually an error to
handle, so I expect it to be fine in practice --- it seems only
possible for this to break "guix pull" if "guix pull" would have failed
anyway.

I have one concern though: (guix ui) used with-exception-handler which
is new-ish with Guile 3.0 IIUC. Do we need to support pulling from a
Guix of version Guile <2.2? If so, a little compatibility code may
be necessary -- e.g., not doing the 'with-error-handling' when guile-
version=2.2.

I think the little bit of extra non-simplicity is worth the clarity
(not very much, but still useful) it brings to people on bug-guix and
people reporting the ‘guix pull: error: You found a bug: ...’ issues --
-- see the long list at
compare it with the two extra lines of code.

In other terms, if we do a risk-benefit analysis, there is some risk,
but due to the large number of reports there would be much benefit.
And even though there is some risk (see e.g. the Guile 2.2/3.0 thing
above), whenever such an accident happens, it could quickly addressed
by pushing a new commit.

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYienZRccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7jazAP0Rx7cfK4b3eq/61MlWaKJMFqFy
zh+63RC5w2Gsf6aYHAEAgpuC4/30aVE+forn/AcPUjTPZpxMfyB9dWpM3JJCWA8=
=8qYT
-----END PGP SIGNATURE-----


Z
Z
zimoun wrote on 8 Mar 20:22 +0100
Re: bug#50238: [PATCH] build-self: Try printing nicer error messages.
(name . Ludovic Courtès)(address . ludo@gnu.org)
8735js45c7.fsf_-_@gmail.com
Hi,

On ven., 24 sept. 2021 at 13:59, Ludovic Courtès <ludo@gnu.org> wrote:

Toggle quote (2 lines)
> I sympathize with the goal but unsure about the implementation.

On one hand, I agree that the import of '(guix ui)' here feels "hum, it
seems an incorrect location", but...

Toggle quote (4 lines)
> To me, compute-guix-derivation should remain as simple as possible and
> it shouldn't take care of UI concerns. Having said that, I don't know
> how to address the problem above while sticking to this principle.

...on the other hand, where 'build-program' is called, i.e, 'build,
there is:

Toggle snippet (4 lines)
(format (current-error-port) "Computing Guix derivation for '~a'... "
system)

which is UI, no? Idem for the message "You found a bug".


Well, I am unsure about the addition of '(guix ui)' and by
'with-error-handlng' in 'build-program'. However, maybe the exception
handling could happen in the 'build' part. WDYT?


Cheers,
simon
M
M
Maxime Devos wrote on 9 Mar 14:18 +0100
(address . 50238@debbugs.gnu.org)
e70f5d4d1f346e6e738adf796eaa4f0d70a8909a.camel@telenet.be
zimoun schreef op di 08-03-2022 om 20:22 [+0100]:
Toggle quote (4 lines)
> Well, I am unsure about the addition of '(guix ui)' and by
> 'with-error-handlng' in 'build-program'.  However, maybe the exception
> handling could happen in the 'build' part.  WDYT?

Keep in mind that the result of the '(build-program ...)' is a program
that will be invoked as a separate program. Exceptions do not
propagate accross process boundaries, so 'build' cannot catch the
exceptions happening inside, so 'build' cannot catch the exceptions
happening inside 'build-program'. Hence, the error handling bits need
to be inside the 'compute-guix-derivation'.

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYiipIhccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7guTAQDySOBgD+ORezyC1zpuz2KaMnTB
Zj9DNJfu6dkrzfdp9wEAhb1fJjnqUH/1ejuoI5COeDn6ouYdWuaOdwTWECAqJQs=
=2U6D
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 19 Mar 10:13 +0100
[PATCH] build-self: Try printing nicer error messages --- verifying if it doesn't break anything
(address . 50238@debbugs.gnu.org)
4ce29104dac2b001bfb8a4590227ac98aa6b948d.camel@telenet.be
To make sure the patch doesn't break "guix pull", I've begun testing
using "guix time-machine" to go to an older version of Guix and then go
to the latest version of Guix (with the patch applied).

Older commits tested so far:

* 1.3.0

# 1.3.0 --> master + the patch applied
guix time-machine --url=$PWD --commit=a0178d34f582b50e9bdbb0403943129ae5b560ff -- time-machine --url=$PWD --commit=47ffd21fa177e300df5346f275da1759870540b3 --disable-authentication -- describe

(succeeds!)

1.3.0 is not a good test though because it's relatively recent, I'll
try some older versions as well.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYjWenxccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7nqsAQDZCgRfRPEYIIFE6kdlN6ZbuqqH
3+c1Ccs+YkVZUiyrvwEAzTXbj1Prguyw6a5pR/rjWoD1MQLkHHRhc2kGpObPhQg=
=M54h
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 22 Mar 21:46 +0100
(address . 50238@debbugs.gnu.org)
f01e37a913326500a46cf8e343e62586729e7df8.camel@telenet.be
Maxime Devos schreef op za 19-03-2022 om 10:13 [+0100]:
Toggle quote (3 lines)
> 1.3.0 is not a good test though because it's relatively recent, I'll
> try some older versions as well.

I tried from 1.1.0, seems like it fails because guile@2.2 does not have
with-exception-handler:

Backtrace:
5 (primitive-load "/gnu/store/jdf2z2vl4gc6yzl5gglixd5jpflcgikm-compute-guix-derivation")
In ice-9/eval.scm:
155:9 4 (_ #(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<directory (guile-u?> ?) ?) ?) ?) ?) ?) ?) ?) ?) ?) ?) ?) ?) ?) ?) ?))
159:9 3 (_ #(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<directory (guile-u?> ?) ?) ?) ?) ?) ?) ?) ?) ?) ?) ?) ?) ?) ?) ?) ?))
In ice-9/boot-9.scm:
152:2 2 (with-fluid* _ _ _)
152:2 1 (with-fluid* _ _ _)
In srfi/srfi-34.scm:
38:0 0 (with-exception-handler #<procedure 7f3a57d078b8 at ./guix/ui.scm:694:2 (c)> #<procedure 7f3a582457c0 ?> ?)

srfi/srfi-34.scm:38:0: In procedure with-exception-handler:
Wrong number of arguments to #<procedure with-exception-handler (handler thunk)>
Computing Guix derivation for 'x86_64-linux'... guix time-machine: error: You found a bug: the program '/gnu/store/jdf2z2vl4gc6yzl5gglixd5jpflcgikm-compute-guix-derivation'
failed to compute the derivation for Guix (version: "aac29b952e558e20ac97a95713b15ac453e59742"; system: "x86_64-linux";
host version: "1.1.0rc2-1.9d0d27f"; pull-version: 1).
Please report the COMPLETE output above by email to <bug-guix@gnu.org>.

I guess the simplest solution is to only do 'with-error-handler' wrapping
when guile-version>=3.0 ...


Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYjo1lxccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7t5UAP9l1PqEbbMPi4Z049zPXVKwOsuc
sE0edx0jfS69H4N3nwEAx0ewk+zQLRjR8GX3MI6w3aV7TUk+a8nWYTczmzuPEQ0=
=WO1Z
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 22 Mar 21:55 +0100
(address . 50238@debbugs.gnu.org)
55bd5783879e27891c5c538a200007e4b4aa907f.camel@telenet.be
Maxime Devos schreef op di 22-03-2022 om 21:46 [+0100]:
Toggle quote (4 lines)
> I tried from 1.1.0, seems like it fails because guile@2.2 does not
> have
> with-exception-handler:

Actually, it does, but it does not support #:unwind?.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYjo3sxccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7prWAP0YX0Q1sSRzSDPy9mRcy2hVtUCj
RqF3ZHT0pTcZ9rMSpgD/b8tNSoBTd4RctlySQ/l9JMF+OTD0UhZV0iTa5CgZCwg=
=eTBs
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 22 Mar 21:57 +0100
(address . 50238@debbugs.gnu.org)
8206b745224113261586d76a151b20b97aba4a89.camel@telenet.be
Maxime Devos schreef op di 22-03-2022 om 21:46 [+0100]:
Toggle quote (4 lines)
> I tried from 1.1.0, seems like it fails because guile@2.2 does not
> have
> with-exception-handler:

Actually, it looks like it exists since 2.0, but #:unwind is new.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYjo4ORccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7vTvAQCje5zPasaOUvnyHNS0J9vfEJwL
9l6qOgOgIPxoDkWSPQEAtkb8lJgu0d9sekTknlmX5OsVZ1A/RdWnI/+OnJd2gAU=
=1Dvs
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 22 Mar 23:24 +0100
[PATCH v2] build-self: Try printing nicer error messages
(address . 50238@debbugs.gnu.org)
ef71cec4d9915f8a1b1dff6d08af7c444fc20caa.camel@telenet.be
The revised patch allows time travelling from v1.1.0 to
(master + patch), by not always setting #:unwind?. Next step: test
some older versions (v1.0.0, v0.2?, ...?)?

Greetings,
Maxime.
From 78d8f1c69f39103f23e72f438f23a708d5388a77 Mon Sep 17 00:00:00 2001
From: Maxime Devos <maximedevos@telenet.be>
Date: Sat, 28 Aug 2021 14:42:32 +0200
Subject: [PATCH] build-self: Try printing nicer error messages.

This prevents daunting backtraces like in
the relevant information: that 'subversion' fails to
build.

* build-aux/self.scm (build-program): Wrap the 'run-with-store'
in a 'with-error-handling'.
* guix/ui.scm (guard*): Don't explode on old Guiles.
---
build-aux/build-self.scm | 23 +++++++++++++++--------
guix/ui.scm | 16 +++++++++++-----
2 files changed, 26 insertions(+), 13 deletions(-)

Toggle diff (93 lines)
diff --git a/build-aux/build-self.scm b/build-aux/build-self.scm
index 02822a2ee8..25a7b1e618 100644
--- a/build-aux/build-self.scm
+++ b/build-aux/build-self.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2014, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -280,6 +281,7 @@ interface (FFI) of Guile.")
 
                            ,@(source-module-closure `((guix store)
                                                       (guix self)
+                                                      (guix ui)
                                                       (guix derivations)
                                                       (gnu packages bootstrap))
                                                     (list source)
@@ -316,6 +318,7 @@ interface (FFI) of Guile.")
                         (read-disable 'positions))
 
                       (use-modules (guix store)
+                                   (guix ui)
                                    (guix self)
                                    (guix derivations)
                                    (srfi srfi-1))
@@ -347,14 +350,18 @@ interface (FFI) of Guile.")
                              (parameterize ((current-warning-port
                                              (%make-void-port "w"))
                                             (current-build-output-port sock))
-                               (run-with-store store
-                                 (guix-derivation source version
-                                                  #$guile-version
-                                                  #:channel-metadata
-                                                  '#$channel-metadata
-                                                  #:pull-version
-                                                  #$pull-version)
-                                 #:system system))
+                               ;; Use 'with-error-handling' to prevent scary
+                               ;; backtraced like
+                               ;; <https://issues.guix.gnu.org/50232>.
+                               (with-error-handling
+                                 (run-with-store store
+                                   (guix-derivation source version
+                                                    #$guile-version
+                                                    #:channel-metadata
+                                                    '#$channel-metadata
+                                                    #:pull-version
+                                                    #$pull-version)
+                                   #:system system)))
                              derivation-file-name))))))
                   #:module-path (list source))))
 
diff --git a/guix/ui.scm b/guix/ui.scm
index 238952723e..0afe75bbad 100644
--- a/guix/ui.scm
+++ b/guix/ui.scm
@@ -17,6 +17,7 @@
 ;;; Copyright © 2020 Arun Isaac <arunisaac@systemreboot.net>
 ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;; Copyright © 2018 Steve Sprang <scs@stevesprang.com>
+;;; Copyright © 2022 Maxime Devos <maximedevos@telenet.be>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -677,11 +678,16 @@ or remove one of them from the profile.")
 (define-syntax-rule (guard* (var clauses ...) exp ...)
   "This variant of SRFI-34 'guard' does not unwind the stack before
 evaluating the tests and bodies of CLAUSES."
-  (with-exception-handler
-      (lambda (var)
-        (cond clauses ... (else (raise var))))
-    (lambda () exp ...)
-    #:unwind? #f))
+  (apply with-exception-handler
+         (lambda (var)
+           (cond clauses ... (else (raise var))))
+         (lambda () exp ...)
+         ;; Some old Guiles used by old versions of Guix don't support
+         ;; #:unwind.  Avoid breaking "guix pull" from an old Guix to
+         ;; a new Guix, see <https://issues.guix.gnu.org/50238>.
+         (if (>= (string->number (major-version)) 3)
+             '(#:unwind? #f)
+             '())))
 
 (define (call-with-error-handling thunk)
   "Call THUNK within a user-friendly error handler."

base-commit: 29091731a0c6cb649cdfd72297575fe2bb2a9591
prerequisite-patch-id: e2faf5cdf72f293aca0aff5c89cc1f0dd874d29c
-- 
2.30.2
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYjpMghccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7v72AP4kbU9mqoL5bs3cfgChDa9X+7Rf
wBShzh2SIEd27FjHWQD+LOhzrYtPXKmmH9Mu6jiJRuynyZqQU1dwEdAq9PjsKAk=
=rYbj
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 27 Mar 22:17 +0200
(address . 50238@debbugs.gnu.org)
2cc17c4b63770ff8d02ff1906d608e86634bd04e.camel@telenet.be
Maxime Devos schreef op di 22-03-2022 om 23:24 [+0100]:
Toggle quote (7 lines)
> The revised patch allows time travelling from v1.1.0 to
> (master + patch), by not always setting #:unwind?.  Next step: test
> some older versions (v1.0.0, v0.2?, ...?)?
>
> Greetings,
> Maxime.

I think the current patch is good enough as-is. WDYT?

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYkDGSBccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7hSkAP9sGaT/eAAjG333lLTdQPsFfX61
lG/np0NmgXsdx6pAHwEAzUUsGmDLjDr6iLO3Ilnsa+QwPBruQ8BCn0Mx6LrA6A0=
=6qWV
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 6 May 14:48 +0200
[PATCH] build-self: Try printing nicer error messages.
(address . 50238@debbugs.gnu.org)
8a7e569441703d5530175d356d44dfddbb8401bd.camel@telenet.be
Seems required for effectively debugging #55279.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYnUZOxccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7kvlAQCn8Fp8VGuLNqCDI+2D3Se+8k4G
sFjmjMnHxGUEh0a4UQD9EyWi5o5blYKmbIedo7+gkNPa47H7fAAexMuhhifmwgk=
=3w0J
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 11 May 22:05 +0200
Re: Processed (with 1 errors): Re: Processed (with 3 errors): Re: Processed (with 2 errors): your mail
(address . control@debbugs.gnu.org)
09dc5baf3d7e9437529b9ac38a3c344c07c22492.camel@telenet.be
block 55339 with 50238
block 55279 with 50238
thanks
M
M
Maxime Devos wrote on 13 Jun 04:03 +0200
Re: [PATCH] build-self: Try printing nicer error messages.
(address . 50238@debbugs.gnu.org)
96d7e54b1887d446af47ba4d5ea9c913db7c9cb7.camel@telenet.be
Would presumably have improved the error message at



and

-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYqaa+hccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7qj8AP9sY1Ge3ZgcZEH8CLG1oCUNBTWj
O635ZXBAWFLFx+ivuAD/YoVfy5Pl8FH36HQEBmhJyzUk7wtC4dmr/mGXXWSQRAw=
=L4R4
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 9 Jul 22:39 +0200
Re: Bug in compute-guix-derivation
(name . 56466@debbugs.gnu.org)(address . 56466@debbugs.gnu.org)
1657399171167.40947@student.kuleuven.be
block 56466 with 50238

thanks


This error message isn't informative, maybe the patch at

https://issues.guix.gnu.org/50238would give some context, though not really sure, it was written with other kind of errors in mind.


Greetings,

Maxime.
Attachment: file
M
M
Maxime Devos wrote on 30 Jul 13:10 +0200
Re: bug#56836: guix pull: error: You found a bug: the program...
9392d404-f5f0-b32b-acdb-38c76ff0f2bf@telenet.be
block 56836 with 50238
thanks
On 30-07-2022 02:52, DDC via Bug reports for GNU Guix wrote:
Toggle quote (55 lines)
> guix pull
> Updating channel 'guix' from Git repository at
> 'https://git.savannah.gnu.org/git/guix.git'...
> Authenticating channel 'guix', commits 9edb3f6 to d1c6b8d (142 new
> commits)...
> Building from this channel:
>   guix      https://git.savannah.gnu.org/git/guix.git    d1c6b8d
> substitute: updating substitutes from 'https://ci.guix.gnu.org'...  
> 0.0%guix substitute: warning: ci.guix.gnu.org: connection failed: No
> route to host
> substitute:
> substitute: updating substitutes from
> 'https://bordeaux.guix.gnu.org'... 100.0%
> substitute: updating substitutes from 'https://ci.guix.gnu.org'...   0.0%
> substitute: updating substitutes from
> 'https://bordeaux.guix.gnu.org'... 100.0%
> substitute: updating substitutes from 'https://ci.guix.gnu.org'...   0.0%
> substitute: updating substitutes from
> 'https://bordeaux.guix.gnu.org'... 100.0%
> building /gnu/store/b67kq2d8b9g8rk5z48dg9hrdf1lvchfr-config.scm.drv...
> building /gnu/store/a3njxjzpsh8by0q4v874p3j4lyq9cmd3-git.scm.drv...
> building /gnu/store/myh50qx8qmq2lmgr78aalrpq0y3r8mz4-hash.scm.drv...
> building /gnu/store/7m0gn8s0jsavpws8aq58lq4p6x5drj0g-module-import.drv...
> building /gnu/store/wahp8yav4jbn838bg23d1pr3nng7g4b6-module-import.drv...
> building
> /gnu/store/6ajx5gvymcmrgx4mjdqynn1rfrxlbn2j-module-import-compiled.drv...
> building
> /gnu/store/q1gi153kxlf8nlgsyxb1l78z5sjdh2yf-module-import-compiled.drv...
> building
> /gnu/store/iv4yvnl3h7rbg3ahjgv4b71d1sv0wn4k-compute-guix-derivation.drv...
> Computing Guix derivation for 'x86_64-linux'... /Backtrace:
>           17 (primitive-load
> "/gnu/store/5xv3aac4lkfvvgyhs65l7a3r809h6iaj-compute-guix-derivation")
> In ice-9/eval.scm:
>     155:9 16 (_ _)
>     159:9 15 (_ #(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<directory (guile-u?>
> ?) ?) ?) ?) ?) ?) ?) ?) ?) ?) ?) ?) ?) ?) ?) ?))
> In ice-9/boot-9.scm:
>     152:2 14 (with-fluid* _ _ _)
>     152:2 13 (with-fluid* _ _ _)
> In ./guix/store.scm:
>   2168:24 12 (run-with-store #<store-connection 256.99 7fa396c5eaa0>
> #<procedure 7fa38afd4cd0 at ./guix/self.scm:12?> ?)
>    1996:8 11 (_ #<store-connection 256.99 7fa396c5eaa0>)
> In ./guix/gexp.scm:
>    300:22 10 (_ #<store-connection 256.99 7fa396c5eaa0>)
>    1181:2  9 (_ #<store-connection 256.99 7fa382ca9050>)
>    1047:2  8 (_ #<store-connection 256.99 7fa382ca9050>)
>     893:4  7 (_ #<store-connection 256.99 7fa382ca9050>)
> In ./guix/store.scm:
>   2053:12  6 (_ #<store-connection 256.99 7fa382ca9050>)
>    1401:5  5 (map/accumulate-builds #<store-connection 256.99
> 7fa382ca9050> #<procedure 7fa38027cc40 at ./guix/stor?> ?)
>   1417:15  4 (_ #<store-connection 256.99 7fa382ca9050>
> ("/gnu/store/ljaz2ql0pwxdlxi5as32vp7j8vnh9fd6-guile-ssh-?" ?) ?)
Maybe try tab-expanding
/gnu/store/ljaz2ql0pwxdlxi5as32vp7j8vnh9fd6-guile-ssh- and doing "guix
build" on the result to get an useful error message.
Toggle quote (19 lines)
> 1417:15  3 (loop #f)
>    711:11  2 (process-stderr #<store-connection 256.99 7fa382ca9050> _)
> In ./guix/serialization.scm:
>    102:11  1 (read-int #<input-output: file 10>)
>      80:6  0 (get-bytevector-n* #<input-output: file 10> 8)
>
> ./guix/serialization.scm:80:6: In procedure get-bytevector-n*:
> ERROR:
>   1. &nar-error:
>       file: #f
>       port: #<input-output: file 10>
> guix pull: error: You found a bug: the program
> '/gnu/store/5xv3aac4lkfvvgyhs65l7a3r809h6iaj-compute-guix-derivation'
> failed to compute the derivation for Guix (version:
> "d1c6b8db5a30f9e428d018156dadb12927c485f8"; system: "x86_64-linux";
> host version: "212ca81895b2baa819ea11a308ad21880b84a546";
> pull-version: 1).
> Please report the COMPLETE output above by email to <bug-guix@gnu.org>.
>
This backtrace is almost useless, the guile-ssh is rather hidden and
might not even be the actual issue.  If
would probably have more useful information.
Greetings,
Maxime.
Attachment: OpenPGP_signature
M
M
Maxime Devos wrote on 30 Jul 13:18 +0200
Re: [PATCH] build-self: Try printing nicer error messages.
(address . 50238@debbugs.gnu.org)
d384f042-459c-217a-f5d6-52723a67e058@telenet.be
This (reviewed since 5 months, at least the previous versions) patch
would be helpful for debugging
"guix pull: You found a bug" reports.
Greetings,
Maxime.
Attachment: OpenPGP_signature
M
M
Maxime Devos wrote on 13 Aug 21:37 +0200
Re: bug#57177: `.../guix substitute' died unexpectedly
(address . control@debbugs.gnu.org)
e9281835-f973-1d1b-6f12-dc0dc1a18655@telenet.be
block 57177 with 50238
thanks
On 13-08-2022 17:42, Philip Kaludercic wrote:
Toggle quote (1 lines)
> I just attempted to run `guix pull', and encountered this issue: [...]
I've a patch at https://issues.guix.gnu.org/50238 that might make the
error message more useful.
As-is, we don't really have any information for debugging.
Greetings,
Maxime
Attachment: OpenPGP_signature
M
M
Maxime Devos wrote on 13 Aug 21:38 +0200
Re: [PATCH] build-self: Try printing nicer error messages.
(address . 50238@debbugs.gnu.org)
32597349-b44c-5242-5779-26621082af92@telenet.be
Would be useful for debugging https://issues.guix.gnu.org/57177.
Greetings,
Maxime.
Attachment: OpenPGP_signature
M
M
Maxime Devos wrote on 26 Aug 16:42 +0200
Re: bug#57411: Error when guix pull on aarch64-linux
df8e2a1b-eb8e-c359-9139-6ba0ce8969e6@telenet.be
block 57411 with 50238
thanks
On 25-08-2022 19:50, Jessica Tallon wrote:
Toggle quote (44 lines)
> Hello,
>
> I've tried to install linux on my phone which is a arm64 device
> (Sailfish OS) and I get an error when I try to run `guix pull`. The
> error is:
>
> Updating channel 'guix' from Git repository at 'https://git.savannah.gnu.org/git/guix.git'...
> Authenticating channel 'guix', commits 9edb3f6 to 26ff8a4 (1 new commits)...
> Building from this channel:
> guixhttps://git.savannah.gnu.org/git/guix.git 26ff8a4
> substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
> building /gnu/store/g83xiljbqic95p55jrnxcblv1xg42r8m-compute-guix-derivation.drv...
> Computing Guix derivation for 'aarch64-linux'... \Backtrace:
> 15 (primitive-load "/gnu/store/dqql69hadwvlkb0f85m8603r72ln34lm-compute-guix-derivation")
> In ice-9/eval.scm:
> 155:9 14 (_ _)
> 159:9 13 (_ #(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<directory (guile-u?> ?) ?) ?) ?) ?) ?) ?) ?) ?) ?) ?) ?) ?) ?) ?) ?))
> In ice-9/boot-9.scm:
> 152:2 12 (with-fluid* _ _ _)
> 152:2 11 (with-fluid* _ _ _)
> In ./guix/store.scm:
> 2168:24 10 (run-with-store #<store-connection 256.99 7c0d42e230> _ #:guile-for-build _ #:system _ #:target _)
> 1996:8 9 (_ _)
> In ./guix/gexp.scm:
> 300:22 8 (_ _)
> 1181:2 7 (_ _)
> 1047:2 6 (_ _)
> 893:4 5 (_ _)
> In ./guix/store.scm:
> 2053:12 4 (_ #<store-connection 256.99 7c0bd27910>)
> 1401:5 3 (map/accumulate-builds #<store-connection 256.99 7c0bd27910> #<procedure 7c0c21df30 at ./guix/store.sc?> ?)
> 1417:15 2 (_ #<store-connection 256.99 7c0bd27910> _ _)
> 711:11 1 (process-stderr #<store-connection 256.99 7c0bd27910> _)
> In ./guix/serialization.scm:
> 80:6 0 (read-int #<input-output: file 10>)
>
> ./guix/serialization.scm:80:6: In procedure read-int:
> ERROR:
> 1. &nar-error:
> file: #f
> port: #<input-output: file 10>
> guix pull: error: You found a bug: the program '/gnu/store/dqql69hadwvlkb0f85m8603r72ln34lm-compute-guix-derivation'
> failed to compute the derivation for Guix (version: "26ff8a4b733c06b4f38aa1fb1ec6705bf30eae4a"; system: "aarch64-linux";
> host version: "1.3.0"; pull-version: 1).
This backtrace does not appear to have useful information for debugging
the issue, perhaps https://issues.guix.gnu.org/50238could help by using
the with-error-handling to format the error messages properly.
Toggle quote (3 lines)
> As a GUIX aarch64 user on many devices, I can say it’s not a common
> problem.
> How much RAM do you have on your device? Do you have swap/zram?
As mentioned previously in another thread, the name is Guix, not GUIX.
GUIX is a Microsoft thing.
To test for out-of-memory problems, you could dmesg (ideally Guix would
hook into cgroups or whatever to be notified about out-of-memory and
properly indicate the error message).
&nar-error sounds more like a substitute-related (because 'nar) network
error to me though.
Greetings,
Maxime.
Attachment: file
Attachment: OpenPGP_signature
?