Closed Bug 1618868 Opened 5 years ago Closed 5 years ago

Intermittent webgl mochitest failure increase when remote canvas enabled.

Categories

(Core :: Graphics, defect, P1)

All
Windows
defect

Tracking

()

RESOLVED FIXED
mozilla77
Tracking Status
firefox-esr68 --- unaffected
firefox73 --- disabled
firefox74 --- disabled
firefox75 --- disabled
firefox76 --- disabled
firefox77 --- fixed

People

(Reporter: bobowen, Assigned: bobowen)

References

(Regression)

Details

(Keywords: regression)

Attachments

(3 files)

The first patch for bug 1598585 causes an increase in intermittent webgl test failures.

This patch changed the canvas thread handling, so my guess is that this is causing a hang somehow in the GPU process:
https://hg.mozilla.org/try/rev/6b300b00fc72832c6bb183760539c4b059db8479

No idea as to why webgl tests trigger this more than others, perhaps more of those tests also interact with canvas 2D as well.

Try push with remote canvas enabled after that patch:
https://treeherder.mozilla.org/#/jobs?repo=try&revision=3dac49a7bacd9ed57d7eb1f9b5ff86dc8ff01db9

Try push with remote canvas enabled before that patch:
https://treeherder.mozilla.org/#/jobs?repo=try&revision=fb9dcddb8cdde60636c45f161768636217c8a687

One of the crashes I sometimes see in the webgl tests is the parent process waiting for PCompositorBridgeChild::SendWillClose.
Another I'd missed in a reftest was the parent waiting for PImageBridgeChild::SendWillClose.

So this seems to suggest a hang in the compositor thread of the GPU process.

I've found the race on Canvas thread shutdown in Debug builds.
Try push with potential fix:
https://treeherder.mozilla.org/#/jobs?repo=try&revision=c60316af852fca77fd19b225652f1c688a46ce25

This fixes an issue with the AboutToWait check. It is possible that this could
be done without this, but while there might be a very slight performance hit, it
seems to be smaller than the general noise in the tests.

Depends on D70335

This also adds checks for the other side closing during the ReturnRead and
ReturnWrite loops.

Depends on D70336

Pushed by bobowencode@gmail.com: https://hg.mozilla.org/integration/autoland/rev/f2ade35d7588 Part 1: Call CanvasTranslators() before CanvasThreadHolder::ReleaseOnCompositorThread to avoid race. r=mattwoodrow https://hg.mozilla.org/integration/autoland/rev/0ab9d2f38280 Part 2: Make counts and states in CanvasEventRingBuffer footers SequentiallyConsistent. r=jrmuizel https://hg.mozilla.org/integration/autoland/rev/6d5126a36758 Part 3: Fix failure test race in CanvasEventRingBuffer::ReturnRead. r=jrmuizel
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla77

Since the status are different for nightly and release, what's the status for beta?
For more information, please visit auto_nag documentation.

Has Regression Range: --- → yes
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: