Re: Mach-exception forwarding changed on Leopard?
site_archiver@lists.apple.com Delivered-To: darwin-dev@lists.apple.com -- Terr On Jun 13, 2008, at 2:58 AM, ward mcfarland <ward@megawolf.com> wrote: On 10.4, the mechanism works great. Not on 10.5, however, the application just "hangs", not processing any messages anymore (Activity Monitor says application not answering).
From the sampling, it looks like the exception-handling thread is stuck in catch_exception_raise_*() and does not want to continue.
Manually turning off blocking in my exception handler did the trick. I am pretty sure you need to do the same thing. -- w _______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-dev mailing list (Darwin-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-dev/tlambert%40apple.com _______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-dev mailing list (Darwin-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-dev/site_archiver%40lists.appl... The crash reporter exception mechanim was changed in Leopard to reduce false reports from normally terminating processes and processes receiving normally fatal signals which have handlers that would let them recover successfully (e.g. Implemtation of memory mapping in a SIGSEGV or stack management on guard pages in a SIGBUS). You are likely looking at the wrong exception type, and still sitting on the exception for the signal path rather than the one for crashreporter. I'm not sure this is documented anywhere but the xnu source code, which is published. I implement my own exception handler and found a similar thing. The first time, it works fine. Subsequent tries hung (even force quit took 2 or 3 tries to get it to quit). A little investigation and some luck showed me that sigprocmask was turned ON for all signals except sigkill and sigstop. The opposite of what the man page says and opposite to prior behavior, when this mask was not changed. This email sent to tlambert@apple.com This email sent to site_archiver@lists.apple.com
participants (1)
-
Terry Lambert