Skip Menu |

This queue is for tickets about the POE-Component-Resolver CPAN distribution.

Report information
The Basics
Id: 67601
Status: resolved
Priority: 0/
Queue: POE-Component-Resolver

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

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



Subject: test suite FAILs with weird output
This problem is also shown on CPANTesters: http://www.cpantesters.org/cpan/report/6bea5729-6cf4-1014-b361-93b18620318b http://www.cpantesters.org/cpan/report/9542cfec-5944-11e0-bc4d-ba3aba719da4 apoc@blackhole:~/.cpanplus/5.10.0/build/POE-Component-Resolver-0.911# prove -bv t/01-basic.t t/01-basic.t .. 1..4 # ipv6-test.com = 178.32.99.36 not ok 1 - address families are as expected (10 2) # Failed test 'address families are as expected (10 2)' # at t/01-basic.t line 108. # Structures begin differing at: # $got->[0] = '2' # $expected->[0] = '10' Use of uninitialized value in numeric eq (==) at t/01-basic.t line 102. Use of uninitialized value in numeric eq (==) at t/01-basic.t line 102. # ipv6-test.com = 178.32.99.36 not ok 2 - address families are as expected (2 10) # Failed test 'address families are as expected (2 10)' # at t/01-basic.t line 108. # Structures begin differing at: # $got->[1] = Does not exist # $expected->[1] = '10' # ipv6-test.com = 178.32.99.36 ok 3 - address families are as expected (2) 5834: !!! Child process PID:5835 reaped: 5834: !!! Child process PID:5836 reaped: 5834: !!! Child process PID:5837 reaped: 5834: !!! Child process PID:5838 reaped: 5834: !!! Your program may not be using sig_child() to reap processes. 5834: !!! In extreme cases, your program can force a system reboot 5834: !!! if this resource leakage is not corrected. Modification of non-creatable array value attempted, subscript -2 at t/01-basic.t line 102. # Looks like you planned 4 tests but ran 3. # Looks like you failed 2 tests of 3 run. # Looks like your test exited with 22 just after 3. Dubious, test returned 22 (wstat 5632, 0x1600) Failed 3/4 subtests Test Summary Report ------------------- t/01-basic.t (Wstat: 5632 Tests: 3 Failed: 2) Failed tests: 1-2 Non-zero exit status: 22 Parse errors: Bad plan. You planned 4 tests but ran 3. Files=1, Tests=3, 1 wallclock secs ( 0.03 usr 0.00 sys + 0.16 cusr 0.02 csys = 0.21 CPU) Result: FAIL -- ~Apocalypse
This looks like a case where getaddrinfo() or the name server doesn't resolve IPv6 addresses on the Internet. The tests aren't being skipped, so your immediate name server and/or resolver DO return IPv6 addresses. However, we should be seeing both IPv4 and IPv6 addresses in the diag() output: # ipv6-test.com = 178.32.99.36 # ipv6-test.com = 2001:41d0:2:67d1::7e57:1 I thought testing against localhost would have been enough, but perhaps we need to do an end-to-end network test before enabling IPv6 tests?
Subject: Re: [rt.cpan.org #67601] test suite FAILs with weird output
Date: Sat, 30 Apr 2011 18:17:53 -0700
To: bug-POE-Component-Resolver [...] rt.cpan.org
From: "perl [...] 0ne.us" <perl [...] 0ne.us>
Rocco Caputo via RT wrote: Show quoted text
> <URL: https://rt.cpan.org/Ticket/Display.html?id=67601 > > > This looks like a case where getaddrinfo() or the name server doesn't > resolve IPv6 addresses on the Internet. > > The tests aren't being skipped, so your immediate name server and/or > resolver DO return IPv6 addresses. However, we should be seeing both > IPv4 and IPv6 addresses in the diag() output: > > # ipv6-test.com = 178.32.99.36 > # ipv6-test.com = 2001:41d0:2:67d1::7e57:1 > > I thought testing against localhost would have been enough, but perhaps > we need to do an end-to-end network test before enabling IPv6 tests? >
Yeah, I suspect the problem is that localhost is defined in the /etc/hosts file. On my "default" ubuntu server 11.04 VM the file looks like: apoc@ubuntu:~$ cat /etc/hosts 127.0.0.1 localhost 127.0.1.1 ubuntu.0ne.us ubuntu # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts I guess we need to do 2 tests - localhost then if it resolves, try ipv6-test.com or a similar "ipv6 test address" before actually doing the tests? That sucks :( P.S. on this home server with an ISP that doesn't support ipv6 - I get the above output, but if I try it on my linode with an ipv6 tunnel configured through he.net it passes with flying colors...
On Sat Apr 30 21:18:03 2011, perl@0ne.us wrote: Show quoted text
> > I guess we need to do 2 tests - localhost then if it resolves, try > ipv6-test.com or a similar "ipv6 test address" before actually doing the > tests? That sucks :(
The situation sucks maximally, as a successful localhost resolution doesn't guarantee anything about an internet resolution. I'm at a loss for how to proceed.
After brainstorming in irc.perl.org #poe, we decided that the most reliable way to detect IPv6 name resolution is to attempt a synchronous getaddrinfo() first. If that fails, then we can't do it asynchronously. If it passes, we have every expectation that asynchronous lookup will also work. The "Technical Info" tab at http://test-ipv6.com/ is full of ideas like that.
commit 3557a330346457155b951c505decc4152abaf0d3 Author: Rocco Caputo <rcaputo@cpan.org> Date: Sun Mar 4 18:48:42 2012 -0500 [rt.cpan.org 67601] Test IPv6 availability against non-localhost. Larwan Burke pointed out that localhost is a bad name to resolve when testing for IPv6 availability. It tends to be in /etc/hosts, which resolves whether or not the named can.