Skip Menu |

This queue is for tickets about the IO-Socket-SSL CPAN distribution.

Report information
The Basics
Id: 95967
Status: rejected
Priority: 0/
Queue: IO-Socket-SSL

People
Owner: Nobody in particular
Requestors: tmh.cpan [...] gmail.com
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: 1.989
Fixed in: (no value)



Subject: Win7SP1: t/public_suffix_ssl.t ............. 1/24 failed to connect
Thanks for attempting to fix: https://rt.cpan.org/Ticket/Display.html?id=95881 I've successfully installed v1.989 and used the module on Linux, but the new update will not pass tests on Strawberry Perl 5.18.2. cpanm -v IO::Socket::SSL ... t/npn.t ........................... ok t/public_suffix_lib_encode_idn.t .. ok t/public_suffix_lib_libidn.t ...... ok t/public_suffix_lib_uri.t ......... ok t/public_suffix_ssl.t ............. 1/24 failed to connect: An operation was attempted on something that is not a socket. at t/public_suffix_ssl.t line 87. # Looks like you planned 24 tests but ran 4. # Looks like your test exited with 10038 just after 4. Terminating on signal SIGINT(2) Terminating on signal SIGINT(2) CTerminating on signal SIGINT(2) aught SIGINT. Trying to quit ... dmake.exe: Error code 130, while making 'test_dynamic' Terminate batch job (Y/N)? y I attempted my own fix for the warnings bug, and changing line 223 to the following does the trick: local $SIG{__DIE__} = sub {}; local $SIG{__WARN__} = sub {}; # be silent my $ip6 = eval { require Socket; Socket->VERSION(1.95); Socket->import( qw/inet_pton getnameinfo NI_NUMERICHOST NI_NUMERICSERV/ ); inet_pton( AF_INET6(),'::1') && AF_INET6(); } || eval { require Socket6; Socket6->import( qw/inet_pton getnameinfo NI_NUMERICHOST NI_NUMERICSERV/ ); inet_pton( AF_INET6(),'::1') && AF_INET6(); }; Can't say I love the idea of silencing warnings, but I have to assume that you were cool with that solution given you already had the localized SIGs. I will continue to see if I can't come up with a better solution that actually eliminated the warnings entirely. The following change to line 229 -232 does remove 2 of the warnings: } || eval { use Socket6 qw/inet_pton getnameinfo NI_NUMERICHOST NI_NUMERICSERV/; inet_pton( AF_INET6(),'::1') && AF_INET6(); }; But I have to assume that you used require and import for a reason. Also, while it removes the 4 original warnings, it introduces 2 additional ones related to the Socket->import(..) Prototype mismatch: sub IO::Socket::SSL::NI_NUMERICHOST: none vs () at C:/strawberry/perl/lib/Exporter.pm line 66. at C:/strawberry/perl/site/lib/IO/Socket/SSL.pm line 227. Prototype mismatch: sub IO::Socket::SSL::NI_NUMERICSERV: none vs () at C:/strawberry/perl/lib/Exporter.pm line 66. at C:/strawberry/perl/site/lib/IO/Socket/SSL.pm line 227. If there's anything else I can do to help, please let me know. I'm happy to test any alternative solution that you come up with. Regards, - Miller
Show quoted text
> t/public_suffix_ssl.t ............. 1/24 failed to connect: An > operation was attempted on something that is not a socket. at > t/public_suffix_ssl.t line 87.
This is an unrelated error and is caused by problems with the fork emulation on Windows. It's reported for several IO::Socket based stuff in Windows :( Show quoted text
> If there's anything else I can do to help, please let me know. I'm > happy to test any alternative solution that you come up with.
Would you please try 1.989_1 or the latest version from github? Regards, Steffen
CC: behroozi [...] www.pls.uni.edu
Subject: Re: [rt.cpan.org #95967] Win7SP1: t/public_suffix_ssl.t ............. 1/24 failed to connect
Date: Mon, 26 May 2014 18:24:01 -0700
To: bug-IO-Socket-SSL [...] rt.cpan.org
From: Miller Hall <tmh.cpan [...] gmail.com>
Sorry for the delay, was actually enjoy a little bit of the monday holiday. Here is the response for installing the latest update to github: C:\devel\IO_Socket_SSL_zip>cpanm -v p5-io-socket-ssl-master.zip cpanm (App::cpanminus) 1.7001 on perl 5.018002 built for MSWin32-x64-multi-thread Work directory is C:\Users\Miller/.cpanm/work/1401153390.9928 You have make C:\strawberry\c\bin\dmake.exe You have LWP 6.05 Falling back to Archive::Tar 1.96 --> Working on p5-io-socket-ssl-master.zip Fetching file://C:\devel\IO_Socket_SSL_zip\p5-io-socket-ssl-master.zip ... OK Unpacking p5-io-socket-ssl-master.zip Entering p5-io-socket-ssl-master/ Running Makefile.PL Configuring p5-io-socket-ssl-master/ ... Should I do external tests? These test will detect if there are network problems and fail soft, so please disable them only if you definitely don't want to have any network traffic to external sites. [Y/n] [y] y Checking if your kit is complete... Looks good Generating a dmake-style Makefile Writing Makefile for IO::Socket::SSL Writing MYMETA.yml and MYMETA.json OK Checking dependencies from MYMETA.json ... Checking if you have Mozilla::CA 0 ... Yes (20130114) Checking if you have Scalar::Util 0 ... Yes (1.35) Checking if you have ExtUtils::MakeMaker 0 ... Yes (6.84) Checking if you have Net::SSLeay 1.46 ... Yes (1.55) Building and testing IO-Socket-SSL-1.989_1 ... cp lib/IO/Socket/SSL.pm blib\lib\IO\Socket\SSL.pm cp lib/IO/Socket/SSL/PublicSuffix.pm blib\lib\IO\Socket\SSL\PublicSuffix.pm cp lib/IO/Socket/SSL/Intercept.pm blib\lib\IO\Socket\SSL\Intercept.pm cp lib/IO/Socket/SSL/Utils.pm blib\lib\IO\Socket\SSL\Utils.pm C:\strawberry\perl\bin\perl.exe "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib\lib', 'blib\arch')" t/*.t t/external/*.t t/01loadmodule.t .................. # openssl version=0x1000105f t/01loadmodule.t .................. 1/3 # Net::SSLeay::VERSION=1.55 t/01loadmodule.t .................. ok t/acceptSSL-timeout.t ............. ok t/auto_verify_hostname.t .......... ok t/cert_formats.t .................. ok t/cert_no_file.t .................. ok t/compatibility.t ................. ok t/connectSSL-timeout.t ............ ok t/core.t .......................... ok t/dhe.t ........................... ok t/ecdhe.t ......................... skipped: no support for ecdh with this openssl/Net::SSLeay t/external/ocsp.t ................. skipped: no OCSP support t/external/usable_ca.t ............ # found 154 CA certs # have root CA for www.google.com in store # 5 connections to www.google.com ok t/external/usable_ca.t ............ 1/21 # have root CA for www.yahoo.com in store # 5 connections to www.yahoo.com ok # fingerprint www.yahoo.com matches # check www.yahoo.com against builtin CA store ok t/external/usable_ca.t ............ 4/21 # have root CA for www.comdirect.de in store # 5 connections to www.comdirect.de ok t/external/usable_ca.t ............ 7/21 # have root CA for meine.deutsche-bank.de in store # 5 connections to meine.deutsche-bank.de ok # fingerprint meine.deutsche-bank.de matches # check meine.deutsche-bank.de against builtin CA store ok t/external/usable_ca.t ............ 11/21 # have root CA for www.twitter.com in store # 5 connections to www.twitter.com ok # fingerprint www.twitter.com matches # check www.twitter.com against builtin CA store ok t/external/usable_ca.t ............ 13/21 # have root CA for www.facebook.com in store # 5 connections to www.facebook.com ok # fingerprint www.facebook.com matches # check www.facebook.com against builtin CA store ok t/external/usable_ca.t ............ 17/21 # have root CA for www.live.com in store # 5 connections to www.live.com ok t/external/usable_ca.t ............ ok t/io-socket-inet6.t ............... ok t/io-socket-ip.t .................. ok t/memleak_bad_handshake.t ......... skipped: ps not implemented on this platform t/mitm.t .......................... ok t/nonblock.t ...................... skipped: nonblocking does not work on Win32 t/npn.t ........................... ok t/public_suffix_lib_encode_idn.t .. ok t/public_suffix_lib_libidn.t ...... ok t/public_suffix_lib_uri.t ......... ok t/public_suffix_ssl.t ............. 1/24 failed to connect: Bad file descriptor at t/public_suffix_ssl.t line 87. # Looks like you planned 24 tests but ran 5. # Looks like your test exited with 9 just after 5. - Miller On Sun, May 25, 2014 at 10:54 PM, Steffen Ullrich via RT < bug-IO-Socket-SSL@rt.cpan.org> wrote: Show quoted text
> <URL: https://rt.cpan.org/Ticket/Display.html?id=95967 > > >
> > t/public_suffix_ssl.t ............. 1/24 failed to connect: An > > operation was attempted on something that is not a socket. at > > t/public_suffix_ssl.t line 87.
> > This is an unrelated error and is caused by problems with the fork > emulation on Windows. > It's reported for several IO::Socket based stuff in Windows :( >
> > If there's anything else I can do to help, please let me know. I'm > > happy to test any alternative solution that you come up with.
> > Would you please try 1.989_1 or the latest version from github? > > Regards, > Steffen > > >
Am Mo 26. Mai 2014, 21:24:34, TMHALL schrieb: Show quoted text
> Sorry for the delay, was actually enjoy a little bit of the monday holiday. > > Here is the response for installing the latest update to github: > ... > t/public_suffix_ssl.t ............. 1/24 failed to connect: Bad file > descriptor at t/public_suffix_ssl.t line 87.
This is again an error which has nothing to do with IO::Socket::SSL, but is related to the fork emulation on Windows. It fails to connect to the INET server it just created :( I cannot reproduce the error with a fresh install of Strawberry Perl 5.18.2 on a fresh install of Win7 64bit SP1, but I notice, that your installation of 5.18.2 comes with an older Net::SSLeay so maybe there are also other fixes in my version. The version I use was compiled on Apr 15 2014 according to perl -V. Please check with a current version of Strawberry Perl if the error still occurs. Regards, Steffen
From: bicard.mails.skeeve [...] xoxy.net
I get the error with strawberry perl portable edition fo 32Bit: "This is perl 5, version 18, subversion 2 (v5.18.2) built for MSWin32-x86-multi-thread-64int" While when I use the 64 Bit non-portable version: "This is perl 5, version 18, subversion 2 (v5.18.2) built for MSWin32-x64-multi-thread" Everything installs perfectly. For the production system I'm developing for I unfortunately require the portable 32 bit version :(
Am Mo 02. Jun 2014, 10:47:38, bicard.mails.skeeve@xoxy.net schrieb: Show quoted text
> I get the error with strawberry perl portable edition fo 32Bit: "This > is perl 5, version 18, subversion 2 (v5.18.2) built for MSWin32-x86- > multi-thread-64int"
Could you please check with perl -V when this version was build? There is no fixed 5.18.2 version, it gets regularly updated.
From: bicard.mails.skeeve [...] xoxy.net
The failing one: D:\Transfer\strawberry-perl-5.18.2.2-32bit-portable>perl -V Summary of my perl5 (revision 5 version 18 subversion 2) configuration: Platform: osname=MSWin32, osvers=6.2, archname=MSWin32-x86-multi-thread-64int uname='Win32 strawberry-perl 5.18.2.2 #1 Tue Apr 15 18:02:21 2014 i386' config_args='undef' hint=recommended, useposix=true, d_sigaction=undef useithreads=define, usemultiplicity=define useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef use64bitint=define, use64bitall=undef, uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='gcc', ccflags =' -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT _CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fno-strict-aliasing -mms-bitfields', optimize='-s -O2', cppflags='-DWIN32' ccversion='', gccversion='4.7.3', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=12345678 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12 ivtype='long long', ivsize=8, nvtype='double', nvsize=8, Off_t='long long', lseeksize=8 alignbytes=8, prototype=define Linker and Libraries: ld='g++.exe', ldflags ='-s -L"D:\Transfer\strawberry-perl-5.18.2.2-32bit-por table\perl\lib\CORE" -L"D:\Transfer\strawberry-perl-5.18.2.2-32bit-portable\c\li b"' libpth=D:\Transfer\strawberry-perl-5.18.2.2-32bit-portable\c\lib D:\Transfer \strawberry-perl-5.18.2.2-32bit-portable\c\i686-w64-mingw32\lib D:\Transfer\stra wberry-perl-5.18.2.2-32bit-portable\c\lib\gcc\i686-w64-mingw32\4.7.3 libs=-lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32 perllibs=-lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladva pi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lver sion -lodbc32 -lodbccp32 -lcomctl32 libc=, so=dll, useshrplib=true, libperl=libperl518.a gnulibc_version='' Dynamic Linking: dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' ' cccdlflags=' ', lddlflags='-mdll -s -L"D:\Transfer\strawberry-perl-5.18.2.2- 32bit-portable\perl\lib\CORE" -L"D:\Transfer\strawberry-perl-5.18.2.2-32bit-port able\c\lib"' Characteristics of this binary (from libperl): Compile-time options: HAS_TIMES HAVE_INTERP_INTERN MULTIPLICITY PERLIO_LAYERS PERL_DONT_CREATE_GVSV PERL_HASH_FUNC_ONE_AT_A_TIME_HARD PERL_IMPLICIT_CONTEXT PERL_IMPLICIT_SYS PERL_MALLOC_WRAP PERL_PRESERVE_IVUV PERL_SAWAMPERSAND USE_64_BIT_INT USE_ITHREADS USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_PERLIO USE_PERL_ATOF Built under MSWin32 Compiled at Apr 15 2014 18:11:20 @INC: D:/Transfer/strawberry-perl-5.18.2.2-32bit-portable/perl/site/lib D:/Transfer/strawberry-perl-5.18.2.2-32bit-portable/perl/vendor/lib D:/Transfer/strawberry-perl-5.18.2.2-32bit-portable/perl/lib . The non-failing: PS C:\Users\me> perl -V Summary of my perl5 (revision 5 version 18 subversion 2) configuration: Platform: osname=MSWin32, osvers=6.2, archname=MSWin32-x64-multi-thread uname='Win32 strawberry-perl 5.18.2.2 #1 Tue Apr 15 14:36:23 2014 x64' config_args='undef' hint=recommended, useposix=true, d_sigaction=undef useithreads=define, usemultiplicity=define useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef use64bitint=define, use64bitall=undef, uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='gcc', ccflags =' -s -O2 -DWIN32 -DWIN64 -DCONSERVATIVE -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_I MPLICIT_SYS -DUSE_PERLIO -fno-strict-aliasing -mms-bitfields', optimize='-s -O2', cppflags='-DWIN32' ccversion='', gccversion='4.7.3', gccosandvers='' intsize=4, longsize=4, ptrsize=8, doublesize=8, byteorder=12345678 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12 ivtype='long long', ivsize=8, nvtype='double', nvsize=8, Off_t='long long', lseeksize=8 alignbytes=8, prototype=define Linker and Libraries: ld='g++', ldflags ='-s -L"C:\strawberry\perl\lib\CORE" -L"C:\strawberry\c\lib"' libpth=C:\strawberry\c\lib C:\strawberry\c\x86_64-w64-mingw32\lib C:\strawberry\c\lib\gcc\x86_64-w64-mingw32\4.7.3 libs=-lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32 perllibs=-lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lneta pi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32 libc=, so=dll, useshrplib=true, libperl=libperl518.a gnulibc_version='' Dynamic Linking: dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' ' cccdlflags=' ', lddlflags='-mdll -s -L"C:\strawberry\perl\lib\CORE" -L"C:\strawberry\c\lib"' Characteristics of this binary (from libperl): Compile-time options: HAS_TIMES HAVE_INTERP_INTERN MULTIPLICITY PERLIO_LAYERS PERL_DONT_CREATE_GVSV PERL_HASH_FUNC_ONE_AT_A_TIME_HARD PERL_IMPLICIT_CONTEXT PERL_IMPLICIT_SYS PERL_MALLOC_WRAP PERL_PRESERVE_IVUV PERL_SAWAMPERSAND USE_64_BIT_INT USE_ITHREADS USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_PERLIO USE_PERL_ATOF Built under MSWin32 Compiled at Apr 15 2014 14:45:10 @INC: C:/strawberry/perl/site/lib C:/strawberry/perl/vendor/lib C:/strawberry/perl/lib
From: bicard.mails.skeeve [...] xoxy.net
Update: I just downloaded strawberry perl 5.20 and all the modules required seem to be there. So no need to install IO::Socket::SSL manually-
Am Mo 02. Jun 2014, 14:26:15, bicard.mails.skeeve@xoxy.net schrieb: Show quoted text
> The failing one: > > D:\Transfer\strawberry-perl-5.18.2.2-32bit-portable>perl -V > Summary of my perl5 (revision 5 version 18 subversion 2) > configuration: > > Platform: > osname=MSWin32, osvers=6.2, archname=MSWin32-x86-multi-thread-64int > uname='Win32 strawberry-perl 5.18.2.2 #1 Tue Apr 15 18:02:21 2014 > i386'
Using the same version I cannot reproduce the problem. The relevant part of the code only does an IO::Socket::INET->new($addr) and should never fail with such an error if IO::Socket::INET is behaving right. I think this is a bug in IO::Socket::INET, same or similar to RT#116641. So it is not a bug in IO::Socket::SSL and there I'll close it.