GNU bug report logs - #32050
invoke (guix build utils) error reporting lacking

Previous Next

Package: guix;

Reported by: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>

Date: Wed, 4 Jul 2018 12:52:02 UTC

Severity: normal

Done: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Mark H Weaver <mhw <at> netris.org>
Cc: 32050 <at> debbugs.gnu.org
Subject: bug#32050: invoke (guix build utils) error reporting lacking
Date: Mon, 09 Jul 2018 22:42:08 -0400
Maxim Cournoyer <maxim.cournoyer <at> gmail.com> writes:

[...]

> It seems that the "system" and "system*" commands of Guile as well as
> our "invoke" do preserve the stdout/stderr, as when testing it manually
> I can see the useful "sh: tar: command not found" message:
>
> scheme@(guile-user)> ,use (guix build utils)
> scheme@(guile-user)> (system "tar xf yanfzfi7rdyf5scf5h65xbkn7xg0nnbn-docbook-dsssl-doc-1.79.tar.bz2")
> sh: tar: command not found
> $1 = 32512
> scheme@(guile-user)> (invoke "tar" "xf" "yanfzfi7rdyf5scf5h65xbkn7xg0nnbn-docbook-dsssl-doc-1.79.tar.bz2")
> In execvp of tar: No such file or directory
> guix/build/utils.scm:616:6: In procedure invoke:
> Throw to key `srfi-34' with args `(#<condition &invoke-error [program: "tar" arguments: ("xf" "yanfzfi7rdyf5scf5h65xbkn7xg0nnbn-docbook-dsssl-doc-1.79.tar.bz2") exit-status: 127 term-signal: #f stop-signal: #f] 1e3dc40>)'.
>
> Entering a new prompt.  Type `,bt' for a backtrace or `,q' to continue.
>
>
> Unfortunately, when called from the builder side of Guix, this
> information seems to be lost:
>
> ./pre-inst-env guix build --no-build-hook --check docbook-dsssl-doc
> @ build-started /gnu/store/4ra70nwni8mcjyd2wfx7fqvsl4fpfs5m-docbook-dsssl-doc-1.79.drv - x86_64-linux /var/log/guix/drvs/4r//a70nwni8mcjyd2wfx7fqvsl4fpfs5m-docbook-dsssl-doc-1.79.drv.bz2
> Backtrace:
>            2 (primitive-load "/gnu/store/kj0nr8i617gjwypalfs065jllhm?")
> In ice-9/eval.scm:
>    191:35  1 (_ #f)
> In /gnu/store/xlj36j9dw581iah51iyjgi75iikrj55h-module-import/guix/build/utils.scm:
>     616:6  0 (invoke _ . _)
>
> /gnu/store/xlj36j9dw581iah51iyjgi75iikrj55h-module-import/guix/build/utils.scm:616:6: In procedure invoke:
> Throw to key `srfi-34' with args `(#<condition &invoke-error [program: "tar" arguments: ("-xf" "/gnu/store/yanfzfi7rdyf5scf5h65xbkn7xg0nnbn-docbook-dsssl-doc-1.79.tar.bz2" "--strip-components=1" "--no-same-owner" "-C" "/gnu/store/ppf9bhzyqphmc9cvwhq8pc3yfir2qd3m-docbook-dsssl-doc-1.79" "docbook-dsssl-1.79/doc") exit-status: 127 term-signal: #f stop-signal: #f] 68fcc0>)'.
> builder for `/gnu/store/4ra70nwni8mcjyd2wfx7fqvsl4fpfs5m-docbook-dsssl-doc-1.79.drv' failed with exit code 1
> @ build-failed /gnu/store/4ra70nwni8mcjyd2wfx7fqvsl4fpfs5m-docbook-dsssl-doc-1.79.drv - 1 builder for `/gnu/store/4ra70nwni8mcjyd2wfx7fqvsl4fpfs5m-docbook-dsssl-doc-1.79.drv' failed with exit code 1
> guix build: error: build failed: build of
> `/gnu/store/4ra70nwni8mcjyd2wfx7fqvsl4fpfs5m-docbook-dsssl-doc-1.79.drv'
> failed
>
> Could it be preserved? It'd be very useful when debugging :)

I've investigated a bit, and as far as I can see by reading guix
sources, the build log output would be displayed and any error reported
by the `process-stderr' procedure in (guix store). This procedure
behavior seems to depend closely on that of the guix daemon (server), so
the problem could lie on the daemon side as well, so that's where I'll
try digging next.

Maxim




This bug report was last modified 5 years and 21 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.