GNU bug report logs -
#55911
[PATCH] channels: Print backtrace when generating package cache fails.
Previous Next
Reported by: Josselin Poiret <dev <at> jpoiret.xyz>
Date: Sat, 11 Jun 2022 16:31:01 UTC
Severity: normal
Tags: patch
Done: Ludovic Courtès <ludo <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your message dated Thu, 16 Jun 2022 11:10:49 +0200
with message-id <87sfo5m0rq.fsf_-_ <at> gnu.org>
and subject line Re: bug#55911: [PATCH] channels: Print backtrace when generating package cache fails.
has caused the debbugs.gnu.org bug report #55911,
regarding [PATCH] channels: Print backtrace when generating package cache fails.
to be marked as done.
(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)
--
55911: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=55911
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
* guix/channels.scm (package-cache-file): Add a throw handler around
the generate-package-cache call, and print backtrace in it.
---
guix/channels.scm | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/guix/channels.scm b/guix/channels.scm
index 20f347d34f..e3a4daf7b3 100644
--- a/guix/channels.scm
+++ b/guix/channels.scm
@@ -911,7 +911,17 @@ (define build
(format (current-error-port)
"Generating package cache for '~a'...~%"
#$profile)
- (generate-package-cache #$output))
+ ;; This script runs through (primitive-load), which by default
+ ;; doesn't print backtraces when it encounters an exception,
+ ;; so manually do it. Use with-throw-handler because it is
+ ;; supported by all Guile versions.
+ (with-throw-handler #t
+ (lambda () (generate-package-cache #$output))
+ (lambda (key . args)
+ ;; Guile 1 prints the whole backtrace, and would need a
+ ;; fluid set for the backtrace procedure to work, so ignore.
+ (unless (string-prefix? "1" (version))
+ (backtrace)))))
(mkdir #$output))))
(gexp->derivation-in-inferior "guix-package-cache" build
--
2.36.1
[Message part 3 (message/rfc822, inline)]
Hi Josselin,
Josselin Poiret <dev <at> jpoiret.xyz> skribis:
> * guix/channels.scm (package-cache-file): Add a throw handler around
> the generate-package-cache call, and print backtrace in it.
> ---
> IRC promptly pointed out that Guix has required Guile ver>=2 since way before
> guix repl and guix pull were ever a thing, thus drop the Guile 1 compatibility
> code. Enjoy this v2
That’s a good idea. Applied!
Thanks for the patch and for paying attention to compatibility!
Ludo’.
This bug report was last modified 2 years and 338 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.