CompositorBridgeParent destruction semantics aren't enforced properly
Categories
(Core :: IPC, defect)
Tracking
()
People
(Reporter: bradwerth, Assigned: bradwerth)
References
Details
Attachments
(1 file)
It is important that CompositorBridgeParent::ActorDestroy
must be called before a CompositorBridgeParent
is destroyed. Failure to do so can lead to IPC problem, possibly crashes.
As noted by sotaro elsewhere:
Current implementation expects that CompositorBridgeParent is alive when WebRenderBridgeParent is alive. When CompositorBridgeParent is destroyed, CompositorBridgeParent::StopAndClearResources() should be called. And it seems not safe to call DestroyCompositor() from nsChildView::~nsChildView().
And also:
I wonder if we need to handle also ActorDealloc() in addition to ActorDestroy().
This bug is intended to cover enforcement of these semantics.
Assignee | ||
Comment 1•3 years ago
|
||
Assignee | ||
Comment 2•3 years ago
|
||
Assignee | ||
Updated•3 years ago
|
Pushed by bwerth@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/1cf8864ed737 Part 1: Add diagnostic asserts to ~CompositorBridgeParent(). r=sotaro
Comment 4•3 years ago
|
||
I also added gfxCriticalNote to CompositorBridgeParent::~CompositorBridgeParent() by Bug 1697090. It might help for crash report.
Comment 5•3 years ago
|
||
bugherder |
Assignee | ||
Comment 6•3 years ago
|
||
Several bugs have landed that have improved these semantics, including Bug 1710347 and Bug 1700848, which addresses the core issue of this bug.
Description
•