New issue
Advanced search Search tips

Issue 632843 link

Starred by 4 users

Issue metadata

Status: Fixed
Owner:
Closed: Aug 2016
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug



Sign in to add a comment

TabStripTest#testScrollingStripStackerScrollsToSelectedTab and #testScrollingStripStackerTabOffsets is flaky on tablets

Project Member Reported by ssid@chromium.org, Jul 29 2016

Issue description

First failed build:
https://uberchromegw.corp.google.com/i/chromium.android/builders/KitKat%20Tablet%20Tester/builds/4939

I see some green builds after this Cl, but mostly red. So, maybe this test became flaky.
https://uberchromegw.corp.google.com/i/chromium.android/builders/KitKat%20Tablet%20Tester

Stack trace:
********************************************************************************
C 2387.312s Main  Detailed Logs
C 2387.312s Main  ********************************************************************************
C 2387.314s Main  [FAIL] org.chromium.chrome.browser.compositor.overlays.strip.TabStripTest#testScrollingStripStackerScrollsToSelectedTab:
C 2387.314s Main  junit.framework.AssertionFailedError: ChromeTab should be visible. expected:<true> but was:<false>
C 2387.314s Main  	at org.chromium.chrome.browser.compositor.overlays.strip.TabStripTest.assertTabVisibility(TabStripTest.java:1045)
C 2387.314s Main  	at org.chromium.chrome.browser.compositor.overlays.strip.TabStripTest.testScrollingStripStackerScrollsToSelectedTab(TabStripTest.java:660)
C 2387.314s Main  	at java.lang.reflect.Method.invokeNative(Native Method)
C 2387.314s Main  	at android.test.InstrumentationTestCase.runMethod(InstrumentationTestCase.java:214)
C 2387.314s Main  	at android.test.InstrumentationTestCase.runTest(InstrumentationTestCase.java:199)
C 2387.314s Main  	at android.test.ActivityInstrumentationTestCase2.runTest(ActivityInstrumentationTestCase2.java:192)
C 2387.314s Main  	at org.chromium.chrome.test.ChromeActivityTestCaseBase.runTest(ChromeActivityTestCaseBase.java:765)
C 2387.314s Main  	at org.chromium.base.test.BaseTestResult.runParameterized(BaseTestResult.java:161)
C 2387.314s Main  	at org.chromium.base.test.BaseTestResult.run(BaseTestResult.java:124)
C 2387.314s Main  	at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:191)
C 2387.314s Main  	at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:176)
C 2387.314s Main  	at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:554)
C 2387.314s Main  	at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1701)

Suspected CL:
Changed by	sievers@chromium.org
Changed at	Tue 26 Jul 2016 17:04:13
Repository	https://chromium.googlesource.com/chromium/src
Project	src
Branch	master
Revision	3e5517a5b9a2c05bc1300539337236ccd969b2b2
Comments

Android: Fix some tab placeholder/thumbnail readbacks

There is a problem with readbacks when hiding tabs which
seems to come from the SurfaceLayer being detach from the tree.

I think this was a regression with
https://codereview.chromium.org/1732323002/ which previously
would be resilient to the actual RWHV's layer being detached.

This caused the readback to only complete when you switch back to
a tab and the layer gets reattached sometimes.
Furthermore, it caused tabs to not have placeholders in the cache
at all since TabContentManager has a kMaxReadbacks limit of 1,
so the interrupted readback was preventing other ones also.

The fix is to use the new Surface readback API which
works regardless of the SurfaceLayer's attachment state
and bypasses the UI compositor

BUG= 574537 

Review-Url: https://codereview.chromium.org/2189493002
Cr-Commit-Position: refs/heads/master@{#407980}
Changed files

content/browser/renderer_host/render_widget_host_view_android.cc

This CL seems to change the Tab view
 

Comment 1 by ssid@chromium.org, Jul 29 2016

Cc: aelias@chromium.org est...@chromium.org
Summary: Android KitKat Tablet Tester: TabStripTest#testScrollingStripStackerScrollsToSelectedTab is failing (was: KitKat Tablet Tester: TabStripTest#testScrollingStripStackerScrollsToSelectedTab is failing)
More CLs that could be related:

+Evan for https://codereview.chromium.org/2187473004
+Alex for https://codereview.chromium.org/2127023002

Comment 2 by aelias@chromium.org, Jul 29 2016

Cc: -est...@chromium.org
estade@'s CL obviously not to blame, his code is not even compiled into Clank.  I doubt it's mine, either.
Cc: twelling...@chromium.org
+ twellington

TabStripTest#testScrollingStripStackerScrollsToSelectedTab is flakily failing on the L and M Tablet bots (this test is only run on tablets). Looks like you wrote the test so hoping you might know what is wrong.

https://build.chromium.org/p/chromium.android/builders/Lollipop%20Tablet%20Tester
https://build.chromium.org/p/chromium.android/builders/Marshmallow%20Tablet%20Tester
At first pass through the list, nothing is jumping out as an obvious cause for the regression. Is the first failure an accurate regression range?


Cc: changwan@chromium.org
 Issue 635903  has been merged into this issue.
Summary: TabStripTest#testScrollingStripStackerScrollsToSelectedTab is flaky on tablets (was: Android KitKat Tablet Tester: TabStripTest#testScrollingStripStackerScrollsToSelectedTab is failing)
As noted in #3, this is happening on K, L, and M tablets: https://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=org.chromium.chrome.browser.compositor.overlays.strip.TabStripTest%23testScrollingStripStackerScrollsToSelectedTab&testType=chrome_public_test_apk
This was marked as disabled in the duped issue
Cc: siev...@chromium.org
Owner: twelling...@chromium.org
Status: Started (was: Untriaged)
I'm not sure exactly what changed to start causing this failure, but the tab actually is visible, the assert() is just happening a bit too soon (see video for verification).

Patch in-flight to fix it: https://codereview.chromium.org/2236603002


scrolling_tab_strip_test.mp4
6.1 MB View Download
Project Member

Comment 9 by bugdroid1@chromium.org, Aug 11 2016

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

commit 812c3d355853b0f9be40f1fbde02604a0a1410d7
Author: twellington <twellington@chromium.org>
Date: Thu Aug 11 03:05:59 2016

Reenable TabStripTest#testScrollingStripStackerScrollsToSelectedTab()

Poll for the selected tab to be visible rather than asserting after
waiting for idle sync. The application may be idle before the tab
is fully visible.

BUG= 632843 

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

[modify] https://crrev.com/812c3d355853b0f9be40f1fbde02604a0a1410d7/chrome/android/javatests/src/org/chromium/chrome/browser/compositor/overlays/strip/TabStripTest.java

Cc: -twelling...@chromium.org -aelias@chromium.org -siev...@chromium.org
Summary: TabStripTest#testScrollingStripStackerScrollsToSelectedTab and #testScrollingStripStackerTabOffsets is flaky on tablets (was: TabStripTest#testScrollingStripStackerScrollsToSelectedTab is flaky on tablets)
#testScrollingStripStackerScrollsToSelectedTab should be good now

When looking into this, I noticed #testScrollingStripStackerTabOffsets has been flaky as well. It looks like with my change in #9 its failed consistently for the last 3 builds on the Lollipop Tablet Tester.

I will be working on fixing these tests up more tomorrow.

https://test-results.appspot.com/dashboards/flakiness_dashboard.html#testType=chrome_public_test_apk&tests=testScrollingStripStackerTabOffsets%20
I'm going to disable #testScrollingStripStackerTabOffsets for now to try to get the bots green.

Sample failures:
https://uberchromegw.corp.google.com/i/chromium.android/builders/Lollipop%20Tablet%20Tester/builds/4357
C  757.341s Main  [FAIL] org.chromium.chrome.browser.compositor.overlays.strip.TabStripTest#testScrollingStripStackerTabOffsets:
C  757.341s Main  junit.framework.AssertionFailedError: Incorrect draw position for tab. expected:<0.0> but was:<-308.0>
C  757.341s Main  	at org.chromium.chrome.browser.compositor.overlays.strip.TabStripTest.assertTabDrawX(TabStripTest.java:1082)
C  757.341s Main  	at org.chromium.chrome.browser.compositor.overlays.strip.TabStripTest.testScrollingStripStackerTabOffsets(TabStripTest.java:732)
C  757.341s Main  	at android.test.InstrumentationTestCase.runMethod(InstrumentationTestCase.java:214)
C  757.341s Main  	at android.test.InstrumentationTestCase.runTest(InstrumentationTestCase.java:199)
C  757.341s Main  	at android.test.ActivityInstrumentationTestCase2.runTest(ActivityInstrumentationTestCase2.java:192)
C  757.341s Main  	at org.chromium.chrome.test.ChromeActivityTestCaseBase.runTest(ChromeActivityTestCaseBase.java:765)
C  757.341s Main  	at org.chromium.base.test.BaseTestResult.runParameterized(BaseTestResult.java:161)
C  757.341s Main  	at org.chromium.base.test.BaseTestResult.run(BaseTestResult.java:124)
C  757.341s Main  	at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:191)
C  757.341s Main  	at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:176)
C  757.342s Main  	at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:555)
C  757.342s Main  	at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1853)


https://uberchromegw.corp.google.com/i/chromium.android/builders/Lollipop%20Tablet%20Tester/builds/4358
C  886.193s Main  [FAIL] org.chromium.chrome.browser.compositor.overlays.strip.TabStripTest#testScrollingStripStackerTabOffsets:
C  886.194s Main  junit.framework.AssertionFailedError: ChromeTab should not be visible. expected:<false> but was:<true>
C  886.194s Main  	at org.chromium.chrome.browser.compositor.overlays.strip.TabStripTest.assertTabVisibility(TabStripTest.java:1072)
C  886.194s Main  	at org.chromium.chrome.browser.compositor.overlays.strip.TabStripTest.assertTabVisibilityForScrollingStripStacker(TabStripTest.java:1053)
C  886.194s Main  	at org.chromium.chrome.browser.compositor.overlays.strip.TabStripTest.compareTabViewWithModel(TabStripTest.java:876)
C  886.194s Main  	at org.chromium.chrome.browser.compositor.overlays.strip.TabStripTest.compareTabStripWithModel(TabStripTest.java:915)
C  886.194s Main  	at org.chromium.chrome.browser.compositor.overlays.strip.TabStripTest.compareAllTabStripsWithModel(TabStripTest.java:925)
C  886.194s Main  	at org.chromium.chrome.browser.compositor.overlays.strip.TabStripTest.assertSetTabStripScrollOffset(TabStripTest.java:984)
C  886.194s Main  	at org.chromium.chrome.browser.compositor.overlays.strip.TabStripTest.testScrollingStripStackerTabOffsets(TabStripTest.java:736)
C  886.194s Main  	at android.test.InstrumentationTestCase.runMethod(InstrumentationTestCase.java:214)
C  886.194s Main  	at android.test.InstrumentationTestCase.runTest(InstrumentationTestCase.java:199)
C  886.194s Main  	at android.test.ActivityInstrumentationTestCase2.runTest(ActivityInstrumentationTestCase2.java:192)
C  886.194s Main  	at org.chromium.chrome.test.ChromeActivityTestCaseBase.runTest(ChromeActivityTestCaseBase.java:765)
C  886.194s Main  	at org.chromium.base.test.BaseTestResult.runParameterized(BaseTestResult.java:161)
C  886.194s Main  	at org.chromium.base.test.BaseTestResult.run(BaseTestResult.java:124)
C  886.194s Main  	at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:191)
C  886.194s Main  	at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:176)
C  886.195s Main  	at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:555)
C  886.195s Main  	at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1853)
Project Member

Comment 12 by bugdroid1@chromium.org, Aug 11 2016

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

commit bba868bfa20e316f45052b03c140371bd65d78ed
Author: twellington <twellington@chromium.org>
Date: Thu Aug 11 08:50:07 2016

Disable TabStripTest#testScrollingStripStackerTabOffsets

Failing on Lollipop Tablet Tester

BUG= 632843 
TBR=changwan@chromium.org

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

[modify] https://crrev.com/bba868bfa20e316f45052b03c140371bd65d78ed/chrome/android/javatests/src/org/chromium/chrome/browser/compositor/overlays/strip/TabStripTest.java

Status: Fixed (was: Started)

Sign in to add a comment