Closed
Bug 1305490
Opened 8 years ago
Closed 8 years ago
D3D11TextureData::UpdateFromSurface ASSERT crashes child when used by plugin
Categories
(Core :: Graphics: Layers, defect, P3)
Tracking
()
RESOLVED
FIXED
mozilla52
Tracking | Status | |
---|---|---|
firefox52 | --- | fixed |
People
(Reporter: handyman, Assigned: sotaro)
References
Details
(Keywords: crash, Whiteboard: [gfx-noted])
Attachments
(3 files, 1 obsolete file)
STR:
0. Launch Firefox x64
1. Go to https://www.fenoxo.com/play/playtits.html
Expected Result:
The plugin plays fine.
Actual Result:
CRASH!
--------
Running a debug build and connecting the debugger to the child and plugin processes shows that this assert triggers in the child process when the crash happens:
https://dxr.mozilla.org/mozilla-central/rev/29beaebdfaccbdaeb4c1ee5a43a9795ab015ef49/gfx/layers/d3d11/TextureD3D11.cpp#657
I've attached the plugin and content process stacks at the time of the crash. The pretty clearly show the communication that led to this situation.
Reporter | ||
Comment 1•8 years ago
|
||
Updated•8 years ago
|
Assignee | ||
Updated•8 years ago
|
Assignee: nobody → sotaro.ikeda.g
Assignee | ||
Comment 3•8 years ago
|
||
(In reply to David Parks [:handyman] from comment #0)
> Created attachment 8794957 [details]
> pluginproc.txt
>
> STR:
>
> 0. Launch Firefox x64
> 1. Go to https://www.fenoxo.com/play/playtits.html
I could reproduce the crash when async plugin rendering was used by flash plugin.
Assignee | ||
Comment 4•8 years ago
|
||
When TextureData::UpdateFromSurface() is not supported, TextureClient::UpdateFromSurface() fallbacks to DrawTarget approach on main thread. Plugin ipc runs on main thread, then the DrawTarget approach seems to work in this case.
https://dxr.mozilla.org/mozilla-central/source/gfx/layers/client/TextureClient.cpp#628
Assignee | ||
Comment 5•8 years ago
|
||
Assignee | ||
Updated•8 years ago
|
Attachment #8797913 -
Flags: review?(matt.woodrow)
Assignee | ||
Comment 6•8 years ago
|
||
Confirmed that attachment 8797913 [details] [diff] [review] addressed the crash.
Comment 7•8 years ago
|
||
Comment on attachment 8797913 [details] [diff] [review]
patch - Remove assert in D3D11TextureData::UpdateFromSurface()
Review of attachment 8797913 [details] [diff] [review]:
-----------------------------------------------------------------
This will fix the crash, but we still won't be able to upload.
Can you please instead wait until the patch from bug 1292923 lands and then pass the ALLOC_UPDATE_FROM_SURFACE flag to make sure we get an appropriate TextureClient.
Attachment #8797913 -
Flags: review?(matt.woodrow) → review-
Assignee | ||
Updated•8 years ago
|
Attachment #8797913 -
Attachment is obsolete: true
Assignee | ||
Comment 9•8 years ago
|
||
Assignee | ||
Updated•8 years ago
|
Attachment #8799629 -
Flags: review?(matt.woodrow)
Updated•8 years ago
|
Attachment #8799629 -
Flags: review?(matt.woodrow) → review+
Assignee | ||
Comment 10•8 years ago
|
||
Comment 11•8 years ago
|
||
Pushed by sikeda@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/1ecca76e7b94
Use ALLOC_UPDATE_FROM_SURFACE flag r=mattwoodrow
Comment 12•8 years ago
|
||
bugherder |
Status: NEW → RESOLVED
Closed: 8 years ago
status-firefox52:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla52
Comment 13•8 years ago
|
||
It looks like this change introduced a regression that broke Farmville 2 Flash game on Facebook from rendering correctly. Marked that down as https://bugzilla.mozilla.org/show_bug.cgi?id=1317984.
You need to log in
before you can comment on or make changes to this bug.
Description
•