Parts of page not painting after scrolling on Pocket website
Categories
(Core :: Graphics: Layers, defect, P2)
Tracking
()
Tracking | Status | |
---|---|---|
firefox72 | --- | unaffected |
firefox73 | --- | unaffected |
firefox74 | --- | unaffected |
People
(Reporter: vchin, Unassigned)
References
Details
(Keywords: regression)
Attachments
(2 files)
STR:
- Navigate to https://getpocket.com/explore/item/i-lost-my-life-to-airbnb?utm_source=pocket-newtab
- Scroll down
- The screen remains white until you trigger a paint
This reproduces on Windows and MacOS without webrender on.
Comment 1•5 years ago
|
||
I can trivially reproduce this, after scrolling certain parts of a layer aren't repainted. This only seems to be happening when scrolling around the area of the page where the ad on the right is located.
Reporter | ||
Updated•5 years ago
|
Comment 2•5 years ago
|
||
Can you repro with WebRender on? I just tried it (with WR on) and could no repro on first try.
Reporter | ||
Comment 3•5 years ago
|
||
I could not either on first try. I'm curious why that is the case.
Since many users are still not on WebRender and the experience on Pocket articles are quite terrible, I would like to see this get fixed. It can be mistaken as a performance issue (my original thought) as the screen is blank until a paint gets triggered.
Comment 4•5 years ago
|
||
I noticed this yesterday on getpocket.com in esr68 -- makes me think that rather than a recent Firefox regression, this is perhaps related to a recent change in the Pocket website?
Comment 5•5 years ago
|
||
(I don't necessarily mean to suggest that it's a bug on the Pocket side. It could just be a recent change to Pocket that exposed a long-standing Firefox bug.)
Updated•5 years ago
|
Comment 7•5 years ago
|
||
I can reproduce on Linux (with webrender disabled) too. Mozregression gives this range: https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=ce1a86d3b4db161c95d1147676bbed839d7a4732&tochange=9056f2ee492fa481aa86146aba236c074628e9fd
Matt's retained display list stuff jumps out the most, but I tried setting layout.display-list.retain=false
and it did not make a difference.
Comment 8•5 years ago
•
|
||
(In reply to Jamie Nicol [:jnicol] from comment #7)
I can reproduce on Linux (with webrender disabled) too. Mozregression gives this range: https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=ce1a86d3b4db161c95d1147676bbed839d7a4732&tochange=9056f2ee492fa481aa86146aba236c074628e9fd
+1, I just got the same regression range :)
Matt's retained display list stuff jumps out the most, but I tried setting
layout.display-list.retain=false
and it did not make a difference.
I note that the bug in question, bug 1404181, is about landing retained-DL prefed off (such that, if this were caused by enabling the retained-DL pref, the bug would not repro in the state where the retained-DL patches have landed but have not been prefed on yet).
My guess would be, the patch series in that bug did make some changes which were unconditional (rather than being conditioned on the retained-DL pref), and one of those changes caused the regression.
Comment 10•5 years ago
•
|
||
I looked through the rest of the regression range and didn't see anything else besides bug 1404181 that was a likely candidate. I'll leave it to Matt or Timothy to chime in about what in that patch series might have regressed this.
Meanwhile -- Jessie, would it be possible to reach out to the Pocket team and ask them to try to identify, and if possible temporarily revert, the change to their site which triggered this behaviour? While this looks like a platform bug, it affects non-WebRender users on all release channels (nightly, dev edition, beta, release, ESR), and even if we are able to come up with a platform fix quickly, it may take a while for the fix to reach all these channels, so a temporary fix on the site side (which can be rolled out much more quickly) would be great.
Comment 11•5 years ago
|
||
Setting apz.paint_skipping.enabled=false
does make the issue go away.
Comment 12•5 years ago
|
||
Setting P1, though if pocket can fix it on their end it might not be quite as urgent
Comment 13•5 years ago
|
||
(In reply to Botond Ballo [:botond] from comment #11)
Setting
apz.paint_skipping.enabled=false
does make the issue go away.
I think this is a case of paint skipping making a bug that affects async scrolling worse, rather than a bug in paint skipping itself.
I took a brief look at some layer dumps, and it seems that the content is being painted, but then clipped away during compositing, leading me to believe that this is an issue with the ASR's / clips that are being set on the layer during painting.
Comment 14•5 years ago
|
||
Looks like the EM for the front end team of Pocket is out for the holidays, so I am hunting around on Slack to see who else might be able to help.
Comment 15•5 years ago
|
||
So I have tracked down a few folks who work on Pocket it sounds like they shipped the captcha bug 2 days ago and they are saying they can't reproduce the issue if they suppress the captcha
Comment 16•5 years ago
|
||
(In reply to Botond Ballo [:botond] from comment #13)
I took a brief look at some layer dumps, and it seems that the content is being painted, but then clipped away during compositing, leading me to believe that this is an issue with the ASR's / clips that are being set on the layer during painting.
I looked into this a bit further, and it seems like the same sort of thing is happening as in bug 1548397 (see in particular bug 1548397 comment 5 and bug 1548397 comment 6).
Comment 17•5 years ago
|
||
Just to keep folks posted: Pocket is going to do a workaround by restyling the captcha badge. It will ship in the next day or two. We will work on the proper fix on our end. I am going to mark this as a P2 now since we have a solution for the immediate future.
Updated•5 years ago
|
Comment 18•5 years ago
|
||
Does anyone have a testcase that will be available after that workaround ships? Otherwise we won't be able to work on this.
I tried just saving the page but the saved version didn't trigger the bug.
Comment 19•5 years ago
|
||
I can repro it on a saved version if I save it using "Save Page As --> Web Page, complete". It is kind of intermittent, and often the only region that's affected is a small white strip at the bottom of the page, but it does happen.
Comment 20•5 years ago
|
||
(In reply to Botond Ballo [:botond] from comment #19)
I can repro it on a saved version if I save it using "Save Page As --> Web Page, complete". It is kind of intermittent, and often the only region that's affected is a small white strip at the bottom of the page, but it does happen.
That's what I did, either I couldn't reproduce or the issue was too small for me to notice. Either way, having a testcase that is easily reproducible and has a large mis-painting makes it easier to look into.
Comment 21•5 years ago
|
||
Looks like a fix has been deployed on the Pocket side!
Updated•5 years ago
|
Comment 22•5 years ago
•
|
||
Hi,
I've tested this using the following versions:
Firefox Nightly version74.0a1 (2020-01-10) (64-bit),
Beta 73.0b2 (64-bit)
Release 72.0.1 (64-bit)
I tried for Windows 10 pro, MacOS 10.14.5 and Ubuntu 18.04.3 LTS but I’m unable to reproduce the issue within https://getpocket.com/explore/item/i-lost-my-life-to-airbnb?utm_source=pocket-newtab I can see the text correctly displayed when scrolling down, even with the ad on the side. (webrender off as well)
@Vicky can you still reproduce this issue?
I am updating flags accordingly as unaffected.
Best,
Clara
Comment 23•5 years ago
|
||
I expect that due to the fix made to the Pocket site, this issue no longer reproduces on the live Pocket site with any Firefox version.
It does, however, reproduce with the older version of the Pocket site (before the fix). I have a copy saved locally which I'll upload.
Comment 24•5 years ago
|
||
Updated•2 years ago
|
Comment 26•2 years ago
|
||
The test case from comment 24 seems to work fine now.
Description
•