Closed
Bug 1308398
Opened 8 years ago
Closed 8 years ago
Fix shutdown leaks in the GPU process
Categories
(Core :: Graphics, defect)
Core
Graphics
Tracking
()
RESOLVED
FIXED
mozilla52
Tracking | Status | |
---|---|---|
firefox52 | --- | fixed |
People
(Reporter: dvander, Assigned: dvander)
References
Details
Attachments
(3 files)
2.34 KB,
patch
|
billm
:
review+
|
Details | Diff | Splinter Review |
2.52 KB,
patch
|
mattwoodrow
:
review+
|
Details | Diff | Splinter Review |
1.69 KB,
patch
|
billm
:
review+
|
Details | Diff | Splinter Review |
These are all pretty consistent on TBPL.
Assignee | ||
Comment 1•8 years ago
|
||
nsThreadManager::Init (from XPCOM initialization) was racing with the link thread trying to post a connected message. The result was, NS_DispatchToMainThread sometimes didn't see a main thread, and leaked the runnable.
This patch uses the same fix as ContentChild: just initialize nsThreadManager manually before calling Open() on the top-level actor.
Attachment #8798748 -
Flags: review?(wmccloskey)
Assignee | ||
Comment 2•8 years ago
|
||
Two bugs here. First, VsyncBridgeParent was never assigned to anything so the shutdown call would never happen. Second, the shutdown implementation could access CompositorThreadHolder after it was shut down. This refactors the Shutdown function so that can't happen.
Attachment #8798750 -
Flags: review?(matt.woodrow)
Assignee | ||
Comment 3•8 years ago
|
||
nsAppShell expects XPCOM to still exist when we finally return out of the event loop, otherwise it leaks stuff. This moves XPCOM shutdown to GPUParent::CleanUp, which mirrors what ContentChild does.
Attachment #8798751 -
Flags: review?(wmccloskey)
Assignee | ||
Updated•8 years ago
|
Summary: Fix leaks in the GPU process → Fix shutdown leaks in the GPU process
Updated•8 years ago
|
Attachment #8798750 -
Flags: review?(matt.woodrow) → review+
Attachment #8798748 -
Flags: review?(wmccloskey) → review+
Attachment #8798751 -
Flags: review?(wmccloskey) → review+
Pushed by danderson@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/f781d8fa1cf3
Ensure nsThreadManager is started before IPC in the GPU process. (bug 1308398 part 1, r=billm)
https://hg.mozilla.org/integration/mozilla-inbound/rev/7030c3219a1e
Fix VsyncBridgeParent leaking on GPU process shutdown. (bug 1308398 part 2, r=mattwoodrow)
https://hg.mozilla.org/integration/mozilla-inbound/rev/b4b3c7e78cfd
Move GPU process XPCOM shutdown to ProcessChild::CleanUp. (bug 1308398 part 3, r=billm)
Comment 5•8 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/f781d8fa1cf3
https://hg.mozilla.org/mozilla-central/rev/7030c3219a1e
https://hg.mozilla.org/mozilla-central/rev/b4b3c7e78cfd
Status: ASSIGNED → RESOLVED
Closed: 8 years ago
status-firefox52:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla52
You need to log in
before you can comment on or make changes to this bug.
Description
•