Closed
Bug 1402739
Opened 7 years ago
Closed 7 years ago
Fix mutex handling around async ImageContainer
Categories
(Core :: Graphics: Layers, defect, P3)
Core
Graphics: Layers
Tracking
()
RESOLVED
FIXED
mozilla58
Tracking | Status | |
---|---|---|
firefox57 | --- | unaffected |
firefox58 | --- | fixed |
People
(Reporter: sotaro, Assigned: sotaro)
References
Details
(Whiteboard: [gfx-noted])
Attachments
(1 file, 2 obsolete files)
8.26 KB,
patch
|
nical
:
review+
|
Details | Diff | Splinter Review |
It seems that mutex handling around async ImageContainer seems to have a risk of deadlock. And there is a place that mutex is not held correctly. For example ImageBridgeChild::UpdateTextureFactoryIdentifier() call ImageContainer::DropImageClient() during holding mContainerMapLock. The DropImageClient() holds ImageContainer::mRecursiveMutex. It could cause the dead lock if ImageContainer::EnsureImageClient() is in the middle of calling. ImageContainer::EnsureImageClient() updates ImageContainer::mNotifyCompositeListener and GetImageContainerListener() returns it without holding mutex.
Assignee | ||
Updated•7 years ago
|
Assignee: nobody → sotaro.ikeda.g
Assignee | ||
Comment 1•7 years ago
|
||
Assignee | ||
Comment 2•7 years ago
|
||
Attachment #8911623 -
Attachment is obsolete: true
Assignee | ||
Comment 3•7 years ago
|
||
Attachment #8911624 -
Attachment is obsolete: true
Assignee | ||
Comment 4•7 years ago
|
||
https://treeherder.mozilla.org/#/jobs?repo=try&revision=1101259e46c17d1adc98920e9f1b00663ec1134d
Assignee | ||
Updated•7 years ago
|
Attachment #8911630 -
Flags: review?(nical.bugzilla)
Updated•7 years ago
|
Attachment #8911630 -
Flags: review?(nical.bugzilla) → review+
Is this something we should consider uplifting to 57?
status-firefox57:
--- → affected
status-firefox58:
--- → affected
Flags: needinfo?(sotaro.ikeda.g)
Priority: -- → P3
Whiteboard: [gfx-noted]
Assignee | ||
Comment 6•7 years ago
|
||
(In reply to Milan Sreckovic [:milan] from comment #5) > Is this something we should consider uplifting to 57? Main fix of addressing deadlock could happen only when WebRender is enabled. Then it seems not necessary to uplift.
Flags: needinfo?(sotaro.ikeda.g)
Pushed by sikeda@mozilla.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/9db1c3303473 Fix mutex handling around async ImageContainer r=nical
Comment 8•7 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/9db1c3303473
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla58
Updated•7 years ago
|
You need to log in
before you can comment on or make changes to this bug.
Description
•