all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Alain Schneble <a.s@realize.ch>
To: Eli Zaretskii <eliz@gnu.org>
Cc: larsi@gnus.org, j_l_domenech@yahoo.com, 22789@debbugs.gnu.org
Subject: bug#22789: 25.1.50; In last master build https connections stop working
Date: Sat, 5 Mar 2016 19:27:09 +0100	[thread overview]
Message-ID: <86egbo232a.fsf@realize.ch> (raw)
In-Reply-To: <83k2lhxria.fsf@gnu.org> (Eli Zaretskii's message of "Sat, 05 Mar 2016 10:23:25 +0200")

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Alain Schneble <a.s@realize.ch>
>> CC: <larsi@gnus.org>, <j_l_domenech@yahoo.com>, <22789@debbugs.gnu.org>
>> Date: Fri, 4 Mar 2016 22:36:56 +0100
>> 
>> I have the impression that GnuTLS doesn't like it too much if we start
>> retrying the handshake many times before the socket is connected.  At
>> least on MS-Windows.  In nearly all of the cases of loading websites
>> with around 20 images, I observe arbitrary failures of
>> gnutls_try_handshake which usually end up with -10
>> GNUTLS_E_INVALID_SESSION.
>
> I think this warrants a question to GnuTLS developers.  We need to
> understand this before we devise a solution.  What bothers me is the
> "many times" part -- how many is "too much", and why?

Yes, of course, I agree we have to understand it.  I just thought that
maybe the patch would help us in narrowing down the issue further...
And maybe we should wait until somebody else sees the same effects I
described on MS-Windows before asking GnuTLS developers?  Did you see
these problems as well?

I should have written "multiple times" not "many times".  I just had a
case where for four network processes (get image requests)
gnutls_try_handshake returned for each of these processes -28
GNUTLS_E_AGAIN three times in a row, followed by a single -110
GNUTLS_E_PREMATURE_TERMINATION and then repeatedly by -10
GNUTLS_E_INVALID_SESSION.

>                                                        Do you see any
> difference in behavior of sys_write during those many attempts as
> opposed to the first few?

Good point.  I'll have to analyze this.

> Also, what URL do you use for testing this?

Because I'm on MS-Windows, I used https://www.microsoft.com :)  (it gets
redirected to https://www.microsoft.com/de-ch for me).  I currently only
have access to a WLAN not under my control.  But the same Website loads
reliably and pretty fast in other web browsers with the same connection.

>> I believe this because the following patch solves the issue on my
>> MS-Windows system: Postponing the handshake until after the socket is
>> connected.  Still, I must be honest: I'm in a kind of a trial-and-error
>> mode.  I do not really understand all the aspects of the current
>> implementation.
>
> Feel free to ask, I think I can answer any question about the Emacs
> part of this, but probably not about the GnuTLS part -- those we
> should ask on the GnuTLS mailing list.

Ok, thank you!  I'll be happy to ask, but I would like to spend some
more time to re-read the code once again and clean up my mind first.

>> Anyway, I think a change in that direction would
>> probably be a good thing.  Do you agree?  It eliminates all the
>> handshake-retries that would otherwise happen before the socket is
>> connected.
>
> Why is it needed only on Windows?  Why does it matter what reason
> causes the failure of a handshake?  We need to understand these
> aspects before we consider the solutions.

I'm currently unable to answer these questions.  I see that there are
many differencies in Emacs' "platform adaption layer" for w32 vs the
paths for GNU/Linux.  And I cannot see if and how the patch I sent could
be related to those differencies.  So I follow your advice and will try
to understand the /issue/ first.

>> BTW, `libgnutls-version' evaluates to 30408 on my MS-Windows.
>
> It's 30311 here, but I'm not sure this is a factor.  We are talking
> about basic functionality here.

Thanks.






  reply	other threads:[~2016-03-05 18:27 UTC|newest]

Thread overview: 124+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-24 10:26 bug#22789: 25.1.50; In last master build https connections stop working José L. Doménech
2016-02-24 14:00 ` Lars Ingebrigtsen
2016-02-24 16:09   ` José L. Doménech
2016-02-24 18:06     ` Eli Zaretskii
2016-02-24 23:48       ` Lars Ingebrigtsen
2016-02-25  0:02         ` Lars Ingebrigtsen
2016-02-25  1:09           ` Lars Ingebrigtsen
2016-02-25 16:41           ` Eli Zaretskii
2016-02-26  2:29             ` Lars Ingebrigtsen
2016-02-26  9:36               ` Eli Zaretskii
2016-02-27  2:30                 ` Lars Ingebrigtsen
2016-02-27  2:43                   ` John Wiegley
2016-02-27  3:50                     ` Lars Ingebrigtsen
2016-02-27  8:14                       ` Eli Zaretskii
2016-02-27  3:49                   ` Lars Ingebrigtsen
2016-02-27  8:10                     ` Eli Zaretskii
2016-02-27  8:13                   ` Eli Zaretskii
2016-02-27 18:05           ` Alain Schneble
2016-02-27 22:38             ` Lars Ingebrigtsen
2016-02-27 23:06               ` Alain Schneble
2016-02-27 23:49                 ` Alain Schneble
2016-02-28  3:31                   ` Lars Ingebrigtsen
2016-02-28  9:58                     ` Alain Schneble
2016-02-28 16:53                     ` Eli Zaretskii
2016-02-29  2:37                       ` Lars Ingebrigtsen
2016-02-28  3:43                   ` Eli Zaretskii
2016-02-28  9:48                     ` Alain Schneble
2016-02-28 17:00                       ` Eli Zaretskii
2016-02-29  2:49                         ` Lars Ingebrigtsen
2016-02-29  3:43                           ` Eli Zaretskii
2016-02-29  4:38                             ` Lars Ingebrigtsen
2016-02-29  9:55                         ` Alain Schneble
2016-02-29 10:03                           ` Lars Ingebrigtsen
2016-02-29 17:57                             ` Alain Schneble
2016-02-29 18:45                               ` Eli Zaretskii
2016-02-29 21:22                                 ` Lars Ingebrigtsen
2016-03-01  3:35                                   ` Eli Zaretskii
2016-02-29 23:13                                 ` Alain Schneble
2016-03-01  0:41                                   ` Lars Ingebrigtsen
2016-03-01  3:41                                   ` Eli Zaretskii
2016-03-01  4:29                                     ` Lars Ingebrigtsen
2016-03-01  4:30                                     ` Lars Ingebrigtsen
2016-03-01  9:00                                       ` Andreas Schwab
2016-03-01 14:12                                         ` Lars Ingebrigtsen
2016-03-01 14:25                                           ` Alain Schneble
2016-03-01 14:43                                             ` Lars Ingebrigtsen
2016-03-01 15:59                                             ` Eli Zaretskii
2016-03-01 16:19                                               ` Alain Schneble
2016-03-01 17:00                                                 ` Eli Zaretskii
2016-03-01 17:09                                                   ` Alain Schneble
2016-03-01 17:22                                                     ` Eli Zaretskii
2016-03-01 17:55                                                       ` Alain Schneble
2016-03-01 18:13                                                         ` Eli Zaretskii
2016-03-01 16:33                                               ` Andreas Schwab
2016-03-01 15:53                                           ` Eli Zaretskii
2016-03-01 15:36                                     ` Alain Schneble
2016-03-01 16:05                                       ` Eli Zaretskii
2016-03-01 16:25                                         ` Alain Schneble
2016-03-04  8:56                                         ` Eli Zaretskii
2016-03-04 16:55                                           ` Alain Schneble
2016-03-04 21:36                                             ` Alain Schneble
2016-03-04 22:33                                               ` Alain Schneble
2016-03-05  8:23                                               ` Eli Zaretskii
2016-03-05 18:27                                                 ` Alain Schneble [this message]
2016-03-05 19:21                                                   ` Eli Zaretskii
2016-03-06 22:45                                                     ` Alain Schneble
2016-03-06 23:24                                                       ` Alain Schneble
2016-03-07  8:49                                                         ` Alain Schneble
2016-03-07 16:08                                                           ` Eli Zaretskii
2016-03-07 17:20                                                             ` Alain Schneble
2016-03-07 17:33                                                               ` Eli Zaretskii
2016-03-07 18:03                                                                 ` Alain Schneble
2016-03-07 18:10                                                                   ` Eli Zaretskii
2016-03-07 18:26                                                                     ` Alain Schneble
2016-03-07 16:07                                                         ` Eli Zaretskii
2016-03-07 16:47                                                           ` Alain Schneble
2016-03-07 22:21                                                           ` Alain Schneble
2016-03-08 16:40                                                             ` Eli Zaretskii
2016-03-08 16:43                                                               ` Alain Schneble
2016-03-10 14:45                                                             ` Eli Zaretskii
2016-03-10 14:59                                                               ` Alain Schneble
2016-03-06  9:31                                                   ` Lars Magne Ingebrigtsen
2016-03-06 15:24                                                     ` Eli Zaretskii
2016-03-05  8:46                                               ` Lars Magne Ingebrigtsen
2016-03-05 18:32                                                 ` Alain Schneble
2016-02-29 21:18                               ` Lars Ingebrigtsen
2016-02-29 23:20                                 ` Alain Schneble
2016-03-01  3:43                                   ` Eli Zaretskii
2016-03-01  5:17                                     ` Lars Ingebrigtsen
2016-03-01 15:46                                       ` Eli Zaretskii
2016-03-02 18:03                                         ` Lars Ingebrigtsen
2016-03-02 19:07                                           ` Alain Schneble
2016-03-02 19:15                                             ` Lars Ingebrigtsen
2016-03-02 19:38                                               ` Alain Schneble
2016-03-02 20:46                                                 ` Alain Schneble
2016-03-02 22:02                                                   ` Alain Schneble
2016-03-02 22:22                                                     ` Lars Ingebrigtsen
2016-03-02 22:38                                                       ` Alain Schneble
2016-03-03  0:07                                                         ` Alain Schneble
2016-03-03  5:32                                                           ` Lars Ingebrigtsen
2016-03-03  9:03                                                             ` Alain Schneble
2016-03-02 19:43                                           ` Eli Zaretskii
2016-03-03  5:23                                             ` Lars Ingebrigtsen
2016-03-04  8:51                                               ` Eli Zaretskii
2016-03-04 11:33                                                 ` Lars Ingebrigtsen
2016-03-04 14:48                                                   ` Eli Zaretskii
2016-03-05 12:26                                                     ` Lars Magne Ingebrigtsen
2016-03-05 13:24                                                       ` Eli Zaretskii
2016-03-06  9:33                                                         ` Lars Magne Ingebrigtsen
2016-03-06 15:26                                                           ` Eli Zaretskii
2016-03-06 18:33                                                             ` Lars Magne Ingebrigtsen
2016-03-06 18:41                                                               ` Eli Zaretskii
2016-03-04 11:37                                                 ` Lars Ingebrigtsen
2016-03-04 11:40                                                   ` Lars Ingebrigtsen
2016-03-04 15:41                                                     ` Eli Zaretskii
2016-03-04 15:43                                                       ` Lars Ingebrigtsen
2016-03-04 16:12                                                         ` Eli Zaretskii
2016-03-04 15:40                                                   ` Eli Zaretskii
2016-03-01 15:43                                     ` Alain Schneble
2016-03-01 16:07                                       ` Eli Zaretskii
2016-03-01 16:26                                         ` Alain Schneble
2016-02-28 16:47             ` Eli Zaretskii
2016-02-25  3:46         ` Eli Zaretskii
2016-02-25  5:00           ` Lars Ingebrigtsen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=86egbo232a.fsf@realize.ch \
    --to=a.s@realize.ch \
    --cc=22789@debbugs.gnu.org \
    --cc=eliz@gnu.org \
    --cc=j_l_domenech@yahoo.com \
    --cc=larsi@gnus.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.