Skip Menu |

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

Report information
The Basics
Id: 92834
Status: open
Priority: 0/
Queue: IO-Socket-IP

People
Owner: Nobody in particular
Requestors: ether [...] cpan.org
Cc:
AdminCc:

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



Subject: Possible problem? Plack fails tests
In perl 5.18.2, darwin, IO::Socket::IP 0.25 and Acme::Override::INET 0.003: --> Working on Plack Fetching http://mirrors.gossamer-threads.com/CPAN/authors/id/M/MI/MIYAGAWA/Plack-1.0030.tar.gz -> OK Unpacking Plack-1.0030.tar.gz ... PERL_DL_NONLAZY=1 /Users/ether/perl5/perlbrew/perls/18.2/bin/perl "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/HTTP-Message-PSGI/*.t t/HTTP-Server-PSGI/*.t t/Plack-Builder/*.t t/Plack-HTTPParser-PP/*.t t/Plack-Handler/*.t t/Plack-Loader/*.t t/Plack-MIME/*.t t/Plack-Middleware/*.t t/Plack-Middleware/cascade/*.t t/Plack-Middleware/recursive/*.t t/Plack-Middleware/stacktrace/*.t t/Plack-Request/*.t t/Plack-Response/*.t t/Plack-Runner/*.t t/Plack-TempBuffer/*.t t/Plack-Test/*.t t/Plack-Util/*.t t/HTTP-Message-PSGI/content_length.t ............... ok # Acme::Override::INET replaced IO::Socket::INET with IO::Socket::IP failed to listen to port 50252: Invalid argument at /Users/ether/.cpanm/work/1391838876.93295/Plack-1.0030/blib/lib/HTTP/Server/PSGI.pm line 94. cannot open port: 50252 at /Users/ether/.perlbrew/libs/18.2@std/lib/perl5/Test/TCP.pm line 51. t/HTTP-Server-PSGI/harakiri.t ...................... Dubious, test returned 61 (wstat 15616, 0x3d00) No subtests run # Acme::Override::INET replaced IO::Socket::INET with IO::Socket::IP failed to listen to port 50592: Invalid argument at /Users/ether/.cpanm/work/1391838876.93295/Plack-1.0030/blib/lib/HTTP/Server/PSGI.pm line 94. cannot open port: 50592 at /Users/ether/.perlbrew/libs/18.2@std/lib/perl5/Test/TCP.pm line 51. t/HTTP-Server-PSGI/post.t .......................... Dubious, test returned 61 (wstat 15616, 0x3d00) No subtests run t/HTTP-Message-PSGI/empty_streamed_response.t ...... ok ... Test Summary Report ------------------- t/HTTP-Server-PSGI/harakiri.t (Wstat: 15616 Tests: 0 Failed: 0) Non-zero exit status: 61 Parse errors: No plan found in TAP output t/HTTP-Server-PSGI/post.t (Wstat: 15616 Tests: 0 Failed: 0) Non-zero exit status: 61 Parse errors: No plan found in TAP output Files=134, Tests=1033, 28 wallclock secs ( 0.58 usr 0.41 sys + 13.98 cusr 3.42 csys = 18.39 CPU) Result: FAIL Failed 2/134 test programs. 0/1033 subtests failed.
Trying again with IO::Socket::IP 0.27 and Acme::Override::INET 0.004: # Acme::Override::INET replaced IO::Socket::INET with IO::Socket::IP 0.27 failed to listen to port 50624: Invalid argument at /Users/ether/.cpanm/work/1391839314.93880/Plack-1.0030/blib/lib/HTTP/Server/PSGI.pm line 94. cannot open port: 50624 at /Users/ether/.perlbrew/libs/18.2@std/lib/perl5/Test/TCP.pm line 51. t/HTTP-Server-PSGI/harakiri.t ...................... Dubious, test returned 61 (wstat 15616, 0x3d00) No subtests run # Acme::Override::INET replaced IO::Socket::INET with IO::Socket::IP 0.27 t/Plack-Handler/apache2.t .......................... skipped: TEST_APACHE2 is not set t/HTTP-Message-PSGI/empty_streamed_response.t ...... ok # Acme::Override::INET replaced IO::Socket::INET with IO::Socket::IP 0.27 t/Plack-Handler/apache1.t .......................... skipped: TEST_APACHE1 is not set t/Plack-Handler/apache2-registry.t ................. skipped: TEST_APACHE2 is not set # Acme::Override::INET replaced IO::Socket::INET with IO::Socket::IP 0.27 failed to listen to port 50297: Invalid argument at /Users/ether/.cpanm/work/1391839314.93880/Plack-1.0030/blib/lib/HTTP/Server/PSGI.pm line 94. cannot open port: 50297 at /Users/ether/.perlbrew/libs/18.2@std/lib/perl5/Test/TCP.pm line 51. t/HTTP-Server-PSGI/post.t .......................... Dubious, test returned 61 (wstat 15616, 0x3d00) No subtests run Test Summary Report ------------------- t/HTTP-Server-PSGI/harakiri.t (Wstat: 15616 Tests: 0 Failed: 0) Non-zero exit status: 61 Parse errors: No plan found in TAP output t/HTTP-Server-PSGI/post.t (Wstat: 15616 Tests: 0 Failed: 0) Non-zero exit status: 61 Parse errors: No plan found in TAP output Files=134, Tests=1033, 27 wallclock secs ( 0.59 usr 0.42 sys + 13.93 cusr 3.40 csys = 18.34 CPU) Result: FAIL Failed 2/134 test programs. 0/1033 subtests failed.
On Sat Feb 08 01:03:47 2014, ETHER wrote: Show quoted text
> failed to listen to port 50624: Invalid argument at > /Users/ether/.cpanm/work/1391839314.93880/Plack- > 1.0030/blib/lib/HTTP/Server/PSGI.pm line 94.
A little hard to tell what's actually going on here, due to a bug in Plack. HTTP/Server/PSGI.pm line 94 has: $self->{listen_sock} ||= $class->new(%args) or die "failed to listen to port $self->{port}: $!"; That isn't actually the error-propagation API for IO::Socket::*. The error won't necessarily be in $!. This needs to print $@ instead which would yield the actual error from IO::Socket::IP->new, rather than simply whatever happened to be in $! at the time. Furtheremore, I'm afraid I can't reproduce this one locally - with IO::Socket::IP 0.27 + Acme::Override::INET 0.004 installed, all Plack tests still pass. Perhaps if you can retry with the correct error message logic, we might see what the failure is. -- Paul Evans
On 2014-02-10 07:17:16, PEVANS wrote: Show quoted text
> On Sat Feb 08 01:03:47 2014, ETHER wrote:
> > failed to listen to port 50624: Invalid argument at > > /Users/ether/.cpanm/work/1391839314.93880/Plack- > > 1.0030/blib/lib/HTTP/Server/PSGI.pm line 94.
> > A little hard to tell what's actually going on here, due to a bug in > Plack. > > HTTP/Server/PSGI.pm line 94 has: > > $self->{listen_sock} ||= $class->new(%args) > or die "failed to listen to port $self->{port}: $!"; > > That isn't actually the error-propagation API for IO::Socket::*. The > error won't necessarily be in $!. This needs to print $@ instead which > would yield the actual error from IO::Socket::IP->new, rather than > simply whatever happened to be in $! at the time. > > Furtheremore, I'm afraid I can't reproduce this one locally - with > IO::Socket::IP 0.27 + Acme::Override::INET 0.004 installed, all Plack > tests still pass. Perhaps if you can retry with the correct error > message logic, we might see what the failure is.
With $! replaced by $@ in that die, I get: Acme::Override::INET replaced IO::Socket::INET with IO::Socket::IP 0.27 failed to listen to port 50146: nodename nor servname provided, or not known at /Users/ether/.cpanm/work/1392066642.36323/Plack-1.0030/blib/lib/HTTP/Server/PSGI.pm line 94. t/HTTP-Server-PSGI/harakiri.t ...................... Dubious, test returned 61 (wstat 15616, 0x3d00)
This is quite an old one. Can it be retested for 0.37? -- Paul Evans