Rendering issues (black boxes, black screens, duplicated screens when scrolling, garbled screens)

NEW
Unassigned

Status

()

Core
Graphics
P3
normal
2 years ago
a year ago

People

(Reporter: clouserw, Unassigned)

Tracking

(Depends on: 1 bug)

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: gfx-noted)

Attachments

(6 attachments)

(Reporter)

Description

2 years ago
Created attachment 8788223 [details]
WEBM_50-147309564813302089.webm

I'm running two Nightly profiles on two separate Linux machines and can reproduce this in all four profiles reliably over the past few weeks.

All profiles are dirty.  I've tried this with add-ons enabled and without and still reproduce it.

After a little use (can be as little as 15 minutes) I begin seeing black boxes and rendering errors on the page.  More complex pages are more likely to exhibit the problem, especially when there are actions with the mouse hovering.  It gets worse (to unusable) with more use.  A restart of the browser makes things usable again.

I'm attaching a video of the duplicated scrolling problem.  Oddly, this only happens with the mousewheel or arrowkeys.  Moving the scrollbar works as expected (which you can see at the end of the video).

Here is the Graphics section of about:support:

Graphics
Features
Compositing	OpenGL
Asynchronous Pan/Zoom	wheel input enabled; touch input enabled
WebGL Renderer	NVIDIA Corporation -- GeForce GTX 970/PCIe/SSE2
WebGL2 Renderer	NVIDIA Corporation -- GeForce GTX 970/PCIe/SSE2
Hardware H264 Decoding	No
Audio Backend	alsa
GPU #1
Active	Yes
Description	NVIDIA Corporation -- GeForce GTX 970/PCIe/SSE2
Vendor ID	NVIDIA Corporation
Device ID	GeForce GTX 970/PCIe/SSE2
Driver Version	4.5.0 NVIDIA 352.63
Diagnostics
AzureCanvasAccelerated	0
AzureCanvasBackend	skia
AzureContentBackend	skia
AzureFallbackCanvasBackend	none
CairoUseXRender	0
failures	[GFX1-]: Failed to create a valid ShmemTextureHost
Failure Log
(#0) Error	Failed to create a valid ShmemTextureHost
(#5784) 	CP+[GFX1]: Failed 2 buffer db=0 dw=0 for 232, 72, 1710, 4584
(#5785) 	CP+[GFX1]: Failed 2 buffer db=0 dw=0 for 232, 72, 1710, 4584
(#5786) 	CP+[GFX1]: Failed 2 buffer db=0 dw=0 for 232, 72, 1710, 4584
(#5787) 	CP+[GFX1]: Failed 2 buffer db=0 dw=0 for 232, 72, 1710, 4584
(#5788) 	CP+[GFX1]: Failed 2 buffer db=0 dw=0 for 232, 72, 1710, 4584
(#5789) 	CP+[GFX1]: Failed 2 buffer db=0 dw=0 for 232, 72, 1710, 4584
(#5790) 	CP+[GFX1]: Failed 2 buffer db=0 dw=0 for 232, 72, 1710, 4584
(#5791) 	CP+[GFX1]: Failed 2 buffer db=0 dw=0 for 232, 72, 1710, 4584
(#5792) 	CP+[GFX1]: Failed 2 buffer db=0 dw=0 for 232, 72, 1710, 4584
(#5793) 	CP+[GFX1]: Failed 2 buffer db=0 dw=0 for 232, 72, 1710, 4584
(#5794) 	CP+[GFX1]: Failed 2 buffer db=0 dw=0 for 232, 72, 1710, 4584
(#5795) 	CP+[GFX1]: Failed 2 buffer db=0 dw=0 for 232, 72, 1710, 4584
(#5796) 	CP+[GFX1]: Failed 2 buffer db=0 dw=0 for 232, 72, 1710, 4584
(#5797) 	CP+[GFX1]: Failed 2 buffer db=0 dw=0 for 232, 72, 1710, 4584
(#5798) 	CP+[GFX1]: Failed 2 buffer db=0 dw=0 for 232, 72, 1710, 4584
(Reporter)

Comment 1

2 years ago
Created attachment 8788226 [details]
screenshot of black areas

When I went to get the Graphics info from about:support the page showed up with some black boxes on it (screenshot attached).  If I try to scroll on the page, or if I resize the browser the entire content window will turn black.

I forgot to give some examples in comment 0:  sites that do this reliably for me are arstechnica.com, news.google.com, and amazon.com.
(Reporter)

Comment 2

2 years ago
Created attachment 8788229 [details]
memory-report.json.gz

about:memory loaded without any black bars this time.  I saw this warning at the top:

> WARNING: the following values are negative or unreasonably large.
> 
>     canvas-2d-pixels 
> 
> This indicates a defect in one or more memory reporters. The invalid values are highlighted. 

When I scrolled down to see the highlight it was -500-some megabytes.  I'm attaching the memory report.

Comment 3

2 years ago
Feels like a graphics issue, radar'ing to Milan for triage/prioritization.
Component: General → Graphics
Flags: needinfo?(milan)
Product: Firefox → Core
Any ideas about the canvas-2d-pixels error?
Flags: needinfo?(lsalzman)
Flags: needinfo?(jgilbert)
Whiteboard: gfx-noted
If you change the preference "gfx.content.azure.backends" to "cairo", restart nightly, does it still happen?
Flags: needinfo?(wclouser)
(Reporter)

Comment 6

2 years ago
I switched two profiles this morning.

It lasted far longer than before (about 5 hours vs 15 minutes) but both profiles have started showing black boxes.  One profile has about -350MB of memory for canvas-2d-pixels and the other renders about:memory completely black after I click the "measure" button.

I've also had to reload this bugzilla page several times as it continues to render black while I type this comment.  I haven't restarted either browser if there is any other info I can get you.

Despite the pages rendering black, by moving the mouse over them the pointer changes, so the elements are there, just not visible.

Thanks.
Flags: needinfo?(wclouser)
(In reply to Wil Clouser [:clouserw] from comment #6)
> I switched two profiles this morning.
> 
> It lasted far longer than before (about 5 hours vs 15 minutes) but both
> profiles have started showing black boxes.  One profile has about -350MB of
> memory for canvas-2d-pixels and the other renders about:memory completely
> black after I click the "measure" button.
> 
> I've also had to reload this bugzilla page several times as it continues to
> render black while I type this comment.  I haven't restarted either browser
> if there is any other info I can get you.
> 
> Despite the pages rendering black, by moving the mouse over them the pointer
> changes, so the elements are there, just not visible.
> 
> Thanks.

Are you just out of system memory perhaps? Can you attach an about:memory profile here?
Flags: needinfo?(wclouser)
(Reporter)

Comment 8

2 years ago
Created attachment 8789559 [details]
memory-report-3.json.gz

Maybe.  Cursors are no longer showing up in text boxes and it's becoming very sluggish, so I'll have to restart soon.

I attached a memory-report.json.gz already.  I'll attach another one now.  Here is the output of `free -m`:
             total       used       free     shared    buffers     cached
Mem:          6052       5606        446        834         16       1125
-/+ buffers/cache:       4464       1588
Swap:         3151        758       2393

It does look pretty short on free memory, but the box isn't doing much aside from running a few firefox profiles.
Flags: needinfo?(wclouser)
(Reporter)

Comment 9

2 years ago
Created attachment 8790131 [details]
bla2.png

RAM is inexpensive for this motherboard so I bought a bunch more.  If I can help debug this before it arrives in the next couple days, just let me know what to run.

Attaching another screenshot of the black areas.
(In reply to Mason Chang PTO 10/3 [:mchang] from comment #4)
> Any ideas about the canvas-2d-pixels error?

This all smells like lots of OOMing going on. It is possible that CanvasRenderingContext2D::SetErrorState, which deducts from the canvas memory stat, is ultimately aggravating the negative count here because we might not be properly tracking all allocations in some cases. This should not otherwise affect function, but the memory reporting stat would be a bit bogus under that scenario. Just a hunch, though, I would need to dig in more and most likely repro it somehow to verify.
Flags: needinfo?(milan)
Flags: needinfo?(lsalzman)
Flags: needinfo?(jgilbert)
The issue with canvas-2d-pixels looks like it is essentially bug 1241865 in some form. In that bug we just disabled reporting for 51. That stat being broken has already been papered over, but we might want to look into just completely removing it or fixing it.

So, this would only be a sorta-dup if that were the only issue we were concerned with here.

I would recommend leaving resolution of that to bug 1241865, while we just let this bug address the OOMing situation herein.
See Also: → bug 1241865
Depends on: 1302380
(Reporter)

Comment 12

2 years ago
Created attachment 8792967 [details]
memory-report.json.gz

I'm attaching another memory report because this is a different computer.  16G of RAM which is nearly full:

> $ free -m
>              total       used       free     shared    buffers     cached
> Mem:         16002      15718        283         54        154        492
> -/+ buffers/cache:      15071        930
> Swap:        16339       2730      13609

> $ ps -o rss,sz,vsz 17888
>   RSS    SZ    VSZ
> 3390932 1720248 6880992

In the attached report canvas-2d-pixels is over (under?) negative 10GB.
You need to log in before you can comment on or make changes to this bug.