From debbugs-submit-bounces@debbugs.gnu.org Wed Jan 13 08:52:03 2021 Received: (at 45828) by debbugs.gnu.org; 13 Jan 2021 13:52:03 +0000 Received: from localhost ([127.0.0.1]:34701 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kzgZ9-0001Xu-1k for submit@debbugs.gnu.org; Wed, 13 Jan 2021 08:52:03 -0500 Received: from eggs.gnu.org ([209.51.188.92]:51894) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kzgZ7-0001XR-BV for 45828@debbugs.gnu.org; Wed, 13 Jan 2021 08:52:01 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:56348) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kzgZ1-0005eV-Tt; Wed, 13 Jan 2021 08:51:55 -0500 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=38478 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1kzgZ0-0002g1-Ih; Wed, 13 Jan 2021 08:51:54 -0500 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Mathieu Othacehe Subject: Re: bug#45828: guix build: error: got unexpected path `Backtrace:' from substituter References: <87turlai45.fsf@cbaines.net> <20210113011135.760c4faa@tachikoma.lepiller.eu> <87o8htum2e.fsf@gnu.org> Date: Wed, 13 Jan 2021 14:51:52 +0100 In-Reply-To: <87o8htum2e.fsf@gnu.org> (Mathieu Othacehe's message of "Wed, 13 Jan 2021 12:13:13 +0100") Message-ID: <87pn29aqrr.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 45828 Cc: Julien Lepiller , Christopher Baines , 45828@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hi, Mathieu Othacehe skribis: > There are errors in "/var/log/guix-publish.log" that could be the cause > of this problem I think. > > GET /7m6mlzh0d6nifdxhaij7varg4q7lqdj4.narinfo > In guix/scripts/publish.scm: > 482:4 7 (render-narinfo/cached # =E2=80=A6) > 487:12 6 (_ . _) > In guix/store.scm: > 1021:9 5 (_ # "7m6mlzh0d6n=E2= =80=A6") > 619:2 4 (write-buffered-output #) > In unknown file: > 3 (force-output #) > In guix/store.scm: > 917:4 2 (write #vu8(29 0 0 0 0 0 0 0 32 0 0 0 0 0 0 0 55 109 =E2=80= =A6) =E2=80=A6) > In unknown file: > 1 (put-bytevector # #vu8(29 0 =E2=80= =A6) =E2=80=A6) > In ice-9/boot-9.scm: > 1669:16 0 (raise-exception _ #:continuable? _) > In procedure fport_write: Broken pipe As discussed on IRC today, the EPIPE above comes from talking to guix-daemon, meaning that the store connection shown in the backtrace has been closed by guix-daemon. This can happen if guix-daemon was restarted but =E2=80=98guix publish=E2= =80=99 wasn=E2=80=99t: =E2=80=98guix publish=E2=80=99 opens only one connection to the store at st= artup time, and then never tries to re-open it. There was an old bug on this topic: https://issues.guix.gnu.org/26705 Back then I marked it as =E2=80=98wontfix=E2=80=99 because: 1. Losing a connection to the daemon Does Not Happen=E2=84=A2 in normal conditions. Namely, upon =E2=80=98herd restart guix-daemon=E2=80=99, = =E2=80=98guix publish=E2=80=99 is automatically restarted. One situation where =E2= =80=98guix publish=E2=80=99 is not restarted is if one does =E2=80=9Ckillall guix= -daemon=E2=80=9D or similar. (Perhaps that=E2=80=99s something to fix in the Shepherd?) 2. Catching EPIPE in the right place is tricky. Basically we=E2=80=99d probably need to install a 'system-error handler around each RPC (and offer callers a way to choose the EPIPE handling strategy), which would incur additional overhead. Ludo=E2=80=99.