dig trace and "dig: Too many lookups"

Mark Andrews Mark_Andrews at isc.org
Thu Jan 17 00:32:53 UTC 2008


> Our ns1 was down and a customer using an outsourced monitoring service 
> forwarded me a report from DiG 9.3.1 doing a +trace. The ns2 (as far as I 
> saw) was working fine.
> 
> I don't know the dig command that was used but I am guessing:
> 
> 	dig site.example.com +trace @some.root-servers.net
> 
> since the output started with the root-servers.
> 
> It has the same lookup repeated near 90 times. It looked like this:
> 
> example.com    170877  IN      NS      ns1.example.net.
> example.com    170877  IN      NS      ns2.example.net.
> ;; Received 124 bytes from 65.77.130.5#53(ns2.example.net) in 79 ms
> 
> example.com    170876  IN      NS      ns2.example.net.
> example.com    170876  IN      NS      ns1.example.net.
> ;; Recedig: Too many lookups
> ived 124 bytes from 65.77.130.5#53(ns2.example.net) in 80 ms
> 
> 
> The above "Recedig: Too many lookups" was in the report forwarded to me. 
> The "dig: Too many lookups" was in the middle of the "Received 124 bytes 
> ..." message.
> 
> It had that a few times:
> 
> ;; Receivedig: too many lookups
> ...
> ;; Recedig: Too many lookups
> ...
> ;; Recedig: Too many lookups
> 
> 
> I know this doesn't provide much details and the problem was from sixteen 
> hours ago so I can't see it myself.
> 
> 
> Anyone seen this before? Any ideas what it means?
> 
> Thanks!
> 
> 
>   Jeremy C. Reed
> 
> p.s. Hope it is okay I replaced the domain names above.

	fatal("too many lookups"); -> stderr
	printf(";; Received %u bytes from %s(%s) in %d ms\n\n", -> stdout

	stdout was not flushed before before the stderr was output.
	As a result part of the dtdout stream was before the message
	to stderr and part after.

	"dig +trace" does not try to track which servers it has
	talked too, unlike a full iterative resolver which does
	track this information.  As a result it can easily loop
	forever so there is a lookup limit which stop the lookup
	when it starts to loop.

	Mark

-- 
Mark Andrews, ISC
1 Seymour St., Dundas Valley, NSW 2117, Australia
PHONE: +61 2 9871 4742                 INTERNET: Mark_Andrews at isc.org



More information about the bind-users mailing list