Hi,
On Tuesday, January 31, 2012 03:21:35 AM kmx via RT wrote:
Show quoted text> Queue: Net-SSLeay
> Ticket <URL:
https://rt.cpan.org/Ticket/Display.html?id=73532 >
>
> > Windows perl 5.12, openssl 0.9.8i, mostly OK, but occasional error ...
> > Windows perl 5.10, openssl 0.9.8i, mostly OK, but occasional error ...
> > Windows perl 5.8.8, openssl 0.9.8i, ran fine until thread 0602 ...
>
> Well, not good; however [irony]still better then unpatched v1.42[/irony]
>
> Could you please check whether it makes a difference to run crash-test
> 1/ with current trunk vs. 2/ trunk+fix-for-ctx_new-deadlock-v2_rev288.diff ?
------------------With current trunk 288 (btw, did you notice that, contrary
to my earlier statement, 288 has your earlier thread locking code)
Linux perl 5.14, openssl 1.0.0. gcc 4.6.2 on OpenSuSE 12.1 8 core
Perfect. Ran to completion.
Windows Server 2003 32 bit activeperl 5.12, openssl 0.9.8i, MS Visual C 6, MS
C compiler version 12
one error:
Thread 45 terminated abnormally: CTX_use_PrivateKey_file failed at
cb_crash.pl line 50
and then ran to completion.
Windows Server 2003 32 bit activeperl 5.10, openssl 0.9.8i, MS Visual C 6, MS
C compiler version 12
one error:
Unbalanced string table refcount: (1) for "Net" during global destruction
then much later
crash after thread 0816
attempt to write to 0x00000000
Windows Server 2003 32 bit activeperl 5.8.8, openssl 0.9.8i, MS Visual C 6,
MS C compiler version 12
Had to modify cb_crash test not to use threads::running
Crashed after thread 274
occasional error:
Thread 925 terminated abnormally: CTX_use_PrivateKey_file failed at
cb_crash.pl line 50
and then hung later after:
[thread:9996] do_check finished (prob because of ::running change above)
Windows Server 2003 32 bit activeperl 5.6, openssl 0.9.8i, MS Visual C 6, MS
C compiler version 12
Could not test because threads.pm not
available
-------------------With your fix-for-ctx_new-deadlock-v2_rev288.diff applied
to trunk 288:
Linux perl 5.14, openssl 1.0.0. gcc 4.6.2 on OpenSuSE 12.1 8 core
Perfect. Ran to completion
Windows Server 2003 32 bit activeperl 5.12, openssl 0.9.8i, MS Visual C 6, MS
C compiler version 12
error:
Thread 833 terminated abnormally: CTX_use_PrivateKey_file failed at
cb_crash.pl line 50
then ran to completion
Windows Server 2003 32 bit activeperl 5.10, openssl 0.9.8i, MS Visual C 6, MS
C compiler version 12
2 error messages:
Attempt to free unreferenced glob pointers
unbalanced string table refcount: (1) for "c:/perl-5.10/lib/Exporter.pm"
during global destruction
Crashed later after thread 1488 with write to 0x000000
Windows Server 2003 32 bit activeperl 5.8.8, openssl 0.9.8i, MS Visual C 6,
MS C compiler version 12
Had to modify cb_crash test not to use threads::running
Crashed after thread 274
Windows Server 2003 32 bit activeperl 5.6, openssl 0.9.8i, MS Visual C 6, MS
C compiler version 12
Could not test because threads.pm not
available
So, I think this patch has not materially improved things on these platforms.
I have not adopted it yet.
Cheers.
Show quoted text>
> In other words does the newly proposed openssl-locking-kung-fu make it
> worse ?
>
> My environment is:
> - perl 5.14.2
> - OpenSSL 1.0.0d
> - threads-1.86
> - gcc compiler 4.4.7-pre + c-runtime from mingw-w64.sf.net project
> - all of that for 32bit as well as 64bit MS Windows
> - on both 32/64bit cb-crash.pl repeatedly runs without any crash
>
> I will try to prepare a crashy environment - but it will take some time
> (unfortunately gcc+mingw runtime from mingw-w64.sf.net I am using does
> not build 5.10.x and earlier without patching perl source code so I
> should perhaps take some MS compiler + rebuild some of the older perl as
> well as some of the older openssl lib).
>
> Or maybe could you give more info about your perl 5.8.8 (if you consider
> this to be the oldest supported perl by Net::SSLeay) - compiler version,
> threads version, vendor (activestate or homebrewed?)
>
> --
> kmx
--
Mike McCauley mikem@open.com.au
Open System Consultants Pty. Ltd
9 Bulbul Place Currumbin Waters QLD 4223 Australia
http://www.open.com.au
Phone +61 7 5598-7474 Fax +61 7 5598-7070
Radiator: the most portable, flexible and configurable RADIUS server
anywhere. SQL, proxy, DBM, files, LDAP, NIS+, password, NT, Emerald,
Platypus, Freeside, TACACS+, PAM, external, Active Directory, EAP, TLS,
TTLS, PEAP, TNC, WiMAX, RSA, Vasco, Yubikey, MOTP, HOTP, TOTP,
DIAMETER etc. Full source on Unix, Windows, MacOSX, Solaris, VMS, NetWare etc.