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: Justin Walker <justin@xxxxxxx>
Date: Sat, 6 Dec 2003 16:07:43 -0800

On Saturday, December 6, 2003, at 03:00 PM, Guy Harris wrote:

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.

Good call. Could be that there's a call from the signal handler (like a call to malloc, that ends up having to call vm_allocate()) that causes the thread, already awaiting a reply, to get something on the reply port that doesn't match what it's expecting.

Cheers,

Justin

--
Justin C. Walker, Curmudgeon-At-Large  *
Institute for General Semantics        |   If you're not confused,
                                       |   You're not paying attention
*--------------------------------------*-------------------------------*