Subject: | Resolver bgsend() fails on Solaris 9 SPARC |
Resolver bgsend() fails with resolver errorstring:
"Could not find a socket to send on"
on Solaris 9. (Dropped through loop at Resolver/Base.pm line 1096)
Same code runs without error on Solaris 8, 7, even 2.5.1!
Using:
Net-DNS-0.53
SunOS lorentz 5.9 Generic_117171-07 sun4u sparc SUNW,Sun-Fire-V240
Perl 5.6.1 (Sun standard issue)
Socket6 and IO::Socket::INET6 modules NOT installed, but machine has IPv6 ethernet interface enabled (link scope address only).
Regression test using version 0.45 works as expected.
#!/usr/local/bin/perl
# Demonstrate bgsend() problem on Solaris 9
#
use Net::DNS; # 0.53 fails, 0.45 does not
#
my $resolver = Net::DNS::Resolver->new( debug=>1 );
# 7
my $socket = $resolver->bgsend('.', 'NS') or warn $resolver->errorstring;
die "Socket undefined after call to bgsend()" unless $socket;
# 10
my $expiry = time + 5;
sleep(1) until $resolver->bgisready($socket) or (time > $expiry);
# 13
my $reply = $resolver->bgread($socket) if $resolver->bgisready($socket);
die "No response received" unless $reply;
# 16
print "\n\nComplete, no error\n";
# 17
__END__
Execution on Sun SPARC Solaris 9 platform using Net::DNS 0.53 produces:
;; bgsend(127.0.0.1 : 53)
Could not find a socket to send on
at ./Solaris9bgsendProblem line 8.
Socket undefined after call to bgsend()
at ./Solaris9bgsendProblem line 9.
####