Strange DNS timeout wierdness

Strange DNS timeout wierdness

Post by Alan Hann » Wed, 29 Nov 1995 04:00:00

: I've got a Sparc-10 running Solaris 2.4 as the primary nameserver for my
: organization.  A very wierd problem is occurring with DNS.

: It seems that when I do lookups from my PC's on the network, lookups will
: sometimes fail.  If I go to my Sparc and ping the host (placing it in my
: cache) and do the lookup again it will succeed.

: Does anyone know what this could be?

  Check to see that your expire, refresh, or ttl times aren't the
  same in your zone files...




1. ToolTalk timeouts with DNS (was: answerbook times out with dns)

This could be a ToolTalk bug (feature?). We're running YP with DNS
enabled for host information and experienced long timeouts (~3min)
with serveral deskset tools now and then (since OW 3.0, SunOS 4.1.x
and SunOS 5.x).

The ToolTalk library is obviously written in C++ and deals with IP
addresses either in ascii (e.g. "") or binary form
(e.g. 0xc04c8747), both forms are stored in Tt_string objects.

In Tt_global::find_host, such an IP address is converted into a
hostname by trying to interpret the Tt_string IP address first as a
binary string (using gethostbyaddr directly on the Tt_string's data)
and, if this fails, an a ascii string (converting the string with
inet_addr into binary form, then gethostbyaddr). Unfortunatelly, the
actual data contained in the string object is in ascii form, so the
first try results in a call to gethostbyaddr("192.76...").  With DNS
enabled, this results in a DNS query for the hostname of!

Now, if your PPP link is down for some reason, DNS can't reach other
nameservers and you're experiencing a 3 min timeout.

Currently I've solved the problem by patching SunOS 5.3's
/usr/openwin/lib/ file: I've changed Tt_global::find_host to
first try the conversion from ascii and, if it fails, retry with the
conversion from binary:

48# adb -w /usr/openwin/lib/
find_host__10_Tt_globalF10_Tt_stringR12_Tt_host_ptri+0x80:      call    0xa0a00
find_host__10_Tt_globalF10_Tt_stringR12_Tt_host_ptri+0xc4:      call    0xa0508

3c640?W 40018fb2
find_host__10_Tt_globalF10_Tt_stringR12_Tt_host_ptri+0x80:      0x400190f0 = 0x40018fb2
3c684?W 400190df
find_host__10_Tt_globalF10_Tt_stringR12_Tt_host_ptri+0xc4:      0x40018fa1 = 0x400190df

find_host__10_Tt_globalF10_Tt_stringR12_Tt_host_ptri+0x80:      call    0xa0508
find_host__10_Tt_globalF10_Tt_stringR12_Tt_host_ptri+0xc4:      call    0xa0a00

2. Setting up Mandrake Linux 8 on @home network

3. dns wierdness

4. /etc/passwd

5. DNS Wierdness

6. starting vinum automaticallly HELP!

7. Strange timeout-like problem using linux-jdk-1.3.1 and xerces-1.4.0

8. Thomas Conrad TC-3045 ArcNet NIC supported?

9. Strange, strange, strange...

10. Strange network timeouts on iptables-firewall

11. Strange install timeouts

12. Very strange network timeout problem.....

13. strange behaviour of ftpd's timeout