"guix refresh --list-updaters" fails

  • Done
  • quality assurance status badge
Details
2 participants
  • Danny Milosavljevic
  • Ludovic Courtès
Owner
unassigned
Submitted by
Danny Milosavljevic
Severity
normal
D
D
Danny Milosavljevic wrote on 24 Jul 2020 11:22
(address . bug-guix@gnu.org)
20200724112159.2e77bff0@scratchpost.org
$ LC_ALL=C guix describe
Generation 108 Jul 16 2020 11:03:13 (current)
guix d57ce20
branch: master
commit: d57ce2024b0bdec0f8d05258c32c7bc7275a17a6
heads 9cc77db
branch: wip-musl
commit: 9cc77db51d994dc3ea03298e3714e2a0c7b929a5

$ LC_ALL=C guix refresh --list-updaters
[...]
- cpan: Updater for CPAN packages (5.3% coverage)
- kernel.org: Updater for packages hosted on kernel.org (.3% coverage)
Backtrace:
12 (primitive-load "/home/dannym/.config/guix/current/bin/?")
In guix/ui.scm:
1974:12 11 (run-guix-command _ . _)
In guix/scripts/refresh.scm:
502:4 10 (guix-refresh . _)
In ice-9/boot-9.scm:
1731:15 9 (with-exception-handler #<procedure 7fefd641f2d0 at ic?> ?)
In srfi/srfi-37.scm:
201:16 8 (next-arg)
113:18 7 (invoke-option-processor _ _ _ _ _)
In unknown file:
6 (_ #<procedure 7fefd641f240 at srfi/srfi-37.scm:114:22?> ?)
In guix/scripts/refresh.scm:
285:4 5 (_ . _)
In srfi/srfi-1.scm:
460:18 4 (fold #<procedure 7fefdaecbf60 at guix/scripts/refresh?> ?)
In guix/scripts/refresh.scm:
287:29 3 (_ #<<upstream-updater> name: gnu-ftp description: "Up?> ?)
In unknown file:
2 (filter #<procedure pred (package)> (#<package heads?> ?))
In guix/memoization.scm:
101:0 1 (_ #<hash-table 7fefdaedbce0 12/31> #<package heads-u-?> ?)
In guix/gnu-maintenance.scm:
182:20 0 (_)

guix/gnu-maintenance.scm:182:20: In procedure struct-vtable: Wrong type argument in position 1 (expecting struct): #f

(define gnu-package?
(let ((official-gnu-packages (memoize official-gnu-packages)))
(mlambdaq (package)
"Return true if PACKAGE is a GNU package. This procedure may access the
network to check in GNU's database."
(define (mirror-type url)
(let ((uri (string->uri url))) ; <------------------------
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCgAdFiEEds7GsXJ0tGXALbPZ5xo1VCwwuqUFAl8aqGAACgkQ5xo1VCww
uqUXuAf/cdhfCumUMgh/YCl1v1T0/bfc3fKFQigKDNGbpXYBxPF6BLHdYWcaw3ni
IOZQvZ3p3nhooBrT+pnUMPdDkq5Xie/AZjgDdzgHWDbVnJGZYG30c7KovGTuqj37
S6IzI5onWtF9xihtHf0ooMvRXOy4A4X7EuCc3sWR8FVcjwS4WZk1UkXrH98xf1s2
8zQITn41MkTONrKiXFj/othqkK+vTH2yWojhrg7Mc93iXQeXTevY68TuzWaCV1dE
Pd8EuhZ2X+kXlk5QYDi1TBxpiAD51VdvNTPDwAOBMUM2qpzY1mDgrLIFuxQMWDrk
ZNCViCiXIkH4v4vhKuFXuIIwJ59YZg==
=WYqw
-----END PGP SIGNATURE-----


L
L
Ludovic Courtès wrote on 24 Jul 2020 11:49
(name . Danny Milosavljevic)(address . dannym@scratchpost.org)(address . 42512@debbugs.gnu.org)
87wo2tb5us.fsf@gnu.org
Hi Danny,

Danny Milosavljevic <dannym@scratchpost.org> skribis:

Toggle quote (51 lines)
> $ LC_ALL=C guix describe
> Generation 108 Jul 16 2020 11:03:13 (current)
> guix d57ce20
> repository URL: https://git.savannah.gnu.org/git/guix.git
> branch: master
> commit: d57ce2024b0bdec0f8d05258c32c7bc7275a17a6
> heads 9cc77db
> repository URL: https://github.com/daym/heads-guix.git
> branch: wip-musl
> commit: 9cc77db51d994dc3ea03298e3714e2a0c7b929a5
>
> $ LC_ALL=C guix refresh --list-updaters
> [...]
> - cpan: Updater for CPAN packages (5.3% coverage)
> - kernel.org: Updater for packages hosted on kernel.org (.3% coverage)
> Backtrace:
> 12 (primitive-load "/home/dannym/.config/guix/current/bin/?")
> In guix/ui.scm:
> 1974:12 11 (run-guix-command _ . _)
> In guix/scripts/refresh.scm:
> 502:4 10 (guix-refresh . _)
> In ice-9/boot-9.scm:
> 1731:15 9 (with-exception-handler #<procedure 7fefd641f2d0 at ic?> ?)
> In srfi/srfi-37.scm:
> 201:16 8 (next-arg)
> 113:18 7 (invoke-option-processor _ _ _ _ _)
> In unknown file:
> 6 (_ #<procedure 7fefd641f240 at srfi/srfi-37.scm:114:22?> ?)
> In guix/scripts/refresh.scm:
> 285:4 5 (_ . _)
> In srfi/srfi-1.scm:
> 460:18 4 (fold #<procedure 7fefdaecbf60 at guix/scripts/refresh?> ?)
> In guix/scripts/refresh.scm:
> 287:29 3 (_ #<<upstream-updater> name: gnu-ftp description: "Up?> ?)
> In unknown file:
> 2 (filter #<procedure pred (package)> (#<package heads?> ?))
> In guix/memoization.scm:
> 101:0 1 (_ #<hash-table 7fefdaedbce0 12/31> #<package heads-u-?> ?)
> In guix/gnu-maintenance.scm:
> 182:20 0 (_)
>
> guix/gnu-maintenance.scm:182:20: In procedure struct-vtable: Wrong type argument in position 1 (expecting struct): #f
>
> (define gnu-package?
> (let ((official-gnu-packages (memoize official-gnu-packages)))
> (mlambdaq (package)
> "Return true if PACKAGE is a GNU package. This procedure may access the
> network to check in GNU's database."
> (define (mirror-type url)
> (let ((uri (string->uri url))) ; <------------------------

That suggests one of the packages in the ‘heads-guix’ channel has an
invalid URL (one for which ‘string->uri’ returns #f).

If you set COLUMNS=200 you should see the name of the package in the
backtrace. :-)

Ludo’.
D
D
Danny Milosavljevic wrote on 24 Jul 2020 12:18
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 42512@debbugs.gnu.org)
20200724121844.4a908612@scratchpost.org
Hi Ludo,

Toggle quote (6 lines)
> That suggests one of the packages in the ‘heads-guix’ channel has an
> invalid URL (one for which ‘string->uri’ returns #f).
>
> If you set COLUMNS=200 you should see the name of the package in the
> backtrace. :-)

That is correct. I had a URL with content "FIXME" with url-fetch.

Still, I don't think this should happen. Better to just print a normal warning
or error message.
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCgAdFiEEds7GsXJ0tGXALbPZ5xo1VCwwuqUFAl8atYQACgkQ5xo1VCww
uqWoOwf9GrcTsNc6r/N1oNMDV/wM5snIRnnIaPdoV4JFad9WO3H6HNatir9LN30d
8u3sxJAYSo+MgxutEWUKSotlOwy0XDSgVr3DYWFfdddH8fRsD5YLvnkTSXhvX5e5
DjlricS+4D/nBuwoZ4VD2oubIicURZ5DLVePpmJKnyl2gmQHUyut+eRBr/9TFBgh
/CcEd38+daLahWD405AnparVkI3jVnOEX1MVpaI8TzvPUFVBz6enHCbFp15lSWBl
Bn1t/wHlJ4wGQpdOwm2J3ZnY35ACT/fGDM/A7Z0QqhXB+IbC4pZMQ6FveoI0GErS
dzfKmyumSU35OoR9syf1hdi+AL7sNA==
=1Gnm
-----END PGP SIGNATURE-----


L
L
Ludovic Courtès wrote on 28 Jul 2020 23:31
(name . Danny Milosavljevic)(address . dannym@scratchpost.org)(address . 42512@debbugs.gnu.org)
874kprtjhc.fsf@gnu.org
Hi,

Danny Milosavljevic <dannym@scratchpost.org> skribis:

Toggle quote (11 lines)
>> That suggests one of the packages in the ‘heads-guix’ channel has an
>> invalid URL (one for which ‘string->uri’ returns #f).
>>
>> If you set COLUMNS=200 you should see the name of the package in the
>> backtrace. :-)
>
> That is correct. I had a URL with content "FIXME" with url-fetch.
>
> Still, I don't think this should happen. Better to just print a normal warning
> or error message.

Yes, but… it’s complicated: the assumption that the ‘uri’ field is a URI
or list thereof is made throughout the code.

Thanks,
Ludo’.
L
L
Ludovic Courtès wrote on 25 Sep 2020 11:58
control message for bug #42512
(address . control@debbugs.gnu.org)
87d02a2n4z.fsf@gnu.org
tags 42512 wontfix
close 42512
quit
?
Your comment

This issue is archived.

To comment on this conversation send an email to 42512@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 42512
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch