GNU bug report logs - #25059
gnutls: asynchronous spurious "fatal error"

Previous Next

Package: emacs;

Reported by: Andy Wingo <wingo <at> igalia.com>

Date: Tue, 29 Nov 2016 10:07:02 UTC

Severity: normal

Tags: fixed

Merged with 25060

Found in version 24.5

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

Full log


Message #14 received at 25059 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Andy Wingo <wingo <at> igalia.com>
Cc: 25060 <at> debbugs.gnu.org, 25059 <at> debbugs.gnu.org
Subject: Re: bug#25060: gnutls: asynchronous spurious "fatal error"
Date: Wed, 25 Jan 2017 00:17:58 +0100
Andy Wingo <wingo <at> igalia.com> writes:

>     (url-retrieve "https://www.gnu.org/"
>                   #'(lambda (status)
>                       (message "success")))

[...]

> And then, after a couple seconds:
>
>     gnutls.c: [0] (Emacs) fatal error: The TLS connection was non-properly terminated.

Yes, it just means that the peer ended the connection.  I think gnutls.c
shouldn't say anything in that case -- any sentinels get the proper
callback and stuff, and as information it's pretty worthless for the
user.

I'm installing the following patch, but if there's any disagreement
here, we can discuss further...

diff --git a/src/gnutls.c b/src/gnutls.c
index 735d2e3..6fa0e10 100644
--- a/src/gnutls.c
+++ b/src/gnutls.c
@@ -582,8 +582,15 @@ emacs_gnutls_handle_error (gnutls_session_t session, int err)
 
   if (gnutls_error_is_fatal (err))
     {
+      int level = 1;
+      /* Mostly ignore "The TLS connection was non-properly
+	 terminated" message which just means that the peer closed the
+	 connection.  */
+      if (err == GNUTLS_E_PREMATURE_TERMINATION)
+	level = 3;
+
+      GNUTLS_LOG2 (level, max_log_level, "fatal error:", str);
       ret = 0;
-      GNUTLS_LOG2 (1, max_log_level, "fatal error:", str);
     }
   else
     {


-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




This bug report was last modified 8 years and 170 days ago.

Previous Next


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