Closed
Bug 1453003
Opened 6 years ago
Closed 6 years ago
Occasional process crash with OSX crash report
Categories
(Core :: Gecko Profiler, enhancement)
Core
Gecko Profiler
Tracking
()
RESOLVED
FIXED
mozilla61
Tracking | Status | |
---|---|---|
firefox61 | --- | fixed |
People
(Reporter: mossop, Assigned: mstange)
Details
Attachments
(2 files)
A couple of times I've restarted Firefox to apply an update and after the app restarts I see an OSX crash report. The main app stays up so it suggests to me that one of the content processes is crashing.
Comment 1•6 years ago
|
||
The crash report shows that we're crashing in Thread 19, and here's that threads stack: 0 XUL 0x00000001117ad86c profiler_unregister_thread() + 588 1 XUL 0x000000010e37eaca nsProcess::Monitor(void*) + 266 2 libnss3.dylib 0x000000010e05a0cb _pt_root + 203 3 libsystem_pthread.dylib 0x00007fff603c16c1 _pthread_body + 340 4 libsystem_pthread.dylib 0x00007fff603c156d _pthread_start + 377 5 libsystem_pthread.dylib 0x00007fff603c0c5d thread_start + 13
Component: Untriaged → Gecko Profiler
Product: Firefox → Core
Assignee | ||
Comment 2•6 years ago
|
||
It's crashing on this line: MOZ_RELEASE_ASSERT(CorePS::Exists()); https://hg.mozilla.org/mozilla-central/file/30d72755b1749953d438199456f1524ce84ab5e5/tools/profiler/core/platform.cpp#l3148 And the main thread is running TLS destructors, so we've already left the main() function, so it makes sense that the profiler state CorePS has already been destroyed. This means that the nsProcess::Monitor thread is staying alive a lot longer than I thought. I think we have two options: 1. Ignore calls to process_unregister_thread() if the profiler has already been shut down. 2. Or don't profile the nsProcess::Monitor thread. I think it doesn't do anything that's interesting for performance. Nick, do you have any opinions on this? I don't know why this crash wasn't intercepted by the Firefox crash reporter.
Flags: needinfo?(n.nethercote)
Comment 3•6 years ago
|
||
> I think we have two options:
> 1. Ignore calls to process_unregister_thread() if the profiler has already
> been shut down.
> 2. Or don't profile the nsProcess::Monitor thread. I think it doesn't do
> anything that's interesting for performance.
I think we should do 1. It's a general-purpose solution that will work if there are any other similar threads, and it doesn't require an ad hoc judgment about the profile-worthiness of the nsProcess::Monitor thread.
Flags: needinfo?(n.nethercote)
Comment hidden (mozreview-request) |
Comment 5•6 years ago
|
||
mozreview-review |
Comment on attachment 8967610 [details] Bug 1453003 - Ignore calls to profiler_unregister_thread() that happen after the main thread has shut down. https://reviewboard.mozilla.org/r/236322/#review242100
Attachment #8967610 -
Flags: review?(n.nethercote) → review+
Pushed by mstange@themasta.com: https://hg.mozilla.org/integration/autoland/rev/fd7869d5d03b Ignore calls to profiler_unregister_thread() that happen after the main thread has shut down. r=njn
Pushed by ccoroiu@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/1b922c2a5667 Ignore calls to profiler_unregister_thread() that happen after the main thread has shut down. r=njn
Backout by ccoroiu@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/f6afc861a45f Backed out changeset fd7869d5d03b for browser-chrome failures at browser/components/preferences/in-content/tests/browser_fluent.js on a CLOSED TREE
Comment 9•6 years ago
|
||
Sorry, wrong backout, I reland it
Comment 10•6 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/1b922c2a5667
Status: NEW → RESOLVED
Closed: 6 years ago
status-firefox61:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla61
Updated•6 years ago
|
Assignee: nobody → mstange
You need to log in
before you can comment on or make changes to this bug.
Description
•