Closed Bug 1416921 Opened 6 years ago Closed 6 years ago


(Core :: Graphics, defect)

Not set



Tracking Status
firefox-esr52 --- unaffected
firefox57 --- unaffected
firefox58 --- fixed
firefox59 --- fixed


(Reporter: dholbert, Assigned: rhunt)




(Keywords: regression, Whiteboard: [gfx-noted])


(4 files)

 1. Visit
 2. Scroll down (with keyboard or mouse)

On a decent fraction of pageloads (maybe around half), the page shows graphical corruption:
 - duplicated/misplaced/partially-not-painted text
 - chunks of the header image being painted behind text, in the wrong spots

No such corruption.
I believe this is a regression, but I've had a hard time coming up with a regression range since it's not 100% reproducible.

The oldest cset I've reproduced this in so far is (which is a merge commit for this merge: )

I'm initially suspicious that this may be a regression from bug 1399692 (and maybe even the same underlying cause as bug 1416873 which is also marked as a regression from that bug).

Also, possibly-related -- the header-graphic at this site is pretty large (2000px by 971px,*b3l9VyjhwiASBiy1JHTxSQ.png ).  I'm suspicious that this factor (large images) might be involved in triggering the bug here, given that part of the corruption sometimes looks like chunks of that image.
I'm using latest Nightly 59.0a1 (2017-11-13) (64-bit) on Ubuntu 17.10 (linux), BTW.

rhunt, perhaps you could take a look? (particularly if this does turn out to be a regression from bug 1399692)
Flags: needinfo?(rhunt)
Attachment #8928018 - Attachment description: screenshot → screenshot 1 (poor-quality jpeg, sorry for jpeg artifacts)
Attached image screenshot 2
The corruption is a little different every time I reproduce the bug (and it doesn't always happen, but I can usually make it happen by shift+reloading and then scrolling.  Not sure if the shift-reload is necessary -- I just use shift for good measure).

Here's an interesting case -- in this verison, the bottom edges of many lines of text are "echoed". I'm guessing this was from us failing to invalidate the correct old-region when scrolling, or something like that.

These artifacts persisted even when I change tabs away & back.
I'm able to reproduce some graphical corruption on this page, it definitely could be related to bug 1399692. I'll look into it further.
Flags: needinfo?(rhunt)
Whiteboard: [gfx-noted]
Forgot to mention in the commit, this change also reverts the changes to manipulating the syncing of back buffer rect and rotation from FinalizeFrame to ContentClientDoubleBuffered::BeginPaint. This is to just completely revert to existing behavior, minus the OMTP parts.
Assignee: nobody → rhunt
Blocks: 1416726
Comment on attachment 8929977 [details]
Revert to using EnsureBackBufferIfFrontBuffer (bug 1416921, )

This is a shame.
Attachment #8929977 - Flags: review?(bas) → review+
Pushed by
Revert to using EnsureBackBufferIfFrontBuffer (bug 1416921, r=bas)
Blocks: 1416487 - landed 21 hours ago
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla59
This should be uplifted, but after a forgotten line of code is added back.
Comment on attachment 8929977 [details]
Revert to using EnsureBackBufferIfFrontBuffer (bug 1416921, )

Approval Request Comment
[Feature/Bug causing the regression]: An optimization in content client to be smarter about when to create a back buffer broke some implicit conditions in code. This bug backed out the optimization.
[User impact if declined]: User will see graphical regressions like in this bug
[Is this code covered by automated tests?]:
[Has the fix been verified in Nightly?]: Yes.
[Needs manual test from QE? If yes, steps to reproduce]: Not really, the steps in this bug can reproduce it.
[List of other uplifts needed for the feature/fix]: Uplift bug 1421871 after this bug.
[Is the change risky?]: Slightly
[Why is the change risky/not risky?]: This code is very sensitive to changes, but reverting to prior behavior is generally safe
[String changes made/needed]: None
Attachment #8929977 - Flags: approval-mozilla-beta?
Comment on attachment 8929977 [details]
Revert to using EnsureBackBufferIfFrontBuffer (bug 1416921, )

Fix a graphical corruption issue. Beta58+.
Attachment #8929977 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
QA Whiteboard: [good first verify]
You need to log in before you can comment on or make changes to this bug.