Closed Bug 1356262 Opened 7 years ago Closed 7 years ago

Assertion failure: mPuppetWidget->GetLayerManager()->GetBackendType() == LayersBackend::LAYERS_CLIENT || mPuppetWidget->GetLayerManager()->GetBackendType() == LayersBackend::LAYERS_WR, at dom/ipc/TabChild.cpp:3049

Categories

(Core :: DOM: Content Processes, defect)

defect
Not set
critical

Tracking

()

RESOLVED WONTFIX

People

(Reporter: intermittent-bug-filer, Assigned: kats)

References

Details

(Keywords: crash, intermittent-failure)

Crash Data

Attachments

(1 file)

I found this assertion failure in a windows 8 try run with webrender force-enabled. I don't think webrender is relevant here except that it's triggering a GPU process reset. I think what's happening here is that in bug 1351777 I made it so that the content process could create a basic layer manager in some scenarios, and when the GPU process gets reset in those scenarios this assertion fails because TabChild's layer manager will be a basic layer manager.

We can just update the assertion to allow this, I think.
Assignee: nobody → bugmail
Blocks: 1351777
Comment on attachment 8857982 [details]
Bug 1356262 - Don't assert if we get a GPU reset while a content process has a BasicLayerManager.

Hm, actually there might be something else going on here. I see the same assertion failure in RecvSetDocShellIsActive [1].

[1] https://treeherder.mozilla.org/logviewer.html#?job_id=90944636&repo=try&lineNumber=2825
Attachment #8857982 - Flags: review?(dvander)
Yeah it's definitely using a BasicLayerManager there. I'm guessing WebRender startup is getting hosed somehow and so we end up creating a content process with a BasicLayerManager, which then gets a RecvSetDocShellIsActive call? If it were not related to WebRender startup then I would expect to see this failure in current Windows 8 automated testing, but I haven't.
From further investigation, it seems this happens if webrender fails to start up properly. We end up using a BasicLayerManager in the content process. So once we fix the various webrender startup crashes and implement proper fallback to ClientLayerManager we shouldn't see this any more.

Also it looks like different win 8 jobs run on different hardware. So for example in the try push at [1], the plain mochitests have WR starting up fine and the tests run ok. The bc mochitests however seem to have a shader compilation error on startup and so WR fails to start up. In those cases you can still see this assertion.

[1] https://treeherder.mozilla.org/#/jobs?repo=try&revision=db7e9f22bb8ab7da5820bdd071cedde86d894219
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: