Subject: guix pull compile-files failure doesn't identify failed file
From: Robert Vollmert <[email-masked]>
To: [email-masked]
Date: Sat, 13 Jul 2019 20:13:32 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Specifically, building guix-packages.drv locally, I got the output below.
As far as I can tell, the problematic file’s name is not contained in the
output at all. The file is certainly available where we call compile-file
— no idea whether it would be better to print the filename while handling
the exception in. guix/build/compile.scm, or whether guile should print
a better error here.

[ snip progress output ]

 29.1% of 203 files^M[ 60/406] loading...        29.6% of 203 files^M[ 61/406] loading...        30.0% of 203 files^M[ 62/406] loading...        30.5% of 203 files^M[ 63/406] loading...        31.0% of 203 files^M[ 64/406] loading...        31.5% of 203 files^M[ 65/406] loading...        32.0% of 203 files^M[ 66/406] loading...        32.5% of 203 files^M[ 67/406] loading...        33.0% of 203 files^M[ 68/406] loading...        33.5% of 203 files^M[ 69/406] loading...        34.0% of 203 files^M[ 70/406] loading...        34.5% of 203 files^M[ 71/406] loading...        35.0% of 203 files^M[ 72/406] loading...        35.5% of 203 files^M[ 73/406] loading...        36.0% of 203 files^M[ 74/406] loading...        36.5% of 203 filesBacktrace:
In ice-9/psyntax.scm:
  1235:36 19 (expand-top-sequence _ _ _ #f _ _ _)
  1182:24 18 (parse _ (("placeholder" placeholder)) ((top) #(ribcage () () ())) _ e (eval) (hygiene #{ g670}#))
   285:10 17 (parse _ (("placeholder" placeholder)) (()) _ c&e (eval) (hygiene #{ g670}#))
In ice-9/eval.scm:
   293:34 16 (_ #<module (#{ g670}#) 553e6e0>)
In ice-9/boot-9.scm:
   2874:4 15 (define-module* _ #:filename _ #:pure _ #:version _ #:imports _ #:exports _ #:replacements _ #:re-exports _ #:autoloads _ #:duplicates _ #:transformer _)
  2071:24 14 (call-with-deferred-observers _)
  2887:24 13 (_)
   222:17 12 (map1 (((gnu)) ((guix)) ((guix git-download)) ((guix build-system haskell)) ((guix build-system elm)) ((guix licenses)) ((guix licenses) #:prefix license:) ((guix packages)) ((# ?)) ?))
  2800:17 11 (resolve-interface (gnu) #:select _ #:hide _ #:prefix _ #:renamer _ #:version _)
In ice-9/threads.scm:
    390:8 10 (_ _)
In ice-9/boot-9.scm:
  2726:13  9 (_)
In ice-9/threads.scm:
    390:8  8 (_ _)
In ice-9/boot-9.scm:
  2994:20  7 (_)
   2312:4  6 (save-module-excursion _)
  3014:26  5 (_)
In unknown file:
           4 (primitive-load-path "gnu" #<procedure 59f5360 at ice-9/boot-9.scm:3001:37 ()>)
In ice-9/boot-9.scm:
   260:13  3 (for-each #<procedure 37d7c40 at ice-9/eval.scm:333:13 (a)> ((gnu system) (gnu system mapped-devices) (gnu system file-systems) (gnu bootloader) (gnu bootloader grub) (gnu system #) ?))
In ice-9/eval.scm:
    159:9  2 (_ #(#(#<directory (gnu) 85c780> #<interface (gnu) 553e320>) (gnu system)))
In ice-9/boot-9.scm:
   2803:6  1 (resolve-interface _ #:select _ #:hide _ #:prefix _ #:renamer _ #:version _)
In unknown file:
           0 (scm-error misc-error #f "~A ~S" ("no code for module" (gnu system)) #f)

ERROR: In procedure scm-error:
no code for module (gnu system)