• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Mach-exception forwarding changed on Leopard?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Mach-exception forwarding changed on Leopard?


  • Subject: Re: Mach-exception forwarding changed on Leopard?
  • From: Terry Lambert <email@hidden>
  • Date: Fri, 13 Jun 2008 04:41:46 -0700

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.

-- Terr

On Jun 13, 2008, at 2:58 AM, ward mcfarland <email@hidden> 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.


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.

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      (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden


References: 
 >Mach-exception forwarding changed on Leopard? (From: Carl Seleborg <email@hidden>)
 >Re: Mach-exception forwarding changed on Leopard? (From: ward mcfarland <email@hidden>)

  • Prev by Date: Re: Mach-exception forwarding changed on Leopard?
  • Next by Date: Re: Diskarbitration 10.3 and 10.4
  • Previous by thread: Re: Mach-exception forwarding changed on Leopard?
  • Next by thread: Re: Mach-exception forwarding changed on Leopard?
  • Index(es):
    • Date
    • Thread