Re: [Exim] strange failure to lookup IP address

Top Page
Delete this message
Reply to this message
Author: Tom Davidson
Date:  
To: exim-users
Subject: Re: [Exim] strange failure to lookup IP address
> On Thu, 10 Jul 2003, exim wrote:
>
> > > Odd that it can find 1 and 2 but not 3. Anything obviously different

in
> > > the hosts file?
> >
> > There isn't as we use a common hosts file for all Sun boxen.
> >
> > $ grep mailrelay /etc/inet/hosts
> > 10.93.227.166   mailrelay1 vmcrelay01
> > 10.93.227.167   mailrelay2 vmcrelay02
> > 10.93.246.44    mailrelay3 vmcrelay03
> > 10.93.246.45    mailrelay4 vmcrelay04

>
> Very odd then! ... but it suggests that you might do a check to see
> that the file is indeed identical on all your Suns. Just in case your
> distribution mechanism is broken...


Yep, definately the same...

> > But, umm... what does full debugging mean?
> > *he RTFMs* ahhh "-d+all"
>
> Yes, but usually -d is enough for this purpose. (And if you do +all, you
> might as well do -d+all-memory, because memory management stuff gets in
> the way.)


Have now got full debugging output (though alas I forgot to disable memory).
Being as it's quite long (51k), should I still mail it here, or somewhere
else?

I've looked through it, but can't see for certain what's going on. It looks
like it's trying to do a DNS lookup to the loopback (though this may be a
representation of a hosts lookup) and seems to be failing.
(I've cut out the fallback hosts section and removed the memory lines, but
if you want the full log...):

Delivering to fallback hosts
--------> tom.davidson@??? <--------
search_tidyup called
set_process_info: 17159 delivering 19dP9Q-0004Sk-00: waiting for a remote
delivery subprocess to finish
selecting on subprocess pipes
changed uid/gid: remote delivery to tom.davidson@??? with
transport=remote_smtp_to_internet
uid=50 gid=50
auxiliary group list: <none>
set_process_info: 17161 delivering 19dP9Q-0004Sk-00 using
remote_smtp_to_internet
remote_smtp_to_internet transport entered
tom.davidson@???
getting address for mailrelay2
res_send: recvfrom: Connection refused
DNS lookup of mailrelay2 (A) gave TRY_AGAIN
mailrelay2 in dns_again_means_nonexist? no (option unset)
returning DNS_AGAIN
added retry item for R:mailrelay2: errno=146 9568256 flags=0
rc = HOST_FIND_AGAIN for mailrelay2
getting address for mailrelay3
res_send: recvfrom: Connection refused
DNS lookup of mailrelay3 (A) gave TRY_AGAIN
mailrelay3 in dns_again_means_nonexist? no (option unset)
returning DNS_AGAIN
added retry item for R:mailrelay3: errno=-32 9568256 flags=0
rc = HOST_FIND_AGAIN for mailrelay3
getting address for mailrelay4 byname
DNS name syntax check failed: mailrelay4 byname (A)
added retry item for R:mailrelay4 byname: errno=-32 9568256 flags=0
rc = HOST_FIND_FAILED for mailrelay4 byname
getting address for mailrelay1
res_send: recvfrom: Connection refused
DNS lookup of mailrelay1 (A) gave TRY_AGAIN
mailrelay1 in dns_again_means_nonexist? no (option unset)
returning DNS_AGAIN
added retry item for R:mailrelay1: errno=-32 9568256 flags=0
rc = HOST_FIND_AGAIN for mailrelay1
all IP addresses skipped or deferred at least one address


The DNS lookup output is below as it was sent to stdout rather than stderr.

;; res_nquerydomain(mailrelay2, , 1, 1)
;; res_query(mailrelay2., 1, 1)
;; res_nmkquery(QUERY, mailrelay2., IN, A)
;; res_send()
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 57255
;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;;      mailrelay2, type = A, class = IN
;; Querying server (# 1) address = 127.0.0.1
;; res_query: send error
;; res_nquerydomain(mailrelay1, , 1, 1)
;; res_query(mailrelay1., 1, 1)
;; res_nmkquery(QUERY, mailrelay1., IN, A)
;; res_send()
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 57256
;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;;      mailrelay1, type = A, class = IN
;; Querying server (# 1) address = 127.0.0.1
;; res_query: send error
;; res_nquerydomain(mailrelay3, , 1, 1)
;; res_query(mailrelay3., 1, 1)
;; res_nmkquery(QUERY, mailrelay3., IN, A)
;; res_send()
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 57257
;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;;      mailrelay3, type = A, class = IN
;; Querying server (# 1) address = 127.0.0.1
;; res_query: send error


I've checked for misconfigured DNS settings:
/etc/resolv.conf is empty (ie. file exists and is zero bytes)
hosts in /etc/nsswitch.conf is set to files

It couldn't be as simple as an empty resolv.conf could it?! :-(

Tom
--
Tom Davidson
Virgin Support
Energis