New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 767002 link

Starred by 4 users

Issue metadata

Status: Duplicate
Owner: ----
Closed: Sep 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Chrome , Mac
Pri: 1
Type: Bug



Sign in to add a comment

Scrolling large web page corrupts graphics

Project Member Reported by vovoy@chromium.org, Sep 20 2017

Issue description

Reproducible on:
Chrome OS kevin R61.0.3163.93 / Platform 9765.64.0 (also reproducible on cave, bob)
Chrome Linux: 61.0.3163.100 (Official Build) (64-bit)
Chrome Mac: 60.0.3112.113 (Official Build) (64-bit)

Reproduce steps:
1. Download and open big.html file in the attachment.
2. Set page scale to 100%.
3. Press end key to scroll to the end (or search + right arrow on ChromeOS).
4. The page graphics content after tile with y index 65535 is corrupted.

Kevin trigger this issue easier because it is 200% UI scale when screen resolution is not set to 2400x1600. The graphics corrupted after the div with number 32767 on kevin.

Seems chrome has a tile y index limitation on 65536, is it known limitation?
 
screen_corruption.png
135 KB View Download
big.html
377 bytes View Download

Comment 1 Deleted

Comment 2 by vovoy@chromium.org, Sep 20 2017

Description: Show this description

Comment 3 Deleted

Comment 4 by wutao@chromium.org, Sep 20 2017

Labels: -Pri-2 M-61 Pri-1
I repro this in dev image of 9756.1.0 / 61.0.3159.8.

Comment 5 by wutao@chromium.org, Sep 20 2017

Repro this in dev image of 9693.1.0 / 61.0.3144.0.

Cannot repro this in dev image of 9672.0.0 /61.0.3136.5. I will get "Page Unresponsive" error when scrolling the text file very fast. No renderering error.

There are several canary builds I can continue bisecting.

Comment 6 by vovoy@chromium.org, Sep 21 2017

I can repro this issue on kevin dev image R58.9334.24.0, R59.9460.76.0, R60.9592.96.0, ... that's every kevin dev I tested.

cannot repro on bob R63 tot.

about the previous culprit CLs, the previous bisection was done on a profile with Traditional Chinese language, so it's affected by the CJK font change:
https://chromium-review.googlesource.com/c/chromiumos/overlays/chromiumos-overlay/+/576708
https://chrome-internal-review.googlesource.com/c/chromeos/overlays/chromeos-overlay/+/414228
Bob might not have the same smooth scrolling settings as Kevin -- I think the default changes when you have the hidpi flag set -- I meant to file a bug to make them the same but forgot about that

Comment 8 by wutao@chromium.org, Sep 21 2017

vovoy@, is it R58.9334.24.0 or R58.9334.74.0? 

Comment 9 by vovoy@chromium.org, Sep 21 2017

R58.9334.24.0

Comment 10 by vovoy@chromium.org, Sep 22 2017

Summary: kevin: Scrolling large web page corrupts graphics (was: Scrolling large text file corrupts graphics)

Comment 11 by vovoy@chromium.org, Sep 22 2017

Description: Show this description

Comment 12 by vovoy@chromium.org, Sep 22 2017

Description: Show this description

Comment 13 by vovoy@chromium.org, Sep 22 2017

Labels: OS-Linux OS-Mac
Summary: Scrolling large web page corrupts graphics (was: kevin: Scrolling large web page corrupts graphics)

Comment 14 by vovoy@chromium.org, Sep 22 2017

Description: Show this description

Comment 15 by vovoy@chromium.org, Sep 22 2017

 Issue 766243  has been merged into this issue.

Comment 16 by wutao@chromium.org, Sep 22 2017

vovoy@, Good finding!

I can repro this on Chrome (61.0.3163.91) on linux.
It will break beyong y index is 65535.

So this is not ChromeOS issue.

Comment 17 by wutao@chromium.org, Sep 22 2017

Cc: vmp...@chromium.org enne@chromium.org danakj@chromium.org
Owner: chrishtr@chromium.org
I thought we limit the size of the page because of this.
Components: Blink>Compositing
Probably a result of us using 16 bits for the TileMap key:

https://cs.chromium.org/chromium/src/cc/tiles/picture_layer_tiling.h?l=76
Components: -Blink>Compositing
Components: Blink>Compositing
Owner: ----
danakj@, do you think we should be limiting the page size? That would be a Layout issue, I think, and not clear how to implement it since we don't know how big the page is until after we have laid it out, and then we have no easy way of avoiding creating display item list content outside of the limit size.

If we just threw away anything with a cull rect outside the bound we might remove a background layer entirely, rather than clipping it like we should.

Can't CC just never try to create and raster tiles outside the range?
There's some size limiting in GraphicsLayer I'm pretty sure... unless it broke or was removed? Maybe cc changes to not support even the size occured tho.
There have been discussions in the past about limiting scrolling to 2^24px.
See crbug.com/446530.

Comment 25 by vovoy@chromium.org, Sep 24 2017

Mergedinto: 446530
Status: Duplicate (was: Available)

Sign in to add a comment