Closed Bug 1805347 Opened 1 year ago Closed 2 months ago

On a Js1k demo, showing devtools can make parts of the Browser UI black/blank

Categories

(Core :: Graphics: WebRender, defect)

defect

Tracking

()

RESOLVED FIXED
123 Branch
Tracking Status
firefox-esr102 --- wontfix
firefox-esr115 --- wontfix
firefox108 --- wontfix
firefox109 --- wontfix
firefox110 --- wontfix
firefox123 --- fixed

People

(Reporter: mayankleoboy1, Assigned: gw)

References

(Blocks 1 open bug)

Details

(Keywords: correctness, regression)

Attachments

(3 files)

Create new profile.
Go to https://js1k.com/2019-x/demo/4027

Press and hold the F12 key - this will rapidly open and close the Developer panel

AR: Elements of the browser UI (Menu bar, close buttons) will become blank, and the scrollbar area will become black.

Regression:
https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=ab7decc3020866de71069e01557f9d3c5fe7da59&tochange=b85e871f6a8d57cdc744634dadb2b0af88422504

If you cant repro, try changing the width of the dev pane, or try moving the dev pane to the bottom of the screen.

Attached file about:support
Keywords: regression
Component: Theme → General
Product: Firefox → DevTools

I guess people from Graphic would have a better view of what could be happening here.
Mayank, could you try https://mozilla.github.io/mozregression/ to get a regression window?

Component: General → Graphics
Flags: needinfo?(mayankleoboy1)
Product: DevTools → Core

Regression range is in the first comment.

Flags: needinfo?(mayankleoboy1)

This bug has been marked as a regression. Setting status flag for Nightly to affected.

Please re-run mozregression with --pref gfx.webrender.all:true.
bug 1702989 enabled WebRender for this GPU on Windows.

Description: AMD Radeon(TM) Graphics
Vendor ID: 0x1002
Device ID: 0x1638

I get this regression range with webrender on

https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=b422dd886e036907f35269f381f43785873c5296&tochange=69be3221f49a2acb92b734baf725e19bdf9a4fd9

On mac it's pretty easy to trigger the bug, don't need to hold F12, just open dev tools and close it. And it screws up the browser UI, not just inside the content window.

And I get the same regression range on Windows.

Tested with Nightly and ESR 102.5.0 on Debian Testing:
Tab text and window buttons disappear if I zoom out (at 80% or lower). The header is partially corrupted as if there is a stale tile.
It can further corrupt and Firefox becomes "transparent" in that place, I see what's behind Firefox: It might flicker between stale tile(s) of the header bar and of what was on screen at that place (desktop background image, if I minimize and restore the window. Or the color picker if I open and close it).
I made a screencast with OBS of this, but the video doesn't contain what I saw, the affected tiles of the header are just black in the video.
The header's background gradient is missing at some zoom levels.

Component: Graphics → Graphics: WebRender
Keywords: correctness
OS: Unspecified → All
Hardware: Unspecified → All

Enforcing SW WR and disabling partial present, accelerated canvas, backdrop filter, etc. doesn't help,
everything including "transparent" tile is still reproducible:
mozregression --launch 2022-12-15 -a https://js1k.com/2019-x/demo/4027 --pref gfx.webrender.allow-partial-present-buffer-age:false gfx.webrender.max-partial-present-rects:0 gfx.webrender.pbo-uploads:false gfx.webrender.debug.texture-cache.clear-evicted:false gfx.webrender.enable-item-cache:false gfx.webrender.multithreading:false gfx.webrender.svg-images:false gfx.webrender.use-optimized-shaders:false layout.css.backdrop-filter.enabled:false gfx.canvas.accelerated:false gfx.webrender.software:true

Hmm, it doesn't seem to be that complicated of a page. I wonder what the reduced testcase would look like. Maybe we just have too many display items and that is tripping some problem? No warnings or errors in a debug build in the console or about:support.

When I set pref gfx.webrender.debug.force-picture-invalidation = true, I could reproduce the similar symptom easily. Then I wonder if it is related to Webrender picture cache. "pref gfx.webrender.debug.force-picture-invalidation" was added by Bug 1678326.

With "pref gfx.webrender.debug.force-picture-invalidation = true", I got the following regression range.

https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=b422dd886e036907f35269f381f43785873c5296&tochange=69be3221f49a2acb92b734baf725e19bdf9a4fd9

I wonder if Bug 1692250 and Bug 1694305 might be related to the bug.

:nical, :gw, can you comment to comment 13?

Flags: needinfo?(nical.bugzilla)
Flags: needinfo?(gwatson)
Severity: -- → S3
Attached file testcase.htm

Standalone testcase that repros part of the bug. On pressing F12, the text on the title bar becomes blank.

Unfortunately I suspect that the regression range points to https://hg.mozilla.org/mozilla-central/rev/d7f59acda4f9ff703581669bb072fabbb690254c which enabled webrender on AMD GPUs.

Mayank, could you do another regression range with webrender manually enabled (I think that the "gfx.webrender.all" pref would do it)?

Flags: needinfo?(nical.bugzilla) → needinfo?(mayankleoboy1)
Flags: needinfo?(mayankleoboy1)
Flags: needinfo?(nical.bugzilla)

(I got the same regression range on Gnome Wayland/Debian Testing/Intel.)

Summary: On a Js1k demo, rapidly pressing F12 can make the Browser UI black/blank → On a Js1k demo, showing devtools can make parts of the Browser UI black/blank
Assignee: nobody → gwatson
Flags: needinfo?(gwatson)
Flags: needinfo?(nical.bugzilla)
No longer blocks: gfx-triage
See Also: → 1818869
See Also: → 1857943
See Also: → 1840988

I can repro this (or similar) on current release but not on nightly. Is anyone still able to repro on nightly?

Flags: needinfo?(mayankleoboy1)

(In reply to Glenn Watson [:gw] from comment #19)

I can repro this (or similar) on current release but not on nightly. Is anyone still able to repro on nightly?

I cant repro this bug on nightly.
I can still repro bug 1857943 .
I cant repro the testcase from bug 1840988 , but can repro the original STR from its first comment (bug 1840988 comment #0)

Flags: needinfo?(mayankleoboy1) → needinfo?(gwatson)

I believe this is the same underlying cause as 1840988 - which is that we create too many render tasks for the shader indexing method to handle. I have a couple of ideas to remove this limitation, I'll prototype them this week and see which is most suitable.

Flags: needinfo?(gwatson)
Depends on: 1881978

This is fixed on latest Nightly.

Status: NEW → RESOLVED
Closed: 2 months ago
Resolution: --- → FIXED
Depends on: 1870803
Target Milestone: --- → 123 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: