bug-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#18831: Error handling in guix import?


From: Ian Denhardt
Subject: bug#18831: Error handling in guix import?
Date: Sat, 25 Oct 2014 05:19:17 -0400
User-agent: alot/0.3.6

So I was trying to play with the pypi importer, and (as a test) ran:

    guix import pypi schema

and got back:

    starting download of `/tmp/guix-file.5J1eOy' from 
`https://pypi.python.org/pypi/schema/json'...
    ;;; Failed to autoload make-session in (gnutls):
    ;;; ERROR: missing interface for module (gnutls)
    ERROR: In procedure module-lookup: Unbound variable: make-session
    failed to download "/tmp/guix-file.5J1eOy" from 
"https://pypi.python.org/pypi/schema/json";
    Backtrace:
    In ice-9/boot-9.scm:
     157: 13 [catch #t #<catch-closure 28ab1c0> ...]
    In unknown file:
       ?: 12 [apply-smob/1 #<catch-closure 28ab1c0>]
    In ice-9/boot-9.scm:
      63: 11 [call-with-prompt prompt0 ...]
    In ice-9/eval.scm:
     432: 10 [eval # #]
    In ice-9/boot-9.scm:
    2401: 9 [save-module-excursion #<procedure 28ca940 at 
ice-9/boot-9.scm:4045:3 ()>]
    4050: 8 [#<procedure 28ca940 at ice-9/boot-9.scm:4045:3 ()>]
    1724: 7 [%start-stack load-stack ...]
    1729: 6 [#<procedure 28e2ea0 ()>]
    In unknown file:
       ?: 5 [primitive-load "/home/isd/src/guix/scripts/guix"]
    In guix/ui.scm:
     776: 4 [run-guix-command import "pypi" "schema"]
    In guix/scripts/import.scm:
     109: 3 [guix-import "pypi" "schema"]
    In guix/import/pypi.scm:
     167: 2 [pypi->guix-package "schema"]
     112: 1 [latest-source-release #f]
    In unknown file:
       ?: 0 [find #<procedure 3b00920 at guix/import/pypi.scm:112:14 (release)> 
#f]
    
    ERROR: In procedure find:
    ERROR: In procedure find: Wrong type argument in position 2 (expecting 
list): #f


It's obvious from the stuff at the beginning that there's some
underlying issue to due with gnutls that's causing the url fetch to
fail. My hunch is that's just my system, However, it's perfectly
reasonable to expect it to fail under more normal circumstances -
e.g. you're not connected to a network.

I poked through the source a bit, and it looks like the importer is just
not checking for errors from (guix build download)'s url-fetch (which
returns #f on error), so when it fails you get a stack trace like the
above. We should do a proper check for download failures, and print an
intelligible error message.

-Ian

Attachment: signature.asc
Description: signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]