Subject: bug#32050: closed (Re: bug#32050: invoke (guix build utils) error reporting lacking)

From: [email-masked] (GNU bug Tracking System)
Date: Thu, 28 May 2020 04:43:02 +0000

Your bug report

#32050: invoke (guix build utils) error reporting lacking

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
32050: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=32050
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#32050: invoke (guix build utils) error reporting lacking
From: Maxim Cournoyer <[email-masked]>
To: Mark H Weaver <[email-masked]>
Cc: [email-masked]
Date: Thu, 28 May 2020 00:42:28 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello,

I think my original observations must have occured in Emacs while using
Geiser.  It has to do with what (current-output-port) is bound to in the
REPL (see: https://github.com/jaor/geiser/issues/83).

I'm closing, as I haven't seen this issue in almost 2 years when using
Guix from the command line.

Maxim

Subject: invoke (guix build utils) error reporting lacking
From: Maxim Cournoyer <[email-masked]>
To: bug-guix <[email-masked]>
Date: Wed, 04 Jul 2018 08:50:50 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

The error reported by `invoke' isn't accurate, and mutes important
output from the program invoked.

Example of a failed tar extraction:
--8<---------------cut here---------------start------------->8---
/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" "-C" "/gnu/store/rw7yzjk1wffza65z6l6rnn25qg97jvh1-docbook-dsssl-doc-1.79" "docbook-dssl-1.79/doc") exit-status: 127 term-signal: #f stop-signal: #f] 68fc80>)'.
--8<---------------cut here---------------end--------------->8---

While reproducing the same error in an containerized environment,
calling the command directly yields:

--8<---------------cut here---------------start------------->8---
tar xf yanfzfi7rdyf5scf5h65xbkn7xg0nnbn-docbook-dsssl-doc-1.79.tar.bz2 --strip-components=1 -C $PWD docbook-dssl-1.79/doc
tar: docbook-dssl-1.79/doc: Not found in archive
tar: Exiting with failure status due to previous errors
maxim@apteryx /tmp/docbook-dsssl-doc [env]# echo $?
2
--8<---------------cut here---------------end--------------->8---

Two observations:

1. invoke's reported exit status was wrong (127 rather than 2)
2. The useful error message "docbook-dssl-1.79/doc: Not found in
archive" was masked.