Closed Bug 1000542 Opened 10 years ago Closed 10 years ago

page display corruption during scrolling if layers.acceleration.force-enabled;true

Categories

(Core :: Graphics: Layers, defect)

All
Linux
defect
Not set
normal

Tracking

()

VERIFIED FIXED
mozilla31

People

(Reporter: wgianopoulos, Assigned: johns)

References

()

Details

(Keywords: regression)

Attachments

(1 file)

This seems like a case of pick your problem.

This issue only occurs if you force enable layers acceleration under Linux.

I see this on most pages from time to time scrolling.  This particular page:

  http://recordstoreday.com/PromotionalEvent/19

just makes it extremely obvious.
I meant to add that hg bisect identified:

The first bad revision is:
changeset:   172771:64e41faa2462
user:        Tom Schuster <evilpies@gmail.com>
date:        Mon Mar 10 12:13:54 2014 +0100
summary:     Bug 977963 - Disable x11 texture_from_pixmap until the black layer problem is fixed. r=mattwoodrow
I'd noticed this off and on but could never find any reliable STR. And wow, that page disintegrates :(
So if the patch from bug 977963 to ifdef out the texture_from_pixmap usage is landed directly on top of the patches to add it in bug 973227, this reproduces -- meaning the regression is from the refactoring there in the non-texture_from_pixmap case.
Blocks: 973227
Nevermind, doing more testing, this page has not worked at all since at least FF17!

At some point our behavior changed and we stopped blanking out whatever background layer fails to redraw. The regression range for that is:
http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=c8c9bd74cc40&tochange=bb025b6949e8

In builds prior to that change, the background of the page turns black when scrolling past that point, so this corruption is a separate issue than the more-recent introduction of random corruption on arbitrary pages :(
No longer blocks: 977963, 973227
(In reply to Bill Gianopoulos [:WG9s] from comment #1)
> I meant to add that hg bisect identified:
> 
> The first bad revision is:
> changeset:   172771:64e41faa2462
> user:        Tom Schuster <evilpies@gmail.com>
> date:        Mon Mar 10 12:13:54 2014 +0100
> summary:     Bug 977963 - Disable x11 texture_from_pixmap until the black
> layer problem is fixed. r=mattwoodrow

The reason bisect stops here is because texture_from_pixmap doesn't suffer from this bug, so the issue is not present in this range. However, setting |gfx.xrender.enabled = false| on the builds between bug 973227 and bug 977963 will continue to reproduce the issue.
(In reply to John Schoenick [:johns] from comment #6)
> (In reply to Bill Gianopoulos [:WG9s] from comment #1)
> > I meant to add that hg bisect identified:
> > 
> > The first bad revision is:
> > changeset:   172771:64e41faa2462
> > user:        Tom Schuster <evilpies@gmail.com>
> > date:        Mon Mar 10 12:13:54 2014 +0100
> > summary:     Bug 977963 - Disable x11 texture_from_pixmap until the black
> > layer problem is fixed. r=mattwoodrow
> 
> The reason bisect stops here is because texture_from_pixmap doesn't suffer
> from this bug, so the issue is not present in this range. However, setting
> |gfx.xrender.enabled = false| on the builds between bug 973227 and bug
> 977963 will continue to reproduce the issue.

That is all well and good.  Is there something I could try to see if it helps with this to avoid this issue with Firefox 31 is released?

I tried a debug build hoping this case would cause assertions but that failed to give any results.
(In reply to Bill Gianopoulos [:WG9s] from comment #7)
> That is all well and good.  Is there something I could try to see if it
> helps with this to avoid this issue with Firefox 31 is released?
> 
> I tried a debug build hoping this case would cause assertions but that
> failed to give any results.

This test case fails as far back as I tested, it is not a 31 regression. The random-scrolling-corruption that started more recently still lacks a test case, so bisecting it is difficult :(
(In reply to John Schoenick [:johns] from comment #8)
> (In reply to Bill Gianopoulos [:WG9s] from comment #7)
> > That is all well and good.  Is there something I could try to see if it
> > helps with this to avoid this issue with Firefox 31 is released?
> > 
> > I tried a debug build hoping this case would cause assertions but that
> > failed to give any results.
> 
> This test case fails as far back as I tested, it is not a 31 regression. The
> random-scrolling-corruption that started more recently still lacks a test
> case, so bisecting it is difficult :(

Not sure if this helps at all, but I see it most often on my own builds page at http://www.wg9s.com/mozilla/firefox/
(In reply to Bill Gianopoulos [:WG9s] from comment #9)
> (In reply to John Schoenick [:johns] from comment #8)
> > (In reply to Bill Gianopoulos [:WG9s] from comment #7)
> > > That is all well and good.  Is there something I could try to see if it
> > > helps with this to avoid this issue with Firefox 31 is released?
> > > 
> > > I tried a debug build hoping this case would cause assertions but that
> > > failed to give any results.
> > 
> > This test case fails as far back as I tested, it is not a 31 regression. The
> > random-scrolling-corruption that started more recently still lacks a test
> > case, so bisecting it is difficult :(
> 
> Not sure if this helps at all, but I see it most often on my own builds page
> at http://www.wg9s.com/mozilla/firefox/

Oh. Plus for this issue since it is so random, I am not at all sure layers.acceleration.force-enabled makes any difference.
Oh and since that page recently got about 15 lines shorter bacuase of patches that have landed on mozilla-central being removed form the table of added patches.  I bet it is less likely now to exhibit the issue.
(In reply to John Schoenick [:johns] from comment #8)
> (In reply to Bill Gianopoulos [:WG9s] from comment #7)
> > That is all well and good.  Is there something I could try to see if it
> > helps with this to avoid this issue with Firefox 31 is released?
> > 
> > I tried a debug build hoping this case would cause assertions but that
> > failed to give any results.
> 
> This test case fails as far back as I tested, it is not a 31 regression. The
> random-scrolling-corruption that started more recently still lacks a test
> case, so bisecting it is difficult :(

It does not fail on Aurora, however.  Does that tell us anything?
(In reply to John Schoenick [:johns] from comment #8)
> (In reply to Bill Gianopoulos [:WG9s] from comment #7)
> > That is all well and good.  Is there something I could try to see if it
> > helps with this to avoid this issue with Firefox 31 is released?
> > 
> > I tried a debug build hoping this case would cause assertions but that
> > failed to give any results.
> 
> This test case fails as far back as I tested, it is not a 31 regression. The
> random-scrolling-corruption that started more recently still lacks a test
> case, so bisecting it is difficult :(

OK.  SO I was hoping this was the same issue as the random thing and that I had a solid testcase.

I think we should leave this bug as being about the solid fail case.  Is there a bug open someplace about the random scrolling issue?
(In reply to Bill Gianopoulos [:WG9s] from comment #13)
> (In reply to John Schoenick [:johns] from comment #8)
> > (In reply to Bill Gianopoulos [:WG9s] from comment #7)
> > > That is all well and good.  Is there something I could try to see if it
> > > helps with this to avoid this issue with Firefox 31 is released?
> > > 
> > > I tried a debug build hoping this case would cause assertions but that
> > > failed to give any results.
> > 
> > This test case fails as far back as I tested, it is not a 31 regression. The
> > random-scrolling-corruption that started more recently still lacks a test
> > case, so bisecting it is difficult :(
> 
> OK.  SO I was hoping this was the same issue as the random thing and that I
> had a solid testcase.
> 
> I think we should leave this bug as being about the solid fail case.  Is
> there a bug open someplace about the random scrolling issue?

There isn't, feel free to open one. If a test case that was quicker than "use the browser for a few hours" is found, we could usefully regression test it.

FWIW the test case here appears to be related to scrolling past 32000 pixels when using pixman/cairo unaccelerated 2d rendering. As I understand it, fixing Bug 977963 would save us from using this fallback path in any modern driver, and the accelerated texture_from_pixmap path doesn't suffer from this bug or the random corruption AFAIK. I poked at 977963 a bit, but I'm not a graphics person so I'm not sure how trivial that is to figure out :(
The pending patch on Bug 977963 corrects this issue.
This issue was fixed by this checkin:

https://bugzilla.mozilla.org/show_bug.cgi?id=977963#c16
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Assignee: nobody → jschoenick
Depends on: 977963
Target Milestone: --- → mozilla31
Thanks for confirming this is fixed, Bill.
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: