Closed Bug 1377936 Opened 6 years ago Closed 6 years ago

Crash in mozilla::layers::RenderViewPass::SetupPipeline

Categories

(Core :: Graphics, defect)

56 Branch
Unspecified
Windows 10
defect
Not set
critical

Tracking

()

RESOLVED FIXED
mozilla56
Tracking Status
firefox-esr52 --- unaffected
firefox54 --- unaffected
firefox55 --- unaffected
firefox56 --- fixed

People

(Reporter: marcia, Assigned: dvander)

Details

(Keywords: crash, regression)

Crash Data

Attachments

(1 file, 1 obsolete file)

This bug was filed from the Socorro interface and is 
report bp-d603662c-8087-4ea9-b4a0-4fa510170701.
=============================================================

Seen while looking at nightly crash data - crashes started using 20170630030203: http://bit.ly/2tJvKRw

Possible regression range based on Build ID: https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=d9a144b7b6d994fc9a497c53b13f51a2a654d85e&tochange=587daa4bdc4b40b7053f4ca3b74723ca747f3b52

Bug 1365879 touched code in this area - ni on dvander.
Flags: needinfo?(dvander)
Attached patch fixSplinter Review
Null check that container layers successfully created an intermediate surface. Since this could lead to empty batches, also skip SetupPipeline if the batch has no vertices or instances.

I have no idea why we failed to create an intermediate surface here, but it's possible we computed the size as (0, 0) or maybe it just legitimately failed to allocate.
Assignee: nobody → dvander
Status: NEW → ASSIGNED
Flags: needinfo?(dvander)
Attachment #8883180 - Flags: review?(matt.woodrow)
From looked into mini-dump, it is obvious that mSource pointed to NULL so it violate the read access. GraphicsCriticalError indicated that device removed happens before crashing. 

[G0][GFX1-]: Failed to create render target texture: 0x887a0005 (t=7471.31) |[G1][GFX1-]: GFX: AL_D3D11 abandoned sync (t=7471.39)

Based on this, the patch intend to add null check for mSource to skipping calling SetPSTexture(). Do you think if it is fine?
Attachment #8883209 - Flags: review?(dvander)
Comment on attachment 8883209 [details] [diff] [review]
0001-Bug-1377936-Add-null-check-for-mSource-and-its-textu.patch

Oops. It seems that David has proposed patch to fix it. I will clear the review.
Attachment #8883209 - Attachment is obsolete: true
Attachment #8883209 - Flags: review?(dvander)
Attachment #8883180 - Flags: review?(matt.woodrow) → review+
(In reply to Vincent Liu[:vliu] from comment #2)
> Created attachment 8883209 [details] [diff] [review]
> 0001-Bug-1377936-Add-null-check-for-mSource-and-its-textu.patch
> 
> From looked into mini-dump, it is obvious that mSource pointed to NULL so it
> violate the read access. GraphicsCriticalError indicated that device removed
> happens before crashing. 
> 
> [G0][GFX1-]: Failed to create render target texture: 0x887a0005 (t=7471.31)
> |[G1][GFX1-]: GFX: AL_D3D11 abandoned sync (t=7471.39)
> 
> Based on this, the patch intend to add null check for mSource to skipping
> calling SetPSTexture(). Do you think if it is fine?

Thanks for tracking that down, I missed the device reset. That explains the unusual circumstances.
Pushed by danderson@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/092cf837ffea
Ignore container layer batches that don't have an intermediate surface. (bug 1377936, r=mattwoodrow)
https://hg.mozilla.org/mozilla-central/rev/092cf837ffea
Status: ASSIGNED → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla56
You need to log in before you can comment on or make changes to this bug.