Closed Bug 1699201 Opened 3 years ago Closed 3 years ago

Moz crash in release - MOZ_CRASH(Illegal ID in DispatchCommand)

Categories

(Core :: Graphics: CanvasWebGL, defect)

defect

Tracking

()

RESOLVED FIXED
89 Branch
Tracking Status
firefox89 --- fixed

People

(Reporter: jimm, Assigned: jgilbert)

References

(Regressed 1 open bug, )

Details

(Keywords: perf-alert)

Attachments

(2 files)

The graphics team has been looking at crash data int eh gpu process. We should have better visibility into top crashes here shortly using the crash ping telemetry. One issue that showed up in a list of top MOZ_CRASH reasons appears to be related to WebGL remoting -

MOZ_CRASH(Illegal ID in DispatchCommand)
https://searchfox.org/mozilla-central/rev/1a47a74bd5ba89f2474aa27c40bd478e853f3276/dom/canvas/WebGLCommandQueue.h#195

https://sql.telemetry.mozilla.org/queries/78731/source?p_channel=release&p_version=86

Looks like something Jeff might want to take a look at.

I'll be adding better diagnostic info here as part of this.
What I've found is that it's in TexImage with a 16000x8000 image upload that Deserialize fails. What happens is we make a call to CreateDataSourceSurfaceWithStride but AllowedSurfaceSize rejects our attempt, as the total byte size (512MB) is larger than our chosen max resource size (500MB).

I have a feeling we'll need to remove/reconfigure the max resource size. D3D (so D2D too) has a max resource size, but we only want to wrap a raw cpu data array. I though that's what CreateDataSourceSurfaceWithStride would do, but maybe I need a different entrypoint.

There's always CreateWrappingDataSourceSurface if we need to provide our own data, but that seems like a hack to me.

Assignee: nobody → jgilbert
  • Assert initial shmem alignments match expectation.
Pushed by jgilbert@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/759361b30156
Pretty-print Deserialize failure func name and badArgId. r=lsalzman
https://hg.mozilla.org/integration/autoland/rev/758d677f4da1
Wrap shmem for TexUnpackBlobDesc's DataSourceSurface deser. r=lsalzman
Regressions: 1705863
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 89 Branch

== Change summary for alert #29744 (as of Mon, 19 Apr 2021 20:46:54 GMT) ==

Improvements:

Ratio Suite Test Platform Options Absolute values (old vs new)
6% motionmark_webgl (docs) 3DGraphics-WebGL macosx1015-64-shippable-qr e10s stylo webgl-ipc webrender 14.00 -> 14.81
5% motionmark_webgl (docs) 3DGraphics-WebGL macosx1015-64-shippable e10s stylo 14.04 -> 14.80
5% motionmark_webgl (docs) 3DGraphics-WebGL macosx1015-64-shippable-qr e10s stylo webrender 14.02 -> 14.73

For up to date results, see: https://treeherder.mozilla.org/perfherder/alerts?id=29744

Plausible but surprising. I wouldn't think that texImage(Element) would show up so strongly there.

You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: