GNU bug report logs - #72722
[cuirass] Failure to write build log leads to build failure

Previous Next

Package: guix;

Reported by: Ludovic Courtès <ludovic.courtes <at> inria.fr>

Date: Mon, 19 Aug 2024 22:43:02 UTC

Severity: normal

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#72722: closed ([cuirass] Failure to write build log leads to
 build failure)
Date: Fri, 23 Aug 2024 18:49:01 +0000
[Message part 1 (text/plain, inline)]
Your message dated Fri, 23 Aug 2024 20:46:55 +0200
with message-id <87ikvrkrfk.fsf <at> gnu.org>
and subject line Re: bug#72722: [cuirass] Failure to write build log leads to build failure
has caused the debbugs.gnu.org bug report #72722,
regarding [cuirass] Failure to write build log leads to build failure
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
72722: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=72722
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Ludovic Courtès <ludovic.courtes <at> inria.fr>
To: bug-guix <at> gnu.org
Subject: [cuirass] Failure to write build log leads to build failure
Date: Tue, 20 Aug 2024 00:41:14 +0200
We occasionally see failed builds with truncated logs on ci.guix.  These
happens in situations where ‘cuirass remote-worker’ gets EPIPE as it
sends the build log to ‘remote-server’:

--8<---------------cut here---------------start------------->8---
2024-08-19 19:54:52 @ substituter-started /gnu/store/sv3z77cgg2788hrl87w35bfmyhkmkv54-libomp-16.0.6.drv substitute
2024-08-19 19:54:52 Downloading http://141.80.167.131/nar/lzip/sv3z77cgg2788hrl87w35bfmyhkmkv54-libomp-16.0.6.drv...
2024-08-19 19:54:52 
2024-08-19 19:54:52 ESC[K libomp-16.0.6.drv                            1.8MiB/s 00:00 | 1KiB transferred
2024-08-19 19:54:52 ESC[K libomp-16.0.6.drv                            942KiB/s 00:00 | 1KiB transferred
2024-08-19 19:54:52 
2024-08-19 19:54:52 @ substituter-succeeded /gnu/store/sv3z77cgg2788hrl87w35bfmyhkmkv54-libomp-16.0.6.drv
2024-08-19 19:55:04 warning: zlib error in 'gzwrite' while sending log to 141.80.167.131: 0
2024-08-19 19:55:04 error: gdPO1dI1: unexpected error while building '/gnu/store/sv3z77cgg2788hrl87w35bfmyhkmkv54-libomp-16.0.6.drv': #<&compound-exception components: (#<&external-error> #<&origin origin: "fport_write"> #<&message message: "~A"> #<&irritants irritants: ("Broken pipe")> #<&exception-with-kind-and-args kind: system-error args: ("fport_write" "~A" ("Broken pipe") (32))>)>
--8<---------------cut here---------------end--------------->8---

The “unexpected error while building” message was added in
ba3ea7947ec67e9d9585e40a30d67dbd8115e73c.

This suggests that the ‘catch #t’ around the ‘send-log’ call doesn’t
have the desired effect; instead, the ‘guard’ handler is invoked.

It looks like EPIPE comes from the pipe set up by ‘build-derivations&’
and that the underlying ‘build-derivations’ call keeps writing to even
after ‘send-log’ has closed it.

Ludo’.


[Message part 3 (message/rfc822, inline)]
From: Ludovic Courtès <ludo <at> gnu.org>
To: 72722-done <at> debbugs.gnu.org
Subject: Re: bug#72722: [cuirass] Failure to write build log leads to build
 failure
Date: Fri, 23 Aug 2024 20:46:55 +0200
Ludovic Courtès <ludo <at> gnu.org> skribis:

> As it turns out, ‘send-log’ opens its socket with SOCK_NONBLOCK, and
> then passes it to zlib, which writes to it in ‘gzwrite’.  But zlib is
> not equipped to deal with EAGAIN: it just errors out, with ‘gzwrite’
> returning Z_ERRNO, hence the bug above.

Fixed in 59010a5ba32a5f0802d28900908ee9c75f473a66.

Ludo’.


This bug report was last modified 267 days ago.

Previous Next


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