Protocols.DNS doesn't fail over when 127.0.0.1 refuses connections
Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=6031
Reported by Jonas Wallden jonasw@roxen.com
Log seen from Roxen WebServer admin interface (which tries to load data from www.roxen.com:80):
: DNS: Failed to read UDP packet. Connection refused?
: Cannot call functions in destructed objects.
: Unknown program: destructed object->function()
8:00:50 : pike/lib/modules/Protocols.pmod/HTTP.pmod/Query.pike (ecfef143):334: unknown function(0,80)
2m36.4s : pike/lib/modules/Protocols.pmod/HTTP.pmod/Query.pike (ecfef143):461: unknown function("www.roxen.com",0,function)
: pike/lib/modules/Protocols.pmod/DNS.pmod (f1ea363e):1465: Protocols.DNS.async_client()->generic_get("www.roxen.com",mapping[21],-1,0,1,"a","www.roxen
.com",function,function,80)
: pike/lib/modules/Protocols.pmod/DNS.pmod (f1ea363e):1442: Protocols.DNS.async_client()->rec_data(mapping[3]) : pike/lib/modules/Stdio.pmod/module.pmod (f654983e):3326: Protocols.DNS.async_client()->_read_callback()
: -:1: Pike.Backend(0)->`()(3600.0)
8:00:50 :
UDP: not open
-:1: Protocols.DNS.async_client()->send("192.168.50.254",53,"\216Y\1\0\0\1\0\0\0\0\0\0\3www\5roxen\3com\0\0\1\0\1")
pike/lib/modules/Protocols.pmod/DNS.pmod (f1ea363e):1395: Protocols.DNS.async_client()->retry(Protocols.DNS.async_client()->Request(),1)
base_server/roxenloader.pike (rev 1.449):201: Protocols.DNS.async_client()->retry->`()(@0=Protocols.DNS.async_client()->Request(),1)
-:1: Pike.Backend(0)->`()(3600.0)
3m 6.4s : DNS: Failed to read UDP packet. Connection refused?
: Cannot call functions in destructed objects.
This is repeated infinitely. nslookup and /etc/resolv.conf on target machine:
XXXXX:~ admin$ nslookup www.roxen.com ;; Got SERVFAIL reply from 127.0.0.1, trying next server Server: 192.168.50.254 Address: 192.168.50.254#53
Non-authoritative answer: Name: www.roxen.com Address: 212.247.29.226
XXXXX:~ admin$ cat /etc/resolv.conf
#
# Mac OS X Notice
#
# This file is not used by the host name and address resolution
# or the DNS query routing mechanisms used by most processes on
# this Mac OS X system.
#
# This file is automatically generated.
#
nameserver 127.0.0.1
nameserver 192.168.50.254