Open Bug 1035892 Opened 6 years ago Updated 2 months ago
All 64-bit mode crashes on OS X with reason EXC
_BAD _ACCESS have crash addresses truncated to 32-bits
47 bytes, text/x-phabricator-request
|Details | Review|
[This bug is spun off from bug 1002564, which has grown too unwieldy. This bug covers issue #2 from bug 1002564 comment #14.] Bugs in OS X Breakpad code cause crashes with "reason" EXC_BAD_ACCESS to have their crash addresses > 0xffffffff truncated to 32 bits. (Crash addresses > 0x80000000 are also sign extended.) A patch for this was already posted at bug 1002564 comment #26. I'll update it to current trunk and repost it here.
I based this partly on the following patch from Vlad: http://people.mozilla.com/~vladimir/misc/breakpad-64-bit-exc.patch I also found valuable information here: http://stackoverflow.com/questions/2824105/handling-mach-exceptions-in-64bit-os-x-application The only real documentation for this stuff is in the xnu source code. The source for Apple's implementation of it is available at http://opensource.apple.com/. Unlike Vlad, I made Breakpad (and the OS) use 64-bit "subcodes" in both 64-bit and 32-bit mode. This works just fine in 32-bit mode (which I tested), and it makes the code simpler. Ted, if you think this needs more reviewers, please add them as you see fit. I've started tryserver builds here: https://tbpl.mozilla.org/?tree=Try&rev=d9283e658e9c
Assignee: nobody → smichaud
Assignee: smichaud → gsvelto
Status: NEW → ASSIGNED
Attachment #8452400 - Attachment is obsolete: true
Pushed by email@example.com: https://hg.mozilla.org/integration/autoland/rev/2b1ffc8004d5 Handle 64-bit addresses for EXC_BAD_ACCESS exceptions on Mac r=froydnj
4 months ago
You need to log in before you can comment on or make changes to this bug.