"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
?