Ethereal-users: [Ethereal-users] DNS hangs

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Tom Alsberg <alsbergt@xxxxxxxxxxxxx>
Date: Thu, 30 Sep 2004 18:11:59 +0200
Hi there.

Is there a way to avoid Ethereal hanging when looking up hostnames?
(I read http://www.ethereal.com/faq.html#q5.45, but please read on)

I now built a new version of Ethereal (0.10.6) on i386-pc-linux-gnu,
and trying to open some capture files I had, after a while of reading 
it hangs.  I know it's a DNS thing because if I disable resolution
while opening the files, it works smoothly.  But... for one, it does
not seem to get out of the hang (even after 10 minutes, it's still 
stuck exactly in the same place), and, for another, looking up the IP
address manually (using nslookup) responds with NXDOMAIN immediately,
and ping to it works...

Also, it seems to hang after returning from some thread switch:

---Type <return> to continue, or q <return> to quit---
#0  0x4116ce52 in loser_poll () from /lib/libc.so.6
(gdb) bt
#0  0x4116ce52 in loser_poll () from /lib/libc.so.6
#1  0x41531e45 in send_dg () from /lib/libresolv.so.2
#2  0x41531272 in __libc_res_nsend () from /lib/libresolv.so.2
#3  0x4152ffa0 in __libc_res_nquery () from /lib/libresolv.so.2
#4  0x41525392 in _nss_dns_gethostbyaddr_r () from /lib/libnss_dns.so.2
#5  0x41189b39 in gethostbyaddr_r@@GLIBC_2.1.2 () from /lib/libc.so.6
#6  0x41189965 in gethostbyaddr () from /lib/libc.so.6
#7  0x4019b21c in host_name_lookup (addr=3291566909, found=0xbfffc5e0)
    at ../../../ethereal-0.10.6/epan/addr_resolv.c:382
#8  0x4019cfdd in get_hostname (addr=3291566909)
    at ../../../ethereal-0.10.6/epan/addr_resolv.c:1541
#9  0x403750e8 in dissect_ip (tvb=0x8562e58, pinfo=0x85602d0, tree=0x8505308)
    at ../../../../ethereal-0.10.6/epan/dissectors/packet-ip.c:984
#10 0x401a4cbc in call_dissector_through_handle (handle=0x8284d48, 
    tvb=0x8562e58, pinfo=0x85602d0, tree=0x8505308)
    at ../../../ethereal-0.10.6/epan/packet.c:363

even though I built it with --disable-threads...

I'd appreciate some help with this problem.  If any more details are
needed, I can trace some more specifically with gdb.  I couldn't really
see the problem - it seemed like a plain call to gethostbyaddr(), but
perhaps some thread thing messed up there.

  Thanks, any help appreciated,
  -- Tom

P.S., would appreciate a Cc: to me in the reply, as I'm not sure how long
I would keep checking the archives for an answer...

-- 
  Tom Alsberg - hacker (being the best description fitting this space)
  Web page:	http://www.cs.huji.ac.il/~alsbergt/
DISCLAIMER:  The above message does not even necessarily represent what
my fingers have typed on the keyboard, save anything further.