faqts : Computers : Internet : Domain Names : djbdns

+ Search
Add Entry AlertManage Folder Edit Entry Add page to http://del.icio.us/
Did You Find This Entry Useful?

13 of 18 people (72%) answered Yes
Recently 6 of 10 people (60%) answered Yes

Entry

My tinydns server/dnscache isn't answering/appears locked up - why?

Aug 25th, 2002 06:04
Brian Coogan,


One common and confusing reason tinydns locks up is when it cannot 
write to its logging process it will hang waiting for the logging 
attempt to complete.  The symptom of this is that it hangs while 
trying 
to write to fd 2, sample strace output looking like:
    write(2, "98a3d501:2986:9bad + 0001 ftp.coolpagehosting.com\n", 50
This means that tinydns is hanging while trying to write a log entry 
to 
the pipe connecting it to the multilog process as the pipe is full.  
This means multilog isn't reading from the pipe, which in turn usually 
means that the disk file system containing the logs is probably full.
You can verify this by stracing the corresponding multilog to see why 
multilog isn't reading from the pipe.  You can figure out which is the 
right multilog using this command:
    lsof /service/tinydns/log/main/lock
You may also want to run 'svstat /service/*' 
and 'svstat /service/*/log' to ensure all the services and their 
corresponding multilog processes are operational.
Note: it's unusual for multilog to run out of space as it cycles the 
log files very carefully, thus making sure the disk space usage never 
varies appreciably.  Also, the above comments on tinydns apply equally 
to dnscache, just replace 'tinydns' with 'dnscache'.
There may be other reasons tinydns/dnscache lock up, this is just one 
common reason.
You should also check obvious things like, are your tinydns (and 
dnscache if appropriate) daemons running?  Do they respond to queries 
locally at all?  (If you get "Connection refused", that means the 
daemons aren't listening to their ports at all).  Are you querying the 
right host (check /etc/resolv.conf)?  Don't use nslookup, it fails - 
use Djb's tools (http://cr.yp.to/djbdns/tools.html) or the host or dig 
commands.  Check out Djb's basic troubleshooting guide:
   http://cr.yp.to/djbdns/faq/tinydns.html#testing
Bear in mind that tinydns won't answer queries for a domain unless it 
beleives it is serving data for that domain - you must have either 
a '.' (or '&' and 'Z') line for the domain in your data file - see the 
tinydns-data documentation for more information.
In the final analysis, ask the mailing list for help.  Include an 
exact account of what is happening including logfiles, configuration, 
your OS details, etc, and what you expect to happen.  Include the real 
dns server name so people can test against it.  (Please read the FAQTS 
page on the mailing list before asking questions though!)
-- acknowledgement to: Rob Mayoff and Doug Sisk  May 2001