WebRender unavailable by runtime: Failed to create new surface. "GP+[GFX1-]: DCompositionSurface::BeginDraw failed: 0x80070057"
Categories
(Core :: Graphics: WebRender, defect)
Tracking
()
Tracking | Status | |
---|---|---|
firefox-esr68 | --- | unaffected |
firefox74 | --- | unaffected |
firefox75 | --- | unaffected |
firefox76 | --- | unaffected |
firefox77 | + | verified |
People
(Reporter: cpeterson, Assigned: gw)
References
(Regression)
Details
(Keywords: regression)
Attachments
(2 files)
I noticed that my Firefox is no longer able to use WebRender. I have Fission enabled and started seeing the "You are running Fission enabled without WebRender" warnings on every window I open today. I'm running 77 Nightly on Windows 10. This is a regression because I've been using Fission and WebRender together for months now.
My gfx.webrender.all
pref is set to true and about:support reports WebRender is Force enabled by pref
, but it also says WebRender is unavailable by runtime: Failed to create new surface
.
about:support lists a bunch of graphics errors like GP+[GFX1-]: DCompositionSurface::BeginDraw failed: 0x80070057
and WMF VPX video decoding is disabled due to a previous crash.
Reporter | ||
Comment 1•4 years ago
|
||
about:support
Updated•4 years ago
|
Comment 2•4 years ago
•
|
||
I also saw the following during opening gmail without fission.
- GP+[GFX1-]: DCompositionSurface::BeginDraw failed: 0x80070057
Comment 3•4 years ago
|
||
(In reply to Chris Peterson [:cpeterson] from comment #0)
and
WMF VPX video decoding is disabled due to a previous crash.
It seems Bug 1570046.
Reporter | ||
Comment 4•4 years ago
|
||
regressionwindow-wanted because I think this bug is a regression in Nightly within the last 1-2 days.
Comment 5•4 years ago
•
|
||
When I did mozregression for gmail STR of comment 2 it showed Bug 1627588
\28:47.93 INFO: No more integration revisions, bisection finished.
28:47.93 INFO: Last good revision: 3bc7f9b0801488d3d88be30e7789240993995959
28:47.94 INFO: First bad revision: c39512f89aedf7c0745137da9c8c09a54f9ab2e8
28:47.94 INFO: Pushlog:
https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=3bc7f9b0801488d3d88be30e7789240993995959&tochange=c39512f89aedf7c0745137da9c8c09a54f9ab2e8
Comment 6•4 years ago
•
|
||
When error happened aDirtyRect.size of DCLayerTree::CreateEGLSurfaceForCompositionSurface() was (0, 0). It seems that the size should not be (0, 0) for BeginDraw().
Comment 7•4 years ago
|
||
:gw, do you know when aDirtyRect.size could be (0, 0).
Updated•4 years ago
|
Assignee | ||
Comment 8•4 years ago
|
||
It's not clear to me how that can happen, yet. I'll try to have a look at it tomorrow. If it's more urgent than that, feel free to request a back out of the patch that caused the regression.
Comment 9•4 years ago
|
||
Based on the regression window provided by Sotaro in Comment 5, I will update the flags for this issue.
Updated•4 years ago
|
Updated•4 years ago
|
Reporter | ||
Comment 10•4 years ago
|
||
Was bug 1627588 backed out? WebRender is working correctly for me today and I no longer see "GP+[GFX1-]: DCompositionSurface::BeginDraw failed: 0x80070057" errors in about:support either.
Assignee | ||
Comment 11•4 years ago
|
||
No, that bug hasn't been backed out, as far as I know. So you're no longer able to reproduce it at all?
Assignee | ||
Comment 12•4 years ago
|
||
I can't seem to repro this at all, in gmail and/or fission enabled. Are either of you still able to reproduce it?
Reporter | ||
Comment 13•4 years ago
|
||
(In reply to Glenn Watson [:gw] from comment #11)
No, that bug hasn't been backed out, as far as I know. So you're no longer able to reproduce it at all?
I was no longer able to reproduce, but then I tried to use mozregression to determine if there was a code fix (versus a configuration change on my computer). I wasn't able to reproduce with mozregression's Firefox builds, but I did see the error in my main browser window (open in the background while I was bisecting). Perhaps there is an intermittent problem if multiple Firefoxes try to use WebRender simultaneously?
Assignee | ||
Comment 14•4 years ago
|
||
That seems unlikely, given the panic location / message, but maybe that does somehow trigger it. It's also likely that it may depend in some way on page content and how it was scrolled, as well as window size / resolution.
Comment 15•4 years ago
|
||
I could still reproduce it with latest nightly and latest m-c during loading gmail.
Assignee | ||
Comment 16•4 years ago
|
||
Previously, it was possible for a tile that had a valid scroll root
to have an empty valid (and dirty) rect due to the picture cache
clip rect, in some situations.
This could result in the tile not being tagged as off-screen, which
means it is added to the queue of tiles to be updated. On most
platforms this is benign, but the BeginDraw method of DirectComposition
fails if the dirty rect is empty.
This patch fixes the logic so that tiles that meet these conditions
are correctly tagged as not visible, and skipped from update queue.
Assignee | ||
Comment 17•4 years ago
|
||
I still can't reproduce this locally. However, from auditing the patch that caused the regression, I think I can see a code path that could cause this. I attached a patch that would fix this, if it's the cause of the problem. Would you be able to test locally, and see if it fixes the problem for you?
The try run with artifacts, if useful:
https://treeherder.mozilla.org/#/jobs?repo=try&revision=3f5f4e064129099d7987ddb8b5e0cca44399a9ef
Comment 18•4 years ago
|
||
(In reply to Glenn Watson [:gw] from comment #17)
I still can't reproduce this locally. However, from auditing the patch that caused the regression, I think I can see a code path that could cause this. I attached a patch that would fix this, if it's the cause of the problem. Would you be able to test locally, and see if it fixes the problem for you?
I could reproduce it on latest m-c and the patch addressed the problem for me!
Comment 19•4 years ago
|
||
Pushed by gwatson@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/73632227ba00 Fix panic caused by calling BeginDraw with empty dirty rect. r=sotaro
Updated•4 years ago
|
Comment 20•4 years ago
|
||
bugherder |
Reporter | ||
Comment 21•4 years ago
|
||
(In reply to Glenn Watson [:gw] from comment #17)
I still can't reproduce this locally. However, from auditing the patch that caused the regression, I think I can see a code path that could cause this. I attached a patch that would fix this, if it's the cause of the problem. Would you be able to test locally, and see if it fixes the problem for you?
The try run with artifacts, if useful:
https://treeherder.mozilla.org/#/jobs?repo=try&revision=3f5f4e064129099d7987ddb8b5e0cca44399a9ef
btw, I can no longer reproduce with official builds so I didn't test this try build. Something on my machine must have changed..
Updated•4 years ago
|
Comment 22•4 years ago
|
||
I could not reproduce the initial issue using an old Nightly from 2020-04-20 in order to verify the fix. Sotaro Ikeda, can you please check if this is still reproducible for you using Firefox 77.0b9?
Comment 23•4 years ago
|
||
(In reply to Bogdan Maris [:bogdan_maris], Release Desktop QA from comment #22)
Sotaro Ikeda, can you please check if this is still reproducible for you using Firefox 77.0b9?
It is not reproducible for me. The problem seems to be addressed.
Comment 24•4 years ago
|
||
(In reply to Sotaro Ikeda [:sotaro] from comment #23)
(In reply to Bogdan Maris [:bogdan_maris], Release Desktop QA from comment #22)
Sotaro Ikeda, can you please check if this is still reproducible for you using Firefox 77.0b9?
It is not reproducible for me. The problem seems to be addressed.
Thanks so much for checking, marking the bug accordingly.
Description
•