Raw binary data in build log from substitute-binary

  • Done
  • quality assurance status badge
Details
2 participants
  • Ludovic Courtès
  • Mark H Weaver
Owner
unassigned
Submitted by
Mark H Weaver
Severity
normal
M
M
Mark H Weaver wrote on 24 Jan 2015 10:03
(address . bug-guix@gnu.org)
87iofwft4n.fsf@netris.org
While trying to install 'racket' using substitutes, several lines of the
form "substitute-binary: <binary garbage>" were output. See the
attachment for the precise output, captured via Emacs' shell mode.

This was when running guix from git commit 2dfed64 on an i686 GSD
system.

Any ideas what would cause this?

Mark
M
M
Mark H Weaver wrote on 7 Feb 2015 16:14
(address . 19671@debbugs.gnu.org)
87lhk93g9b.fsf@netris.org
Mark H Weaver <mhw@netris.org> writes:

Toggle quote (7 lines)
> While trying to install 'racket' using substitutes, several lines of the
> form "substitute-binary: <binary garbage>" were output. See the
> attachment for the precise output, captured via Emacs' shell mode.
>
> This was when running guix from git commit 2dfed64 on an i686 GSD
> system.

The same problem happened to me again, this time on git commit 710f3ce,
while running 'guix system build'. I've attached another transcript.

The binary junk is immediately followed (with no intervening newline) by
the message:


This suggests that nginx had a problem fetching it from hydra-server on
port 3000. Repeating the same command worked properly.

Mark
L
L
Ludovic Courtès wrote on 11 Feb 2015 10:41
(name . Mark H Weaver)(address . mhw@netris.org)(address . 19671@debbugs.gnu.org)
87y4o4wzrw.fsf@gnu.org
Mark H Weaver <mhw@netris.org> skribis:

Toggle quote (20 lines)
> Mark H Weaver <mhw@netris.org> writes:
>
>> While trying to install 'racket' using substitutes, several lines of the
>> form "substitute-binary: <binary garbage>" were output. See the
>> attachment for the precise output, captured via Emacs' shell mode.
>>
>> This was when running guix from git commit 2dfed64 on an i686 GSD
>> system.
>
> The same problem happened to me again, this time on git commit 710f3ce,
> while running 'guix system build'. I've attached another transcript.
>
> The binary junk is immediately followed (with no intervening newline) by
> the message:
>
> http://hydra.gnu.org/2zadn0b2kljwlsyarr3j5rz44yi2pvs3.narinfo' failed: 502, "Bad Gateway"
>
> This suggests that nginx had a problem fetching it from hydra-server on
> port 3000. Repeating the same command worked properly.

I don’t see how the binary garbage could reach the stdout of ‘guix
substitute-binary’. This happens when hydra.gnu.org is overloaded as
you suggest, so perhaps we have a connection closed unexpected or
something like that, but still.

Since this is the multithreaded ‘substitute-binary’, could there be
something fishy going on in wrt. threads?

Ludo’.
L
L
Ludovic Courtès wrote on 23 Mar 2015 10:49
(name . Mark H Weaver)(address . mhw@netris.org)(address . 19671@debbugs.gnu.org)
878ueokpqh.fsf@gnu.org
This has just happened to me as well, and I think the reason is that,
when a download failure happens (500, 502, 504, etc.), the thread doing
the download directly writes to the current error port.

And as we know, ports are not thread-safe in Guile 2.0 and we’re not
doing additional synchronization here, so everything wrecks havoc.

This is another incentive to merge wip-http-pipelining. I’ll give it
another try.

Thanks,
Ludo’.
L
L
Ludovic Courtès wrote on 5 Apr 2015 00:01
(name . Mark H Weaver)(address . mhw@netris.org)(address . 19671-done@debbugs.gnu.org)
87d23jh7sb.fsf@gnu.org
ludo@gnu.org (Ludovic Courtès) skribis:

Toggle quote (10 lines)
> This has just happened to me as well, and I think the reason is that,
> when a download failure happens (500, 502, 504, etc.), the thread doing
> the download directly writes to the current error port.
>
> And as we know, ports are not thread-safe in Guile 2.0 and we’re not
> doing additional synchronization here, so everything wrecks havoc.
>
> This is another incentive to merge wip-http-pipelining. I’ll give it
> another try.

This was done in d3a6520, so closing this bug.

Ludo’.
Closed
?