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>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#76558: closed ([PATCH] substitutes: Tolerate GnuTLS push/pull
 errors when fetching narinfos.)
Date: Tue, 04 Mar 2025 23:34:01 +0000
[Message part 1 (text/plain, inline)]
Your message dated Wed, 05 Mar 2025 00:33:02 +0100
with message-id <87o6yg74nl.fsf <at> gnu.org>
and subject line Re: [bug#76558] [PATCH] substitutes: Tolerate GnuTLS push/pull errors when fetching narinfos.
has caused the debbugs.gnu.org bug report #76558,
regarding [PATCH] substitutes: Tolerate GnuTLS push/pull errors when fetching narinfos.
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> 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: 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



[Message part 3 (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'.


This bug report was last modified 79 days ago.

Previous Next


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