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

Issue 677686 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Jan 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 1
Type: Bug



Sign in to add a comment

Keeps scrolling slowly after stopping

Project Member Reported by wfh@chromium.org, Dec 31 2016

Issue description

Chrome Version: chrome 56 beta
OS: android

What steps will reproduce the problem?
(1) visit a long pave
(2) scroll down fast and wait for it to stop
(3)

What is the expected result?

Scrolling stops

What happens instead?

Scrolling continues really slowly

Please use labels and text to provide additional information.


For graphics-related bugs, please copy/paste the contents of the about:gpu
page at the end of this report.

 

Comment 1 by wfh@chromium.org, Dec 31 2016

Google Chrome	56.0.2924.23 (Official Build) beta (32-bit)
Revision	034f1b9f3c64af980d051d007c992dc94882241e-refs/branch-heads/2924@{#437}
OS	Android 7.1.1; Pixel Build/NMF26O
JavaScript	V8 5.6.326.25
User Agent	Mozilla/5.0 (Linux; Android 7.1.1; Pixel Build/NMF26O) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.23 Mobile Safari/537.36
Command Line	--use-mobile-user-agent --top-controls-show-threshold=0.5 --top-controls-hide-threshold=0.5 --use-mobile-user-agent --enable-pinch --enable-viewport --enable-overlay-scrollbar --validate-input-event-stream --enable-longpress-drag-selection --touch-selection-strategy=direction --disable-gpu-process-crash-limit --main-frame-resizes-are-orientation-changes --disable-composited-antialiasing --ui-prioritize-in-gpu-process --profiler-timing=0 --prerender-from-omnibox=enabled --enable-dom-distiller --flag-switches-begin --flag-switches-end --enable-instant-extended-api
Executable Path	No such file or directory
Profile Path	/data/user/0/com.chrome.beta/app_chrome/Default
Variations	12af154-7de500df
6a89113b-a7aa8ed
90757ebb-f23d1dea
1e528f0f-3b7f37f3
38eb801c-3f4a17df
8364a5c2-eb6219f1
236d5d9e-347fc86a
47e5d3db-3d47f4f4
e036a196-870290a7
77207729-3f4a17df
4bf94d2-26e7b859
2a33b90e-1bfd5157
ba3f87da-a6404135
3982a4f-3f4a17df
58aac55e-3f4a17df
bf586af3-65bced95
f15c1c09-ca7d8d80
1ce8a192-ca7d8d80
6da04977-464993c3
63d6a31a-3f4a17df
5e3a236d-59e286d0
3e1c19dd-b8d18976
93731dca-3f4a17df
4b52ecea-870290a7
9e5c75f1-30c781e6
6b121ae7-3f4a17df
f5dd6118-2f5721af
f79cb77b-3f4a17df
b7786474-d93a0620
23a898eb-e0e2610f
158a87f-3f4a17df
9e46b3e5-3d47f4f4
2182dcae-69de46be
4ea303a6-3f4a17df
4d35b2c4-21a50c70
ca314179-ca7d8d80
b2f0086-93053e47
7fc902e8-3f4a17df
db5efd10-f23d1dea
adda5502-ca7d8d80
3ac60855-3ec2a267
4442aae2-d7f6b13c
ed1d377-e1cc0f14
75f0f0a0-4ad60575
e7e71889-4ad60575
828a5926-c6c0a780

Comment 2 by wfh@chromium.org, Dec 31 2016

This can be really hard to repro. I've seen it on long Reddit threada

Comment 3 by wfh@chromium.org, Jan 9 2017

Cc: amineer@chromium.org
This is still happening. now happening on Chrome Beta 56.0.2924.53 on https://goto.google.com/a8b5c7 - still can't get a reliable repro. Sometimes just the screen shakes up and down instead of actually scrolling.
Labels: -Pri-3 ReleaseBlock-Stable M-56 Pri-1
Thanks for looping me in.  Tentatively marking RB-Stable M-56 as we've had other reports of scrolling issues as well (I'll loop you into a related email thread).  This is *not* a duplicate of  issue 675567 , as the revert to fix that issue is present in the build wfh@ references in c#3.

Comment 5 by wfh@chromium.org, Jan 9 2017

Using https://goto.google.com/a8b5c7 I can get a semi-reliable repro by doing a long push on an image to bring up context menu, then clicking outside context menu, then doing a scroll, then a zoom out, then a scroll... but it's really hard to repro.

I attach two videos, first is showing shaking and slow moving up, second is faster movement up (upside down, sorry). (Google only links).

1st: https://drive.google.com/open?id=0BzKr4yVrnrZNWkYtRkdSdmh4Mlk
2nd: https://drive.google.com/open?id=0BzKr4yVrnrZNM0tSb05qME1lbDQ
I spent sometime specifically browsing reddit and other blogs, scrolling, flinging etc. But didn't see any scrolling issues. We will keep looking out for such behavior during our daily testing.
Device used, Pixel XL / N2G09.

Comment 7 by wfh@chromium.org, Jan 10 2017

Cc: aska...@chromium.org
re #6 I seem to now only be able to repro on https://goto.google.com/a8b5c7 but I can do it pretty reliably now, by long clicking on an image then aborting the popup then zooming/scrolling - doing so repeatedly a few times eventually shows the bug.

I also tried on reddit for a long time and wasn't able to repro... Perhaps it's something to do with a combination of the popup appearing and some kind of CSS modification happening on the DOM due to "mouse over" events on mobile?
This seems to have ~90%+ repro rate on pinaoworld.com/forum threadview pages (UBB). Flicking a kinetic scroll on a long thread will almost always result in scroll creep, and if you flick up it will change to an up/down scroll stutter. 

Comment 9 by wfh@chromium.org, Jan 10 2017

I confirm I can also reproduce #8 on http://www.pianoworld.com/forum on Chrome Beta 56.0.2924.53 on Android 7.1.1; Pixel Build/NMF26U
Labels: Needs-Bisect
I can now repro on canary, 57.0.2976.0, Android N.  Went to the Piano World forums, chose a topic with many replies, *double tapped on a post to zoom content* (this was key for me) and flicked down - scroll continued indefinitely.  Flicking up got the page stuck in a weird twitching state as described by others.  

Strangely the page continues to twitch even in a preview mode after hitting the tab switching button...

Comment 11 Deleted

I was able to repro these - 'Scrolling continues really slowly' and 'stutter' on both M56 and M57 on Pixel XL / NMF26X, with pianoworld.com example. But wasn't as easy to hit either.
I will try to bisect it.
Owner: flackr@chromium.org
Status: Assigned (was: Untriaged)
Bisect range: 
Good build: 56.0.2924.6
Bad Build: 56.0.2924.7
https://chromium.googlesource.com/chromium/src/+log/56.0.2924.6..56.0.2924.7?pretty=fuller&n=10000 
There are only there CLs in this range and all three seem to be changes related to scrolling.
flackr@ Can you please take a look?

Note: Cannot do pre CL bisect since the bisect range is that of post M56 branch-cut.
Cc: ajuma@chromium.org tdres...@chromium.org
This seems to be a result of ec4538615b56748d5cf39ce63ddefe40937211f9. I'm not exactly sure how this happens yet, but my guess is that we think we have not consumed the delta synced over to blink and so we keep adding it to a scroll position that comes back in from blink?
Just a Note: I tried the per-CL bisect on tot (M57) and it did point me to the same CL as culprit: https://chromium.googlesource.com/chromium/src/+/75a7e4cb1ec29ded2e52539259233356caa883c8
Labels: -Needs-Bisect
Cc: chrishtr@chromium.org
Status: Started (was: Assigned)
I've prepared a revert, which unfortunately also requires disabling compositing opaque fixed position elements as the rounding synced scroll offset patch fixed a pre-existing compositing bug ( issue 663291 ) which was exposed by compositing on more websites due to automatically compositing opaque fixed position elements.
https://codereview.chromium.org/2629793003
Does anyone have repro tips for getting the page to continue scrolling down? I've only been able to reproduce the jitter so far (and even that I haven't reproduced reliably enough to catch it in a debugging run (i.e. slow) so tips on this would help as well).

Comment 19 by wfh@chromium.org, Jan 13 2017

I can reliably reproduce on pianoworld.com/forum by loading a thread with a lot of replies, zooming in, and then doing a kinetic flick scroll. It does seem harder to reproduce on Canary though.
Project Member

Comment 20 by bugdroid1@chromium.org, Jan 13 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/96f33ef6f7c21303a68dc52c3e27a925fb200ce5

commit 96f33ef6f7c21303a68dc52c3e27a925fb200ce5
Author: flackr <flackr@chromium.org>
Date: Fri Jan 13 22:05:44 2017

Revert "Round the scroll offset synced back to main instead of flooring." and disable CompositeOpaqueFixedPosition

Reverts the commit 75a7e4cb1ec29ded2e52539259233356caa883c8
(https://codereview.chromium.org/2511473003) and additionally disables
CompositeOpaquePosition by default as that commit fixed a compositing bug
exposed by compositing more fixed position elements ( https://crbug.com/663291 ).
Rounding the synced scroll offset introduced a regression which caused scroll
position to become unstable when zoomed in on long sites.

TBR=weiliangc,boliu

BUG= 677686 , 663291 , 661754 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

Review-Url: https://codereview.chromium.org/2629793003
Cr-Commit-Position: refs/heads/master@{#443691}

[modify] https://crrev.com/96f33ef6f7c21303a68dc52c3e27a925fb200ce5/android_webview/javatests/src/org/chromium/android_webview/test/AndroidScrollIntegrationTest.java
[modify] https://crrev.com/96f33ef6f7c21303a68dc52c3e27a925fb200ce5/cc/trees/layer_tree_host_impl_unittest.cc
[modify] https://crrev.com/96f33ef6f7c21303a68dc52c3e27a925fb200ce5/cc/trees/layer_tree_host_unittest_scroll.cc
[modify] https://crrev.com/96f33ef6f7c21303a68dc52c3e27a925fb200ce5/cc/trees/property_tree.cc
[modify] https://crrev.com/96f33ef6f7c21303a68dc52c3e27a925fb200ce5/content/child/runtime_features.cc
[modify] https://crrev.com/96f33ef6f7c21303a68dc52c3e27a925fb200ce5/content/public/common/content_features.cc
[modify] https://crrev.com/96f33ef6f7c21303a68dc52c3e27a925fb200ce5/third_party/WebKit/Source/platform/RuntimeEnabledFeatures.in

Components: Blink>Compositing
Unfortunately I'm unable to build on android at the moment due to  issue 681560 , so I'm just waiting for the latest canary to include this patch so I can verify the issue no longer reproduces and then merge back.
Labels: Merge-Request-56
Looks like this patch is in the latest canary - 57.0.2983.0. I'm unable to reproduce the issue anymore.
Project Member

Comment 23 by sheriffbot@chromium.org, Jan 17 2017

Labels: -Merge-Request-56 Merge-Review-56 Hotlist-Merge-Review
This bug requires manual review: Reverts referenced in bugdroid comments after merge request.
Please contact the milestone owner if you have questions.
Owners: amineer@(clank), cmasso@(bling), gkihumba@(cros), bustamante@(desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Labels: Verified-M57
Verified fix in 57.0.2984.0 / Pixel XL / NMF26X.
Labels: -Merge-Review-56 Merge-Approved-56
Approved for M56.  I'll merge now so this makes our beta candidate to be built tonight.
Project Member

Comment 26 by bugdroid1@chromium.org, Jan 18 2017

Labels: -merge-approved-56 merge-merged-2924
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b0e7600a8072b74faaccbddd2d90fd8130c5fc67

commit b0e7600a8072b74faaccbddd2d90fd8130c5fc67
Author: Alex Mineer <amineer@chromium.org>
Date: Wed Jan 18 02:11:36 2017

Revert "Round the scroll offset synced back to main instead of flooring." and disable CompositeOpaqueFixedPosition

Reverts the commit 75a7e4cb1ec29ded2e52539259233356caa883c8
(https://codereview.chromium.org/2511473003) and additionally disables
CompositeOpaquePosition by default as that commit fixed a compositing bug
exposed by compositing more fixed position elements ( https://crbug.com/663291 ).
Rounding the synced scroll offset introduced a regression which caused scroll
position to become unstable when zoomed in on long sites.

TBR=weiliangc,boliu

BUG= 677686 , 663291 , 661754 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

(cherry picked from commit 96f33ef6f7c21303a68dc52c3e27a925fb200ce5)

Review-Url: https://codereview.chromium.org/2629793003
Cr-Original-Commit-Position: refs/heads/master@{#443691}
Cr-Commit-Position: refs/branch-heads/2924@{#791}
Cr-Branched-From: 3a87aecc31cd1ffe751dd72c04e5a96a1fc8108a-refs/heads/master@{#433059}

[modify] https://crrev.com/b0e7600a8072b74faaccbddd2d90fd8130c5fc67/android_webview/javatests/src/org/chromium/android_webview/test/AndroidScrollIntegrationTest.java
[modify] https://crrev.com/b0e7600a8072b74faaccbddd2d90fd8130c5fc67/cc/trees/layer_tree_host_impl_unittest.cc
[modify] https://crrev.com/b0e7600a8072b74faaccbddd2d90fd8130c5fc67/cc/trees/layer_tree_host_unittest_scroll.cc
[modify] https://crrev.com/b0e7600a8072b74faaccbddd2d90fd8130c5fc67/cc/trees/property_tree.cc
[modify] https://crrev.com/b0e7600a8072b74faaccbddd2d90fd8130c5fc67/content/child/runtime_features.cc
[modify] https://crrev.com/b0e7600a8072b74faaccbddd2d90fd8130c5fc67/content/public/common/content_features.cc
[modify] https://crrev.com/b0e7600a8072b74faaccbddd2d90fd8130c5fc67/third_party/WebKit/Source/platform/RuntimeEnabledFeatures.in

Status: Fixed (was: Started)
I think this is now fixed, reopen if there's further work.
Verified fix in 56.0.2924.68 / Pixel XL / NMF26X
Project Member

Comment 29 by bugdroid1@chromium.org, Dec 5 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a3ce2d3110a3f9177a41935daadd43ede72db553

commit a3ce2d3110a3f9177a41935daadd43ede72db553
Author: Yi Gu <yigu@chromium.org>
Date: Tue Dec 05 15:49:54 2017

Round the scroll offset synced back to main thread instead of flooring

Enabling feature CompositeOpaqueFixedPosition revealed  crbug.com/663291 
that promoted fixed opaque element indirectly caused a one pixel gap due
to the way cc synced offset back to main. flackr@ fixed it by rounding
the scroll offset instead of flooring it but the fix later on caused
a regression  crbug.com/677686 . So he reverted the fix as well as the
feature CompositeOpaqueFixedPosition in Jan 2017
(https://codereview.chromium.org/2629793003).

This patch relands flackr's revert patch. Meanwhile, it fixes a rounding
bug which causes fractional delta pushed to main thread by adjusting the
delta with the diff between active_base_ and its rounded value.

Bug:  663291 ,  677686 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel
Change-Id: I9b7454760dc976b438ecf76c92c846f7086b6284
Reviewed-on: https://chromium-review.googlesource.com/793973
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Bo <boliu@chromium.org>
Reviewed-by: Robert Flack <flackr@chromium.org>
Commit-Queue: Yi Gu <yigu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#521704}
[modify] https://crrev.com/a3ce2d3110a3f9177a41935daadd43ede72db553/android_webview/javatests/src/org/chromium/android_webview/test/AndroidScrollIntegrationTest.java
[modify] https://crrev.com/a3ce2d3110a3f9177a41935daadd43ede72db553/cc/trees/layer_tree_host_impl_unittest.cc
[modify] https://crrev.com/a3ce2d3110a3f9177a41935daadd43ede72db553/cc/trees/layer_tree_host_unittest_scroll.cc
[modify] https://crrev.com/a3ce2d3110a3f9177a41935daadd43ede72db553/cc/trees/property_tree.cc
[modify] https://crrev.com/a3ce2d3110a3f9177a41935daadd43ede72db553/content/child/runtime_features.cc
[modify] https://crrev.com/a3ce2d3110a3f9177a41935daadd43ede72db553/content/public/common/content_features.cc
[modify] https://crrev.com/a3ce2d3110a3f9177a41935daadd43ede72db553/third_party/WebKit/Source/platform/runtime_enabled_features.json5

Sign in to add a comment