develooper Front page | perl.perl5.porters | Postings from May 2018

Re: [perl #132863] Bleadperl breaksOALDERS/LWP-Protocol-https-6.07.tar.gz on Windows

Thread Previous | Thread Next
From:
Steve Hay via perl5-porters
Date:
May 4, 2018 16:59
Subject:
Re: [perl #132863] Bleadperl breaksOALDERS/LWP-Protocol-https-6.07.tar.gz on Windows
Message ID:
CADED=K5pKXEqUdwggrGT7dpO_3B3ZdD1J6hdW2GCE+X53jyuVw@mail.gmail.com
On 3 May 2018 at 18:20, Steve Hay <steve.m.hay@googlemail.com> wrote:
> On 30 April 2018 at 22:15, Dave Mitchell <davem@iabyn.com> wrote:
>> On Mon, Apr 23, 2018 at 01:39:27PM +0100, Dave Mitchell wrote:
>>> On Thu, Mar 08, 2018 at 01:06:24AM +0200, Alexandr Ciornii wrote:
>>> > I've done manual bisect. I've used another module that hangs -
>>> > IO::Socket::SSL. t/mitm.t hangs and t/session_ticket.t fails.
>>> > Problem appear starting with commit
>>> > 8e920bd341e241f50a74dbf8aa343319f204e200 - "set PERL_EXIT_DESTRUCT_END
>>> > in all embeddings".
>>>
>>> Zefram, that commit was one of yours. I don't quite understand the
>>> implications of it, but note that the test file which newly hangs on
>>> Windows contains both a fork() and
>>>
>>>     END { kill 9,@childs if @childs };
>>>
>>> so perhaps an END block wasn't being called before, or used to be called
>>> only once, and is now being called multiple times or something?
>>
>> I've now pushed the branch smoke-me/davem/win32_exit, which may fix this.
>> Note that I've made the change in win32/perlhost.h blind, as I haven't
>> tried compiling or testing it on win32.
>>
>> Could someone try it on win32 and see that (a) it doesn't break win32;
>> (b) it fixes the distributions mentioned in this ticket:
>>
>>         LWP-Protocol-https-6.0
>>         KAORU/HTTP-Async-0.33
>>         IO::Socket::SSL
>>
>
> Your branch builds and passes all tests for me on Windows 7 with 32-bit VS2015.
>
> I've tried out IO::Socket::SSL and find that in blead t/mitm.t hangs
> before doing anything. With your branch it now passes all 8 tests but
> then hangs instead of exiting. So it's an improvement of sorts, but
> something is still amiss somewhere. However, there's no improvement
> with t/session_ticket.t. With either build I get the following
> failure:
>
> D:\Temp\IO-Socket-SSL-2.056-0>perl -Mblib t\session_ticket.t
> 1..6
> # listen at 127.0.0.1:51973
> # listen at 127.0.0.1:51974
> access to server[0]
> creating new ticket key1
> server[0] reused=0
> # connect to 0: success reuse=0
> ok 1 - no initial session -> no reuse
> access to server[0]
> using current ticket secret
> server[0] reused=1
> # connect to 0: success reuse=1
> ok 2 - reuse with the next session and secret[0]
> access to server[1]
> using current ticket secret
> server[1] reused=1
> rotate secrets
> # connect to 1: success reuse=1
> ok 3 - reuse even though server changed, since they share ticket secret
> access to server[1]
> using non-current ticket secret
> creating new ticket key2
> server[1] reused=0
> rotate secrets
> # connect to 1: success reuse=0
> ok 4 - reports non-reuse since server1 changed secret to secret[1]
> access to server[0]
> using non-current ticket secret
> creating new ticket key1
> server[0] reused=0
> # connect to 0: success reuse=0
> ok 5 - reports non-reuse on server0 since got ticket with secret[1] in last step
> access to server[0]
> using current ticket secret
> server[0] reused=1
> # connect to 0: success reuse=1
> ok 6 - reuse again since got ticket with secret[0] in last step
> not ok 1 - select failed or timed out: Bad file descriptor at
> t\session_ticket.t line 113.
> #
> #   Failed test 'select failed or timed out: Bad file descriptor at
> t\session_ticket.t line 113.
> # '
> #   at ./t/testlib.pl line 39.
>
> I haven't tried an earlier
> (pre-8e920bd341e241f50a74dbf8aa343319f204e200) perl to confirm that
> this used to work. I will try to do that in the next day or two.

I've now tried a build of the change prior to
8e920bd341e241f50a74dbf8aa343319f204e200 (namely,
503bc07b4b9e34ed04a725b2bc8faec1ae0f3be2) and unfortunately both
t/mitm.t and t/session_ticket.t pass all tests (and don't hang).
That's on the same machine with the same compiler and build
configuration.

So the problem here isn't yet fixed.

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About