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)

x86
macOS
defect
Not set
normal

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.
Thanks for the heads up and the pointers. Is there a particular reason you're doing this as a separate project?
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.
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)
Flags: needinfo?(mark)
I've tested also using the same addon and it seems to work fine for me.
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
> bootstrap_* APIs that have been broken Which ones, exactly?
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.
(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
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
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)
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.
Thanks, Mark! I guess we should just mark this WORKSFORME.
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → WORKSFORME
See Also: → 1174687
You need to log in before you can comment on or make changes to this bug.