(address . bug-guix@gnu.org)
During testing various guix commands on openSUSE Tumbleweed with the
openSUSE package, I found a strange error. This happens with guix 1.0.1
and d78bc23411 as openSUSE packages.
Steps to reproduce:
* Install Tumbleweed
$ sudo zypper install guix
$ sudo systemctl start guix-daemon
$ guix install nss-certs
$ export
SSL_CERT_FILE="$HOME/.guix-profile/etc/ssl/certs/ca-certificates.crt"
$ export SSL_CERT_DIR="$HOME/.guix-profile/etc/ssl/certs"
$ guix lint --checkers=refresh hello
Backtrace:ello@2.10 [refresh]...
8 (apply-smob/1 #<catch-closure 7f611c41c7c0>)
In ice-9/boot-9.scm:
705:2 7 (call-with-prompt _ _ #<procedure default-prompt-handle…>)
In ice-9/eval.scm:
619:8 6 (_ #(#(#<directory (guile-user) 7f611c43b140>)))
In guix/ui.scm:
1747:12 5 (run-guix-command _ . _)
In srfi/srfi-1.scm:
640:9 4 (for-each #<procedure 7f611af598e0 at guix/scripts/lin…> …)
In guix/scripts/lint.scm:
1152:4 3 (run-checkers #<package hello@2.10 gnu/packages/base.s…> …)
In srfi/srfi-1.scm:
640:9 2 (for-each #<procedure 7f6110857820 at guix/scripts/lin…> …)
In guix/scripts/lint.scm:
954:2 1 (check-for-updates #<package hello@2.10 gnu/packages/ba…>)
In ice-9/boot-9.scm:
829:9 0 (catch srfi-34 #<procedure 7f611074a3c0 at guix/script…> …)
ice-9/boot-9.scm:829:9: In procedure catch:
Wrong type to apply: #f
Error does not occur when:
* guix is installed via the installer script 1.0.1
* guix is installed via the installer script and guix pulled to current
master
* package source doesn't gome from gnu mirror like 0xffff (github),
mate-system-monitor, dconf-editor...
The only difference I can see between guix binary and openSUSE's guix is
the first uses guile 2.2.4 and the second guile 2.2.6 (from Tumbleweed).
Some backtrace from guix repl:
scheme@(guix-user)> (use-modules (guix scripts lint))
scheme@(guix-user)> (guix-lint "--checkers=refresh" "hello")
ice-9/boot-9.scm:829:9: In procedure catch:
Wrong type to apply: #f
Entering a new prompt. Type `,bt' for a backtrace or `,q' to continue.
scheme@(guix-user) [1]> ,bt
In srfi/srfi-1.scm:
640:9 4 (for-each #<procedure 7fb9c718a560 at guix/scripts/lin…> …)
In guix/scripts/lint.scm:
1152:4 3 (run-checkers #<package hello@2.10 gnu/packages/base.s…> …)
In srfi/srfi-1.scm:
640:9 2 (for-each #<procedure 7fb9ba623b00 at guix/scripts/lin…> …)
In guix/scripts/lint.scm:
954:2 1 (check-for-updates #<package hello@2.10 gnu/packages/ba…>)
In ice-9/boot-9.scm:
829:9 0 (catch srfi-34 #<procedure 7fb9bd5321e0 at guix/script…> …)
scheme@(guix-user) [1]> ,locals
Local variables:
$1 = k = srfi-34
$2 = thunk = #<procedure 7fb9bd5321e0 at guix/scripts/lint.scm:880:2…>
$3 = handler = #<procedure 7fb9ba623740 at guix/scripts/lint.scm:880…>
$4 = #f = #<thread-local-fluid 7fb9cb21d750>
scheme@(guix-user) [1]> ,up
In guix/scripts/lint.scm:
954:2 1 (check-for-updates #<package hello@2.10 gnu/packages/ba…>)
scheme@(guix-user) [1]> ,locals
Local variables:
$5 = package = #<package hello@2.10 gnu/packages/base.scm:72 7fb9bce…>
$6 = arg = #<procedure call-with-networking-fail-safe (message error…>
$7 = box = #<variable 7fb9caecbd60 value: #<procedure 7fb9caec8ac0 a…>
$8 = arg = #<procedure 7fb9caec8ac0 at ice-9/format.scm:1609:9 (dest…>
$9 = arg = #f
$10 = box = #<variable 7fb9cae898c0 value: #<procedure G_ (t-13c8acc…>
$11 = tmp = "while retrieving upstream info for '~a'"
$12 = arg = #<record-type <package>>
$13 = box = #<variable 7fb9c9de61d0 value: #<record-type <package>>>
scheme@(guix-user) [1]> ,up
In srfi/srfi-1.scm:
640:9 2 (for-each #<procedure 7fb9ba623b00 at guix/scripts/lin…> …)
scheme@(guix-user) [1]> ,locals
Local variables:
$19 = f = #<procedure 7fb9ba623b00 at guix/scripts/lint.scm:1152:14 …>
$20 = l = (#<<lint-checker> name: refresh description: "Check the p…>)
To be honest I'm a bit lost here. If you have any ideas how to debug
this, please let my know.
Kind Regards
Jonathan