Skip Menu |

This queue is for tickets about the RPC-XML CPAN distribution.

Report information
The Basics
Id: 99578
Status: resolved
Priority: 0/
Queue: RPC-XML

People
Owner: rjray [...] blackperl.com
Requestors: dmacks [...] netspace.org
Cc:
AdminCc:

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



Subject: t/60_net_server.t failure
Date: Sun, 19 Oct 2014 03:04:24 -0400
To: bug-RPC-XML [...] rt.cpan.org
From: "Daniel Macks" <dmacks [...] netspace.org>
On OS X 10.8 using apple's perl-5.12.4, RPC-XML-0.78, with all CPAN dependencies supplied via fink, self-test fails: t/60_net_server.t ............... 2/30 #   Failed test 'system.identity matches $srv->product_tokens' #   at t/60_net_server.t line 60. #          got: undef #     expected: 'RPC::XML::Server/1.73' #   Failed test 'system.listMethods returned ARRAY ref' #   at t/60_net_server.t line 68. #          got: '' #     expected: 'ARRAY' #   Failed test 'system.listMethods returned ARRAY ref' #   at t/60_net_server.t line 80. #          got: '' #     expected: 'ARRAY' #   Failed test 'system.listMethods returned ARRAY ref' #   at t/60_net_server.t line 90. #          got: '' #     expected: 'ARRAY' #   Failed test 'system.listMethods returned HASH ref' #   at t/60_net_server.t line 100. #          got: '' #     expected: 'HASH' #   Failed test 'system.methodHelp returned correct string' #   at t/60_net_server.t line 110. #          got: undef #     expected: 'Return the server name and version as a string' #   Failed test 'system.methodHelp returned ARRAY ref' #   at t/60_net_server.t line 116. #          got: '' #     expected: 'ARRAY' #   Failed test ''system.methodHelp (bad arg) response' isa 'RPC::XML::fault'' #   at t/60_net_server.t line 127. #     'system.methodHelp (bad arg) response' isn't a 'RPC::XML::fault' #   Failed test 'system.methodHelp returned ARRAY ref' #   at t/60_net_server.t line 136. #          got: '' #     expected: 'ARRAY' #   Failed test ''system.methodSignature (bad arg) response' isa 'RPC::XML::fault'' #   at t/60_net_server.t line 146. #     'system.methodSignature (bad arg) response' isn't a 'RPC::XML::fault' #   Failed test 'system.methodHelp returned ARRAY ref' #   at t/60_net_server.t line 193. #          got: '' #     expected: 'ARRAY' # Looks like you planned 30 tests but ran 29. # Looks like you failed 11 tests of 29 run. t/60_net_server.t ............... Dubious, test returned 11 (wstat 2816, 0xb00) Failed 12/30 subtests         (less 16 skipped subtests: 2 okay) It looks like a similar result to: https://rt.cpan.org/Public/Bug/Display.html?id=77992 that was claimed fixed in a previous version. I do have Net::Server (2.008, latest CPAN version) installed. dan -- Daniel Macks dmacks@netspace.org
On Sun Oct 19 03:04:33 2014, dmacks@netspace.org wrote: Show quoted text
> On OS X 10.8 using apple's perl-5.12.4, RPC-XML-0.78, with all CPAN > dependencies supplied via fink, self-test fails:
I've been seeing this intermittently from CPAN Testers reports, lately. It's been happening under different Perls and different O/S versions (seems to be mostly Macs, though), but happening randomly. That is, I'm not getting regular reports of it, only one or two per month. It doesn't exhibit on my development platform, but I will spin up a 5.12.X installation via perlbrew and see if I can reproduce it. Randy -- Randy J. Ray rjray@blackperl.com randy.j.ray@gmail.com
This one beats me. I've perlbrew'd a 5.12.5 installation and tested it against both my dev version and the 0.78 distribution. All passed. I've tested my system perl (5.16.2 on MacOS 10.9, I don't have access to a 10.8 machine) against both dev and 0.78, again all passed. For completeness' sake I even tested both dev and 0.78 on a Linux box running 5.14.2, and that all passed. I don't know what else I can do at this point. Randy -- Randy J. Ray rjray@blackperl.com randy.j.ray@gmail.com
On 2014-10-19 20:36:20, RJRAY wrote: Show quoted text
> This one beats me. > > I've perlbrew'd a 5.12.5 installation and tested it against both my > dev version and the 0.78 distribution. All passed. I've tested my > system perl (5.16.2 on MacOS 10.9, I don't have access to a 10.8 > machine) against both dev and 0.78, again all passed. For > completeness' sake I even tested both dev and 0.78 on a Linux box > running 5.14.2, and that all passed. > > I don't know what else I can do at this point.
I see the same problem on a FreeBSD 10.1 system. Running 60_net_server.t with ktrace shows the following lines: 72447 perl5.20.3 GIO fd 3 wrote 72 bytes "2015/11/16-20:43:36 CONNECT TCP Peer: "[::1]:10931" Local: "[::1]:9000" " 72447 perl5.20.3 RET write 72/0x48 72447 perl5.20.3 CALL write(0x2,0x80535d000,0x8b) 72447 perl5.20.3 GIO fd 2 wrote 139 bytes "Bad arg length for Socket::unpack_sockaddr_in, length is 28, should be 16 at /usr/perl5.20.3p/lib/5.20.3/amd64-freebsd/Socket.pm line 830. " An IPv6 vs. IPv4 problem maybe? My /etc/hosts has following lines: ::1 localhost localhost.my.domain 127.0.0.1 localhost localhost.my.domain Maybe the IPv6 address for localhost has precedence over the IPv4 address? So I changed: --- a/t/60_net_server.t +++ b/t/60_net_server.t @@ -69,7 +69,7 @@ start_server($srv, log_level => 4, pid_file => $pid_file, port => $port, - host => 'localhost', + host => '127.0.0.1', background => 1); sleep 1; # Allow time for server to spin up # Unless we see "ok 2", we have a problem -> the test runs fine! Maybe this might help for further research...
I have found the cause. The problem stems from the fact that Net::Server will use IO::Socket::IP if it is available. And with that module, this error occurs. But only when the IPv6 def of localhost appears before the IPv4 def. Perplexing. For one thing, this should have worked with IPv6 in the first place. And I seem to recall that I had a problem when I hard-coded localhost as 127.0.0.1, but I can't remember the details. I'll see what I can do with this. Maybe scan/parse /etc/hosts myself, to see if the IPv6 line is before the IPv4. The bigger question is why it fails just because of IPv6... Randy -- Randy J. Ray rjray@blackperl.com randy.j.ray@gmail.com