On OS X versions >= 10.5 and iOS versions >= 6 (likely earlier iOS versions as
well), exception handlers have MACH_EXCEPTION_CODES set.
ExceptionHandler::ForwardException() does not handle this case specifically, so
it goes into the default case of its switch statement (i.e., the exception is
not forwarded).
On iOS, exception forwarding occurs when Breakpad has not been able to
successfully write the minidump (otherwise, Breakpad exits after writing the
minidump). In this case, there appears to be a valid handler to forward the
exception to. Here is some representative information for the found handler:
Mask: 4e
Port: 14083
Behavior: 80000001
Flavor: 5
This handler does not appear to be our own, which in this case had port 16391
and appeared to be successfully uninstalled prior to the forwarding of the
exception.
Handling this case will be non-trivial, as there is no user stub for
mach_exception_raise() (so it would have to be generated via mig).
Original issue reported on code.google.com by blundell@chromium.org on 21 Nov 2013 at 3:57
Original issue reported on code.google.com by
blundell@chromium.org
on 21 Nov 2013 at 3:57