Ethereal-users: Re: [Ethereal-users] Panther won't sniff?

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

From: "Guy Harris" <guy@xxxxxxxxxxxx>
Date: Sat, 6 Dec 2003 15:00:04 -0800 (PST)
Justin Walker said:
> You should have a crash log in either ~/Library/Logs/CrashReporter or
> /Library/Logs/CrashReporter called 'ethereal.crash.log'.  That file
> should contain a record of all crashes, with timestamps (latest last).
> The record should include a stack trace, which may help you (or perhaps
> this list) narrow down the problem.  The error seems to be
> Mach-specific, so you may have to take this to the darwin-development
> list.

Host name resolution (and a bunch of other lookups) are done in Mac OS X
by sending a Mach message to lookupd.  If a signal interrupts a process
blocked waiting for a reply, and the signal handler longjmp's out of the
lookup, the state of the code that sends messages to the lookupd is
inconsistent, and a subsequent attempt to send a message can crash.

The Ethereal code that does name lookups sets an alarm and catches SIGALRM
on UN*X systems, and longjmps out in the SIGALRM handler, to time out long
name lookups.  I've checked in a change not to do that on Mac OS X, which
should, hopefully, avoid this problem.