Re: Incorrect "host not found (authoritative)" - occasional but annoying

From: Duane Wessels <>
Date: Mon, 03 Aug 1998 13:50:05 -0600

"Alan J. Flavell" writes:

>We've been running one version or another of squid (and of its
>predecessor, Harvest Cache) for a long time, on a relatively small
>scale. There's a problem that hits us occasionally: and having
>upgraded to the 1.1..22 release, and noting that the problem still
>seems to be there, I thought I would mention it on the list and see if
>anyone recognises the symptoms.
>As far as the user is concerned, they access a URL at a valid host
>and get told:
> The following error was encountered:
> DNS name lookup failure
> The system returned:
> DNS Domain '' is invalid: Host not found (authoritative).
> listing the name of their intended destination.
>The cache.log merely records ERR_DNS_FAIL at the corresponding point.
>If one waits long enough for squid's DNS caching to time out, and
>then re-loads the identical URL, it works just fine.
>The thing that's puzzling about this from the point of view of the
>user is the assertion that this answer was "authoritative", when in
>fact it is entirely untrue. Is there some kind of time-out or other
>failure mode in DNS queries that gets erroneously reported as an
>authoritative not-found?
>I searched the squid-users archive for similar symptoms, but none of
>the items that I found seemed to really match what we've been
>Incidentally I have the impression that this happens more often when
>the cache is relatively idle. So perhaps it wouldn't be seen at sites
>that are always active. It's almost looking as if some process (the
>squid DNS process?) is going too deeply to sleep ;-)
>The system on which squid runs is also a general unix server, running
>all kinds of other tasks for our users in this research group. I
>don't recall this kind of thing (i.e an authoritative "host not found"
>report that was untrue) ever happening in any other kind of DNS lookup
>situation here; not when web browsing with the proxy turned off, nor
>when doing any other kind of thing (telnet, ftp etc.) from this same
>Any suggestions, please?

When gethostbyname() fails, this global error variable h_errno
is set.

From my IRIX man page:

     h_errno can have the following values:

       HOST_NOT_FOUND No such host is known.

       TRY_AGAIN This is usually a temporary error and means that the
                       local server did not receive a response from an
                       authoritative server. A retry at some later time may


So, if gethostbyname() returns HOST_NOT_FOUND, we believe it.

If h_errno == TRY_AGAIN, the dnsserver process attempts the lookup
three times in a row.

You might try having it do the same for HOST_NOT_FOUND and
see if that helps.

Duane W.
Received on Mon Aug 03 1998 - 12:59:51 MDT

This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:41:26 MST