pypi import: ungraceful exit when recursively importing unknown package

  • Open
  • quality assurance status badge
Details
2 participants
  • Ricardo Wurmus
  • zimoun
Owner
unassigned
Submitted by
Ricardo Wurmus
Severity
normal
R
R
Ricardo Wurmus wrote on 7 Dec 2021 12:26
(address . bug-guix@gnu.org)
87ee6oven6.fsf@elephly.net
When using the pypi importer, a typo in the package name leads to an
ugly backtrace:

Toggle snippet (26 lines)
./pre-inst-env guix import pypi -r pytestrerunfailures
following redirection to `https://pypi.org/pypi/pytestrerunfailures/json/'...
Backtrace:
In ice-9/boot-9.scm:
1752:10 9 (with-exception-handler _ _ #:unwind? _ #:unwind-for-type _)
In unknown file:
8 (apply-smob/0 #<thunk 7f3f0d996f60>)
In ice-9/boot-9.scm:
724:2 7 (call-with-prompt _ _ #<procedure default-prompt-handler (k proc)>)
In ice-9/eval.scm:
619:8 6 (_ #(#(#<directory (guile-user) 7f3f0d990c80>)))
In guix/ui.scm:
2206:7 5 (run-guix . _)
2169:10 4 (run-guix-command _ . _)
In guix/scripts/import.scm:
124:11 3 (guix-import . _)
In guix/scripts/import/pypi.scm:
96:18 2 (guix-import-pypi . _)
In guix/import/utils.scm:
498:27 1 (recursive-import "pytestrerunfailures" #:repo->guix-package _ #:guix-name _ …)
488:33 0 (lookup-node "pytestrerunfailures" #f)

guix/import/utils.scm:488:33: In procedure lookup-node:
Wrong number of values returned to continuation (expected 2)

--
Ricardo
Z
Z
zimoun wrote on 7 Dec 2021 14:20
(name . Ricardo Wurmus)(address . rekado@elephly.net)(address . 52350@debbugs.gnu.org)
CAJ3okZ0WSucuM9DYV1ka-BzPMO95qbHcPso3dPxk__MYe6bYcw@mail.gmail.com
Hi Ricardo,

On Tue, 7 Dec 2021 at 12:28, Ricardo Wurmus <rekado@elephly.net> wrote:

Toggle quote (3 lines)
> When using the pypi importer, a typo in the package name leads to an
> ugly backtrace:

This is already tracker by patch#45984. Well, the patch fixes the
issue of "pypi" and other ones too (although some had probably been
fixed independently, I have not checked or rebased this old patch).
The patch had not been merged because we (with jeko) tried a
pair-programming hacking session to revamp all the error handling.
Well, we were not very far (not easy pair programming, remotely
neither :-)).

I do not have much time these days to concretely make this revamp.
Maybe, the initial patch could be applied as a stopgap waiting a clean
revamp.



Cheers,
simon
Z
Z
zimoun wrote on 8 Mar 2022 11:09
(name . Ricardo Wurmus)(address . rekado@elephly.net)(address . 52350@debbugs.gnu.org)
87h7884uxi.fsf@gmail.com
Hi Ricardo,

On mar., 07 déc. 2021 at 11:26, Ricardo Wurmus <rekado@elephly.net> wrote:

Toggle quote (2 lines)
> ./pre-inst-env guix import pypi -r pytestrerunfailures

Toggle snippet (8 lines)
$ guix import pypi pytestrerunfailures
following redirection to `https://pypi.org/pypi/pytestrerunfailures/json/'...
guix import: error: failed to download meta-data for package 'pytestrerunfailures'

$ guix import pypi pytestrerunfailures -r
following redirection to `https://pypi.org/pypi/pytestrerunfailures/json/'...

Fixed by f7bb161445903c51d299307610403cb3de0fcc56, at least the ugly
backtrace. However, it is still unsatisfactory since the error is not
correctly handled.

I propose to close because the exit is now graceful -- at least less
ungraceful. :-)


Cheers,
simon
?
Your comment

Commenting via the web interface is currently disabled.

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

To respond to this issue using the mumi CLI, first switch to it
mumi current 52350
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