Closed Bug 1283375 Opened 8 years ago Closed 8 years ago

Race condition when recycling plugin textures

Categories

(Core :: Graphics: Layers, defect)

defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 1280839
Tracking Status
firefox49 --- affected

People

(Reporter: dvander, Assigned: dvander)

References

Details

I'm hitting a MOZ_ASSERT(!mLocked) assert in TextureClient when trying the Flash beta [1]. My guess is that we're posting a Recycle task to the ImageBridge thread, which races with us calling Lock() on the main thread.

Nical, does that analysis seem plausible, and if so, what can we do?

[1] https://dxr.mozilla.org/mozilla-central/source/gfx/layers/client/TextureClient.cpp#752
[2] https://dxr.mozilla.org/mozilla-central/source/dom/plugins/ipc/PluginInstanceParent.cpp#803
Flags: needinfo?(nical.bugzilla)
Yes, TextureClientRecycleTask has a problem. I just removed it by Bug 1280839. It is in m-i now.
Flags: needinfo?(nical.bugzilla)
To solve the race condition we need to remove TextureClientRecycleTask. And it is in Bug 1280839.
(In reply to David Anderson [:dvander] from comment #0)
> 
> [1]
> https://dxr.mozilla.org/mozilla-central/source/gfx/layers/client/
> TextureClient.cpp#752

The lock check is added by Bug 1266396. Then it affect firefox 49.
Blocks: 1266396
(In reply to Sotaro Ikeda [:sotaro] from comment #2)
> To solve the race condition we need to remove TextureClientRecycleTask. And
> it is in Bug 1280839.

I received the test content offline and confirmed that Bug 1280839 addressed the MOZ_ASSERT(!mLocked) assert.
Status: ASSIGNED → RESOLVED
Closed: 8 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.