GNU bug report logs - #76558
[PATCH] substitutes: Tolerate GnuTLS push/pull errors when fetching narinfos.

Previous Next

Package: guix-patches;

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

Date: Tue, 25 Feb 2025 16:00:02 UTC

Severity: normal

Tags: patch

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>
Subject: bug#76558: closed (Re: [bug#76558] [PATCH] substitutes: Tolerate
 GnuTLS push/pull errors when fetching narinfos.)
Date: Tue, 04 Mar 2025 23:34:02 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#76558: [PATCH] substitutes: Tolerate GnuTLS push/pull errors when fetching narinfos.

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

The explanation is attached below, along with your original report.
If you require more details, please reply to 76558 <at> debbugs.gnu.org.

-- 
76558: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=76558
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Ludovic Courtès <ludo <at> gnu.org>
To: 76558-done <at> debbugs.gnu.org
Cc: Josselin Poiret <dev <at> jpoiret.xyz>,
 Simon Tournier <zimon.toutoune <at> gmail.com>, Mathieu Othacehe <othacehe <at> gnu.org>,
 Tobias Geerinckx-Rice <me <at> tobias.gr>, Timo Wilken <git <at> twilken.net>,
 Christopher Baines <guix <at> cbaines.net>
Subject: Re: [bug#76558] [PATCH] substitutes: Tolerate GnuTLS push/pull
 errors when fetching narinfos.
Date: Wed, 05 Mar 2025 00:33:02 +0100
Ludovic Courtès <ludo <at> gnu.org> skribis:

> Fixes <https://issues.guix.gnu.org/75679>.
>
> Fixes this infamous error:
>
>   substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'...   0.0%guix substitute: error: TLS error in procedure 'write_to_session_record_port': Error in the push function.
>   guix system: error: `/gnu/store/…-guix-1.4.0-32.5f6fdad/bin/guix substitute' died unexpectedly
>
> * guix/substitutes.scm (call-with-connection-error-handling): Report
> ‘error/push-error’ and ‘error/pull-error’ as mere warnings.
>
> Reported-by: Timo Wilken <git <at> twilken.net>
> Change-Id: Ibc507cb88b164cbb91dff95aa18d9974c573f7c9

Pushed as c92fbc83d4d2a98cc15e10d1fc4d5bcc13c9af5b.

> At long last.  Note that we'll need to update the ‘guix’ package
> to make this change effective.

Ludo'.

[Message part 3 (message/rfc822, inline)]
From: Ludovic Courtès <ludo <at> gnu.org>
To: guix-patches <at> gnu.org
Cc: Ludovic Courtès <ludo <at> gnu.org>,
 Timo Wilken <git <at> twilken.net>
Subject: [PATCH] substitutes: Tolerate GnuTLS push/pull errors when fetching
 narinfos.
Date: Tue, 25 Feb 2025 16:58:52 +0100
Fixes <https://issues.guix.gnu.org/75679>.

Fixes this infamous error:

  substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'...   0.0%guix substitute: error: TLS error in procedure 'write_to_session_record_port': Error in the push function.
  guix system: error: `/gnu/store/…-guix-1.4.0-32.5f6fdad/bin/guix substitute' died unexpectedly

* guix/substitutes.scm (call-with-connection-error-handling): Report
‘error/push-error’ and ‘error/pull-error’ as mere warnings.

Reported-by: Timo Wilken <git <at> twilken.net>
Change-Id: Ibc507cb88b164cbb91dff95aa18d9974c573f7c9
---
 guix/substitutes.scm | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

Hi!

At long last.  Note that we'll need to update the ‘guix’ package
to make this change effective.

Ludo’.

diff --git a/guix/substitutes.scm b/guix/substitutes.scm
index e31b3940203..7ca55788d5e 100644
--- a/guix/substitutes.scm
+++ b/guix/substitutes.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013-2021, 2023-2024 Ludovic Courtès <ludo <at> gnu.org>
+;;; Copyright © 2013-2021, 2023-2025 Ludovic Courtès <ludo <at> gnu.org>
 ;;; Copyright © 2014 Nikita Karetnikov <nikita <at> karetnikov.org>
 ;;; Copyright © 2018 Kyle Meyer <kyle <at> kyleam.com>
 ;;; Copyright © 2020 Christopher Baines <mail <at> cbaines.net>
@@ -35,7 +35,10 @@ (define-module (guix substitutes)
                 #:select ((open-connection-for-uri
                            . guix:open-connection-for-uri)
                           resolve-uri-reference))
-  #:autoload   (gnutls) (error->string error/premature-termination)
+  #:autoload   (gnutls) (error->string
+                         error/premature-termination
+                         error/pull-error
+                         error/push-error)
   #:use-module (guix progress)
   #:use-module (ice-9 match)
   #:use-module (ice-9 format)
@@ -154,7 +157,9 @@ (define* (call-with-connection-error-handling uri proc)
                    (system-error-errno `(system-error ,@args)))))
        #f)
       (('gnutls-error error proc . rest)
-       (if (eq? error error/premature-termination)
+       (if (memq error (list error/premature-termination
+                             error/pull-error
+                             error/push-error))
            (begin
              (warning (G_ "~a: TLS connection failed: in ~a: ~a~%") host
                       proc (error->string error))

base-commit: 8e5094497ccb187d712bb3dfcddb87c6be5698f7
-- 
2.48.1




This bug report was last modified 134 days ago.

Previous Next


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