Crash in [@ memcpy | mozilla::ClientWebGLContext::DoReadPixels]
Categories
(Core :: Graphics: CanvasWebGL, defect, P3)
Tracking
()
People
(Reporter: pascalc, Assigned: aosmond)
References
Details
(Keywords: crash)
Crash Data
Attachments
(2 files)
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
6.47 KB,
patch
|
RyanVM
:
approval-mozilla-esr91+
|
Details | Diff | Splinter Review |
Crash report: https://crash-stats.mozilla.org/report/index/400c6455-8e7b-45d2-93ca-445f40210209
Reason: EXCEPTION_ACCESS_VIOLATION_READ
Top 10 frames of crashing thread:
0 vcruntime140.dll memcpy d:\agent\_work\3\s\src\vctools\crt\vcruntime\src\string\i386\memcpy.asm:596
1 xul.dll mozilla::ClientWebGLContext::DoReadPixels const dom/canvas/ClientWebGLContext.cpp:4654
2 xul.dll mozilla::ClientWebGLContext::BackBufferSnapshot dom/canvas/ClientWebGLContext.cpp:1037
3 xul.dll mozilla::ClientWebGLContext::GetSurfaceSnapshot dom/canvas/ClientWebGLContext.cpp:863
4 xul.dll mozilla::dom::HTMLCanvasElement::GetSurfaceSnapshot dom/html/HTMLCanvasElement.cpp:1269
5 xul.dll static nsLayoutUtils::SurfaceFromElement layout/base/nsLayoutUtils.cpp:7007
6 xul.dll static nsLayoutUtils::SurfaceFromElement layout/base/nsLayoutUtils.cpp:7100
7 xul.dll mozilla::dom::CanvasRenderingContext2D::DrawImage dom/canvas/CanvasRenderingContext2D.cpp:4517
8 xul.dll mozilla::dom::CanvasRenderingContext2D_Binding::drawImage dom/bindings/CanvasRenderingContext2DBinding.cpp:2717
9 xul.dll mozilla::dom::binding_detail::GenericMethod<mozilla::dom::binding_detail::NormalThisPolicy, mozilla::dom::binding_detail::ThrowExceptions> dom/bindings/BindingUtils.cpp:3231
It looks like a rather new signature since 85 beta 9 so maybe a signature change.
| Reporter | ||
Updated•4 years ago
|
| Reporter | ||
Comment 1•4 years ago
|
||
Jeff, could we get this bug triaged and assigned if necessary? Thanks!
Updated•4 years ago
|
Comment 2•4 years ago
|
||
Jim, this has been a pretty high-volume crash for the last few releases now. Is there anything we can do to bump the priority?
Updated•4 years ago
|
Comment 4•4 years ago
|
||
99% of these crash reports are from 32-bit Windows 7, 8.1, or 10.
Comment 5•4 years ago
|
||
This signature jumped from just a few crashes per day to about 150 per day around February 23–26. Firefox 86 was released on February 23, so perhaps this is a WebGL regression in 86? There were 2775 crashes from Release 86 but zero from Release 85.
| Assignee | ||
Comment 6•3 years ago
|
||
We never check if we successfully map in the shmem:
If we didn't the range will be nullptr / zero bytes, and hence the crash when we first deref it:
| Assignee | ||
Comment 7•3 years ago
|
||
Probably this is a virtual memory failure given the vast majority of the crashes are x86. So the shmem was successfully created on the other side, but we couldn't actually map it into the content process.
| Assignee | ||
Comment 8•3 years ago
|
||
We use webgl::RaiiShmem in a few places to read in pixel buffers from a
call to the compositor process. Shmems might fail to be mapped into our
process, probably due to virtual memory constraints, and we should check
for that condition.
Depends on D136355
Updated•3 years ago
|
| Assignee | ||
Updated•3 years ago
|
| Assignee | ||
Updated•3 years ago
|
Updated•3 years ago
|
Updated•3 years ago
|
Comment 9•3 years ago
|
||
Hi Andrew, is this close to landing?
Updated•3 years ago
|
| Assignee | ||
Comment 10•3 years ago
|
||
This is very much related to bug 1681861 so I am adding the signature here and duping it against this bug.
Comment 12•3 years ago
|
||
Comment 13•3 years ago
|
||
| bugherder | ||
Comment 14•3 years ago
|
||
This will require a bit of rebasing for ESR, but I think it'd be worth it given the volume of the DoReadPixels crashes there. Can you please attach a rebased patch and request approval when you get a chance, Andrew? Thanks!
| Assignee | ||
Comment 15•3 years ago
|
||
[Approval Request Comment]
If this is not a sec:{high,crit} bug, please state case for ESR consideration:
User impact if declined: Users will continue to experience a modest volume crash due to OOMs and WebGL
Fix Landed on Version: 99
Risk to taking this patch (and alternatives if risky): I was unable to successfully do a try push to 91 ESR, so I'm not sure if it builds / passes the WebGL test suite. We should confirm that.
See https://wiki.mozilla.org/Release_Management/ESR_Landing_Process for more info.
Comment 16•3 years ago
|
||
| Assignee | ||
Comment 17•3 years ago
|
||
(In reply to Ryan VanderMeulen [:RyanVM] from comment #16)
Try push:
https://treeherder.mozilla.org/jobs?repo=try&revision=c5fccb3e87c141d5d5224b21f8c7d8cb78271b62
Thanks, that looks good :).
Comment 18•3 years ago
|
||
Comment on attachment 9268316 [details] [diff] [review]
91 ESR patch
Fixes various WebGL crashes, approved for 91.8esr.
Comment 19•3 years ago
|
||
| bugherder uplift | ||
Description
•