Closed
Bug 1052807
Opened 11 years ago
Closed 11 years ago
The Breakpad client does not work on Mac OS X 10.10 (“Yosemite”)
Categories
(Toolkit :: Crash Reporting, defect)
Tracking
()
RESOLVED
WORKSFORME
People
(Reporter: mark, Unassigned)
References
Details
Because of certain APIs that have been broken in Mac OS X 10.10 (“Yosemite”), we (Chrome) have found that Breakpad does not work at all on that OS version. The existing Breakpad Mac exception-handling client relies on some bootstrap_* APIs that have been broken (and, incidentally, simultaneously marked as deprecated).
We are working on a replacement for the Mac exception-handling client at https://crashpad.googlecode.com/. See also https://crbug.com/390217.
For now, the Crashpad client will write minidump files compatible with Breakpad’s server-side processing machinery.
Firefox and other Mozilla-based products may be affected as well, and may wish to transition to Crashpad.
Comment 1•11 years ago
|
||
Thanks for the heads up and the pointers. Is there a particular reason you're doing this as a separate project?
| Reporter | ||
Comment 2•11 years ago
|
||
With Breakpad’s age, there are some design- and implementation-level things we’d like to be able to revisit. There’s a lot of accumulated stuff in Breakpad that we’d rather not have to support or deal with.
Comment 3•11 years ago
|
||
I just used Ted Mielczarek's CrashMe extension to crash FF 31 on Yosemite DP5, and had no problems with Breakpad:
https://crash-stats.mozilla.com/report/index/db116752-93d9-4532-aebe-6805f2140818
So ... what's up :-)
(By the way, you'll probably need the latest version of the CrashMe extension, available here:
http://ted.mielczarek.org/mozilla/crashme.html)
Updated•11 years ago
|
Flags: needinfo?(mark)
Comment 4•11 years ago
|
||
I've tested also using the same addon and it seems to work fine for me.
Comment 5•11 years ago
|
||
I just tried again with a Flash plugin running in a separate process (plugin-container) -- which I understand makes a difference to how Breakpad operates.
Once again I had no problems:
https://crash-stats.mozilla.com/report/index/17fa2f78-5b74-4da4-81c5-ec90e2140818
Comment 6•11 years ago
|
||
> bootstrap_* APIs that have been broken
Which ones, exactly?
Comment 7•11 years ago
|
||
Mark, is Breakpad broken in all versions of Chrome (on Yosemite), or just some of them?
What are the breakage's symptoms? (In other words, what's the difference, from the user's point of view, between Breakpad working correctly in Chrome and the breakage you see on Yosemite?)
I'm beginning to wonder if this breakage might be 32-bit-only. That's one major difference between Chrome and Firefox on OS X -- the former is 32-bit only, while the latter is (mostly) 64-bit.
Comment 8•11 years ago
|
||
(Following up comment #7)
Oops, perhaps not.
I just tested with the CrashMe extension in FF 31 running in 32-bit mode on Yosemite DP5, and Breakpad appeared to work correctly (though the stack is much uglier -- much less complete):
https://crash-stats.mozilla.com/report/index/df1b0a83-66a8-4690-8ac1-a05af2140818
Comment 9•11 years ago
|
||
At Ted Mielczarek's suggestion, I tried crashing the test plugin ... and Breakpad still works fine:
https://crash-stats.mozilla.com/report/index/305d537e-4652-49c9-ad16-d7c7e2140818
So it's possible that Breakpad isn't broken at all (in any way) in Firefox on Yosemite.
To do this you need to install Test.plugin in /Library/Internet Plug-Ins/, load the following page, and click on the "Crash plugin" button.
http://people.mozilla.org/~tmielczarek/testplugincrash.html
| Reporter | ||
Comment 10•11 years ago
|
||
bootstrap_subset() and bootstrap_create_server() are both broken in 10.10. Both of these are called by OnDemandServer::Initialize() in breakpad/src/client/mac/Framework/OnDemandServer.mm. If Firefox doesn’t use Breakpad in this mode, it’s probably unaffected.
Flags: needinfo?(mark)
| Reporter | ||
Comment 11•11 years ago
|
||
Mozilla uses in-process minidump generation so it’s not affected by the bootstrap_*() API deprecation.
http://mxr.mozilla.org/mozilla-central/source/toolkit/crashreporter/nsExceptionHandler.cpp#1142, the “nullptr” at line 1165 is what keeps your minidump generation in-process.
Comment 12•11 years ago
|
||
Thanks, Mark!
I guess we should just mark this WORKSFORME.
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → WORKSFORME
You need to log in
before you can comment on or make changes to this bug.
Description
•