Subject: Re: bug#47867: [1.2.1 pre-release testing] substitute downloading and TLS errors

From: Ludovic Courtès <[email-masked]>
Date: Sat, 24 Apr 2021 19:13:01 +0200

Hi Florian,

"pelzflorian (Florian Pelz)" <[email-masked]> skribis:

> Success!  Thank you.

\o/

> On Fri, Apr 23, 2021 at 11:19:28AM +0200, Ludovic Courtès wrote:
>> Florian, could you try again with the attached patch?
>
> It succeeds on two full installs of Enlightenment, no errors, no
> prolonged getting stuck.

Yay.

>> I double-checked and the GnuTLS Guile bindings already
>> handle GNUTLS_E_AGAIN and GNUTLS_E_INTERRUPTED, so my guess is that this
>> was just a side effect of dealing with stale TLS sessions:
>>   https://gitlab.com/gnutls/gnutls/-/blob/master/guile/src/core.c#L1042
>
> Strange,.

My bad: I was looking at ‘read_from_session_record_port’, but the
problem is in ‘write_to_session_record_port’.  All is clear now.

I’ve pushed these as two separate patches:

  c50db7156d http-client: Remove exception mishandling in 'http-multiple-get'.
  02d62978f4 http-client, substitute: Gracefully handle GnuTLS EAGAIN/EINTR.

This bug should be gone now.

I’ll go ahead and fix ‘write_to_session_record_port’ in GnuTLS.

Thanks a lot for the quick and thorough testing!

Ludo’.