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
*--------------------------------------*-------------------------------*