guix lint --checkers=refresh fails

OpenSubmitted by Jonathan Brielmaier.
Details
3 participants
  • Jonathan Brielmaier
  • Ludovic Courtès
  • quiliro
Owner
unassigned
Severity
normal
J
J
Jonathan Brielmaier wrote on 23 Aug 2019 16:45
(address . bug-guix@gnu.org)
68179bd6-5282-5b09-72b7-ac4e7b19e488@web.de
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
L
L
Ludovic Courtès wrote on 27 Aug 2019 11:44
(name . Jonathan Brielmaier)(address . jonathan.brielmaier@web.de)(address . 37160@debbugs.gnu.org)
87tva3q6wv.fsf@gnu.org
Hi Jonathan,

Jonathan Brielmaier <jonathan.brielmaier@web.de> skribis:

Toggle quote (4 lines)
> 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.

I cannot reproduce it on current master, on Guix System.

Toggle quote (31 lines)
> 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

This backtrace is not from current master (there’s now a new (guix lint)
module.) Could you post the backtrace for master?

Thanks,
Ludo’.
J
J
Jonathan Brielmaier wrote on 27 Aug 2019 12:27
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 37160@debbugs.gnu.org)
452b7ce8-efee-7680-2df0-412d45750b9d@web.de
On 27.08.19 11:44, Ludovic Courtès wrote:
Toggle quote (3 lines)
> This backtrace is not from current master (there’s now a new (guix lint)
> module.) Could you post the backtrace for master?

Backtrace on master (d78bc23411):

guix lint --checkers=refresh hello
Backtrace:ello@2.10 [refresh]...
9 (apply-smob/1 #<catch-closure 7fcdabc0a560>)
In ice-9/boot-9.scm:
705:2 8 (call-with-prompt _ _ #<procedure default-prompt-handle…>)
In ice-9/eval.scm:
619:8 7 (_ #(#(#<directory (guile-user) 7fcdabcb9140>)))
In guix/ui.scm:
1692:12 6 (run-guix-command _ . _)
In srfi/srfi-1.scm:
640:9 5 (for-each #<procedure 7fcdaa7e9500 at guix/scripts/lin…> …)
In guix/scripts/lint.scm:
57:4 4 (run-checkers #<package hello@2.10 gnu/packages/base.s…> …)
In srfi/srfi-1.scm:
640:9 3 (for-each #<procedure 7fcd9e787ba0 at guix/scripts/lin…> …)
In guix/scripts/lint.scm:
64:17 2 (_ _)
In guix/lint.scm:
1010: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 7fcd9f2c0390 at guix/lint.s…> …)

ice-9/boot-9.scm:829:9: In procedure catch:
Wrong type to apply: #f

It's slightly different then on 1.0.1 (now at guix/lint.scm), but the
error seems to be the same.
Q
Q
quiliro wrote on 27 Aug 2019 12:29
91b9327a9404019dcc271a9618e6addf.squirrel@sm.riseup.net
Toggle quote (12 lines)
> Jonathan Brielmaier <jonathan.brielmaier@web.de> skribis:
>
>> 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

Why don't you 'guix pull' before the next step ?

Toggle quote (26 lines)
>> $ 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
J
J
Jonathan Brielmaier wrote on 27 Aug 2019 14:51
569bd2b3-5e2f-053b-88fa-9ed6112b9e58@web.de
On 27.08.19 12:29, quiliro@riseup.net wrote:
Toggle quote (15 lines)
>
>> Jonathan Brielmaier <jonathan.brielmaier@web.de> skribis:
>>
>>> 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
>
> Why don't you 'guix pull' before the next step ?

Because I use an openSUSE packages which gets regulary built from
current master commit of guix. So I don't need guix pull :)
Q
Q
quiliro wrote on 27 Aug 2019 14:59
(name . Jonathan Brielmaier)(address . jonathan.brielmaier@web.de)(address . 37160@debbugs.gnu.org)
3689b74456212dacda495f6d549eec3c.squirrel@sm.riseup.net
El Mar, 27 de Agosto de 2019, 7:51 am, Jonathan Brielmaier escribió:
Toggle quote (20 lines)
> On 27.08.19 12:29, quiliro@riseup.net wrote:
>>
>>> Jonathan Brielmaier <jonathan.brielmaier@web.de> skribis:
>>>
>>>> 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
>>
>> Why don't you 'guix pull' before the next step ?
>
> Because I use an openSUSE packages which gets regulary built from
> current master commit of guix. So I don't need guix pull :)

Oh! Thank you for the information I did not know that was available. It
sounds like a good thing.

I am not sure about this, but (just in case) would you please test guix
pull and then verify if the error comes up again? Then we could compare.
L
L
Ludovic Courtès wrote on 28 Aug 2019 00:33
(name . Jonathan Brielmaier)(address . jonathan.brielmaier@web.de)(address . 37160@debbugs.gnu.org)
87pnkqkzlu.fsf@gnu.org
Hi,

Jonathan Brielmaier <jonathan.brielmaier@web.de> skribis:

Toggle quote (25 lines)
> guix lint --checkers=refresh hello
> Backtrace:ello@2.10 [refresh]...
> 9 (apply-smob/1 #<catch-closure 7fcdabc0a560>)
> In ice-9/boot-9.scm:
> 705:2 8 (call-with-prompt _ _ #<procedure default-prompt-handle…>)
> In ice-9/eval.scm:
> 619:8 7 (_ #(#(#<directory (guile-user) 7fcdabcb9140>)))
> In guix/ui.scm:
> 1692:12 6 (run-guix-command _ . _)
> In srfi/srfi-1.scm:
> 640:9 5 (for-each #<procedure 7fcdaa7e9500 at guix/scripts/lin…> …)
> In guix/scripts/lint.scm:
> 57:4 4 (run-checkers #<package hello@2.10 gnu/packages/base.s…> …)
> In srfi/srfi-1.scm:
> 640:9 3 (for-each #<procedure 7fcd9e787ba0 at guix/scripts/lin…> …)
> In guix/scripts/lint.scm:
> 64:17 2 (_ _)
> In guix/lint.scm:
> 1010: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 7fcd9f2c0390 at guix/lint.s…> …)
>
> ice-9/boot-9.scm:829:9: In procedure catch:
> Wrong type to apply: #f

I think commit 58d5f280a36e1cfddfa999d320c285726d8a8bc1 fixes it,
doesn’t it? :-)

Thanks,
Ludo’.
J
J
Jonathan Brielmaier wrote on 28 Aug 2019 11:36
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 37160@debbugs.gnu.org)
f00bcb84-2d46-eeb6-e69a-2ed651c37fcd@web.de
On 28.08.19 00:33, Ludovic Courtès wrote:
Toggle quote (32 lines)
> Hi,
>
> Jonathan Brielmaier <jonathan.brielmaier@web.de> skribis:
>
>> guix lint --checkers=refresh hello
>> Backtrace:ello@2.10 [refresh]...
>> 9 (apply-smob/1 #<catch-closure 7fcdabc0a560>)
>> In ice-9/boot-9.scm:
>> 705:2 8 (call-with-prompt _ _ #<procedure default-prompt-handle…>)
>> In ice-9/eval.scm:
>> 619:8 7 (_ #(#(#<directory (guile-user) 7fcdabcb9140>)))
>> In guix/ui.scm:
>> 1692:12 6 (run-guix-command _ . _)
>> In srfi/srfi-1.scm:
>> 640:9 5 (for-each #<procedure 7fcdaa7e9500 at guix/scripts/lin…> …)
>> In guix/scripts/lint.scm:
>> 57:4 4 (run-checkers #<package hello@2.10 gnu/packages/base.s…> …)
>> In srfi/srfi-1.scm:
>> 640:9 3 (for-each #<procedure 7fcd9e787ba0 at guix/scripts/lin…> …)
>> In guix/scripts/lint.scm:
>> 64:17 2 (_ _)
>> In guix/lint.scm:
>> 1010: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 7fcd9f2c0390 at guix/lint.s…> …)
>>
>> ice-9/boot-9.scm:829:9: In procedure catch:
>> Wrong type to apply: #f
>
> I think commit 58d5f280a36e1cfddfa999d320c285726d8a8bc1 fixes it,
> doesn’t it? :-)

My package is now on2f57fa10f4, so includes your commit. But the error
still looks very similar:

$ guix lint --checkers=refresh hello
Backtrace:ello@2.10 [refresh]...
9 (apply-smob/1 #<catch-closure 7fcbddeb4800>)
In ice-9/boot-9.scm:
705:2 8 (call-with-prompt _ _ #<procedure default-prompt-handle…>)
In ice-9/eval.scm:
619:8 7 (_ #(#(#<directory (guile-user) 7fcbddf82140>)))
In guix/ui.scm:
1692:12 6 (run-guix-command _ . _)
In srfi/srfi-1.scm:
640:9 5 (for-each #<procedure 7fcbdbe8b0a0 at guix/scripts/lin…> …)
In guix/scripts/lint.scm:
57:4 4 (run-checkers #<package hello@2.10 gnu/packages/base.s…> …)
In srfi/srfi-1.scm:
640:9 3 (for-each #<procedure 7fcbd3b8ca80 at guix/scripts/lin…> …)
In guix/scripts/lint.scm:
64:17 2 (_ _)
In guix/lint.scm:
1010: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 7fcbd3943e10 at guix/lint.s…> …)

ice-9/boot-9.scm:829:9: In procedure catch:
Wrong type to apply: #f
?