Closed Bug 1673939 Opened 1 month ago Closed 23 days ago

garbled text display towards end of long page


(Core :: Graphics: WebRender, defect, P3)

Firefox 82



84 Branch
Tracking Status
firefox82 --- disabled
firefox83 --- disabled
firefox84 --- fixed


(Reporter: igor.v.kovalenko, Assigned: aosmond)


(Blocks 2 open bugs)



(7 files)

User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:82.0) Gecko/20100101 Firefox/82.0

Steps to reproduce:

I'm running into this issue on kde + wayland but also reproduced it in plain X11 session without display manager using latest Nightly build + webrender enabled.

  1. Enable webrender via gfx.webrender.all:true

  2. Open long text page and go to end of page, try reading text.

Another example wait for page to load, try reading last comments at the end of page.

Actual results:

Some lines of text are not completely drawn, others are invisible, and some are displayed correctly.
Scrolling up/down and then selecting partially invisible text does change which lines are garbled.
At the top of page all text is visible as expected; problems occur at some place down .

Expected results:

All text on page should be visible.

Using mozregression to find first occurrence ~exactly matching screenshot

MOZ_DISABLE_CONTENT_SANDBOX=1 MACH_USE_SYSTEM_PYTHON=1 ./mach mozregression --persist /sources/firefox/mozregression-cache --good 68 --bad 72 --pref gfx.webrender.all:true -a
88:22.81 INFO: Narrowed integration regression window from [2d52a5a0, c0f887d8] (3 builds) to [2d52a5a0, b5cfc7ed] (2 builds) (~1 steps left)
88:22.81 INFO: No more integration revisions, bisection finished.
88:22.81 INFO: Last good revision: 2d52a5a00e007ff7f78a053a446e246828cf3d60
88:22.81 INFO: First bad revision: b5cfc7ed22b48babd34b6f1cbd2b1b7d93648a07
88:22.81 INFO: Pushlog:

Digging deeper revealed that there was yet older issue bisected like this, for which Screenshot of older problem where text is garbled but appears to be visible is attached. Versions even older than below were displaying text cleanly:

MOZ_DISABLE_CONTENT_SANDBOX=1 MACH_USE_SYSTEM_PYTHON=1 ./mach mozregression --persist /sources/firefox/mozregression-cache --good 6 --pref gfx.webrender.all:true -a
15:13.76 INFO: Narrowed nightly regression window from [2019-04-16, 2019-04-18] (2 days) to [2019-04-17, 2019-04-18] (1 days) (~0 steps left)
15:13.76 INFO: Got as far as we can go bisecting nightlies...
15:13.76 INFO: Last good revision: 02b89c29412b6c1444fe32a4847e5261e2bb3d00 (2019-04-17)
15:13.76 INFO: First bad revision: 2ccc6648064315964dd23039ad28ebf7d9f82999 (2019-04-18)
15:13.76 INFO: Pushlog:

Component: Untriaged → Graphics: WebRender
Product: Firefox → Core

Testing again, issue is reproduced on Firefox Nightly 20201029095639 clean profile + gfx.webrender.all=true, about:support attached.

Testing again, issue is NOT reproduced on Firefox Nightly 20201029095639 clean profile + gfx.webrender.all=true and software rendering llvmpipe, about:support attached.

Running with software rendering llvmpipe like this:

./firefox -P Nightly
OS: Unspecified → Linux
Hardware: Unspecified → x86_64

Looks like the issue is isolated somewhere between webrender and mesa r600 driver running on Radeon HD 4290

Just verified that Google Chrome in the same environment does not have this rendering issue.

See Also: → 1667534

Resumed bisecting firefox using source build, confirming earlier suggestion by @emilio

The first bad revision is:
changeset:   469949:c513275730f6
user:        Glenn Watson <>
date:        Wed Apr 17 21:06:19 2019 +0000
summary:     Bug 1545006 - Use external scroll offsets to move primitives and clips into local space. r=kats

mach run for changeset 469949:c513275730f6 using test file generated with (for i in $(seq 1 1000000); do echo "0" ${i}; done) > testcase-narrow.txt
with r600 hardware it starts to show visible artifacts near line 587 and end of page is already not visible at all
with llvmpipe software it is much better but in the end of page text lines are misplaced, attached screenshot

Attached screenshot for mach run of changeset 469949:c513275730f6 with llvmpipe software rendeding and gfx.webrender.all:true


(In reply to Igor Kovalenko from comment #9)

Mesa bug report

Attached apitrace running Firefox Nightly 84.0a1 20201030034830 firefox-long-page.trace.xz to mesa bug tracker item.

To double-check this finding I did hg update --rev 469948:a3acb30248ff and then I see no issues with text display with gfx.webrender.all:true for all test cases above, both with hardware r600 and software llvmpipe rendering.

Andrew, can we block this hardware for the Linux WebRender release?

Flags: needinfo?(aosmond)
Assignee: nobody → aosmond
Severity: -- → S3
Flags: needinfo?(aosmond)
Priority: -- → P3
Blocks: wr-linux
Ever confirmed: true
Attachment #9186109 - Attachment description: Bug 1673939 - Block WebRender for AMD RS880 GPUs with Mesa drivers due to garbled text. → Bug 1673939 - Block WebRender for AMD R600 GPUs with Mesa drivers due to garbled text.
Pushed by
Block WebRender for AMD R600 GPUs with Mesa drivers due to garbled text. r=jrmuizel
Closed: 23 days ago
Resolution: --- → FIXED
Target Milestone: --- → 84 Branch
You need to log in before you can comment on or make changes to this bug.