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

Issue 792873 link

Starred by 1 user

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Bug



Sign in to add a comment

org.chromium.chrome.browser.suggestions.TileGridLayoutTest#testHomePageRemainsAsLastElementInOnlyRow

Project Member Reported by sheriff-...@appspot.gserviceaccount.com, Dec 7 2017

Issue description

Filed by sheriff-o-matic@appspot.gserviceaccount.com on behalf of perezju@google.com

chrome_public_test_apk failing on chromium.android/Marshmallow 64 bit Tester

Builders failed on: 
- Marshmallow 64 bit Tester: 
  https://build.chromium.org/p/chromium.android/builders/Marshmallow%2064%20bit%20Tester


 
Cc: fhorschig@chromium.org
This test has failed recently in:

https://ci.chromium.org/buildbot/chromium.android/Marshmallow%2064%20bit%20Tester/17944
https://ci.chromium.org/buildbot/chromium.android/Marshmallow%2064%20bit%20Tester/17936
https://ci.chromium.org/buildbot/chromium.android/Marshmallow%2064%20bit%20Tester/17934

+fhorschig, you recently touched this test. Could you help triage?

Error on a recent failure reads:

java.lang.RuntimeException: Could not launch intent Intent { act=android.intent.action.VIEW cat=[android.intent.category.LAUNCHER] dat=chrome-native://newtab/ flg=0x14000000 cmp=org.chromium.chrome/.browser.document.ChromeLauncherActivity } within 45 seconds. Perhaps the main thread has not gone idle within a reasonable amount of time? There could be an animation or something constantly repainting the screen. Or the activity is doing network calls on creation? See the threaddump logs. For your reference the last time the event queue was idle before your activity launch request was 1512647502141 and now the last time the queue went idle was: 1512647511983. If these numbers are the same your activity might be hogging the event queue.
	at android.support.test.runner.MonitoringInstrumentation.startActivitySync(MonitoringInstrumentation.java:360)
	at org.chromium.chrome.test.ChromeActivityTestRule.startActivityCompletely(ChromeActivityTestRule.java:197)
	at org.chromium.chrome.test.ChromeActivityTestRule.startMainActivityFromIntent(ChromeActivityTestRule.java:388)
	at org.chromium.chrome.test.ChromeActivityTestRule.startMainActivityWithURL(ChromeActivityTestRule.java:355)
	at org.chromium.chrome.browser.suggestions.TileGridLayoutTest.setUpFakeDataToShowOnNtp(TileGridLayoutTest.java:310)
	at org.chromium.chrome.browser.suggestions.TileGridLayoutTest.testHomePageRemainsAsLastElementInOnlyRow(TileGridLayoutTest.java:135)
	at java.lang.reflect.Method.invoke(Native Method)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:52)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
	at org.chromium.base.test.ScreenshotOnFailureStatement.evaluate(ScreenshotOnFailureStatement.java:37)
	at org.chromium.chrome.test.ChromeActivityTestRule$1.evaluate(ChromeActivityTestRule.java:116)
	at android.support.test.internal.statement.UiThreadStatement.evaluate(UiThreadStatement.java:55)
	at android.support.test.rule.ActivityTestRule$ActivityStatement.evaluate(ActivityTestRule.java:270)
	at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)
	at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)
	at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)
	at org.junit.rules.RunRules.evaluate(RunRules.java:20)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
	at org.chromium.base.test.BaseJUnit4ClassRunner.runChild(BaseJUnit4ClassRunner.java:184)
	at org.chromium.base.test.BaseJUnit4ClassRunner.runChild(BaseJUnit4ClassRunner.java:41)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at org.chromium.base.test.BaseJUnit4ClassRunner.run(BaseJUnit4ClassRunner.java:166)
	at org.junit.runners.Suite.runChild(Suite.java:128)
	at org.junit.runners.Suite.runChild(Suite.java:27)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
	at android.support.test.internal.runner.TestExecutor.execute(TestExecutor.java:59)
	at android.support.test.runner.AndroidJUnitRunner.onStart(AndroidJUnitRunner.java:262)
	at org.chromium.base.test.BaseChromiumAndroidJUnitRunner.onStart(BaseChromiumAndroidJUnitRunner.java:99)
	at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1879)

Cc: mvanouwe...@chromium.org dgn@chromium.org
Components: UI>Browser>ContentSuggestions
Labels: zine-triaged OS-Android Type-Bug
I can not find any recent CL that could have influenced the test or the activity startup. And the last 100 runs haven't had a similar failure. Can this be a bot flake?

Of the three failures, the attached error happened twice, the third failure was due to a "RecyclerView dirty" exception. Two other failures seem to be related to an unfinished NTP start, e.g. https://ci.chromium.org/buildbot/chromium.android/Marshmallow%2064%20bit%20Tester/17941


+dgn, mvanouwerkerk for advice

Michael, Nicholas: 
Have you ever encountered this before?
Would it be appropriate to use "@RetryOnFailure" here?

Comment 3 by dgn@chromium.org, Dec 7 2017

Same flake reason as issue 791865 or issue 753861. Duplicate with one of them?
Thanks a lot!
I will mark it "RetryOnFailure" as done in issue 753861 (just so sheriffs don't have to investigate this repeatedly) and then mark as duplicate for issue 791865.
Owner: fhorschig@chromium.org
Status: Assigned (was: Available)

Comment 6 by dgn@chromium.org, Dec 7 2017

I don't know if it's the right approach, as the test is failing for some random reason in the test system. Marking them RoR will not stop the failures from popping up in other random tests. It's also not happening _that_ often.

Also, the test in 
https://ci.chromium.org/buildbot/chromium.android/Marshmallow%2064%20bit%20Tester/17934 is failing for a different reason:

java.lang.AssertionError: The recycler view is dirty.
	at org.junit.Assert.fail(Assert.java:88)
	at org.junit.Assert.assertTrue(Assert.java:41)
	at org.chromium.content.browser.test.util.CriteriaHelper.pollInstrumentationThread(CriteriaHelper.java:93)
	at org.chromium.content.browser.test.util.CriteriaHelper.pollUiThread(CriteriaHelper.java:172)
	at org.chromium.content.browser.test.util.CriteriaHelper.pollUiThread(CriteriaHelper.java:194)
	at org.chromium.chrome.test.util.browser.RecyclerViewTestUtils.waitForStableRecyclerView(RecyclerViewTestUtils.java:79)
	at org.chromium.chrome.browser.suggestions.TileGridLayoutTest.setUpFakeDataToShowOnNtp(TileGridLayoutTest.java:318)
	at org.chromium.chrome.browser.suggestions.TileGridLayoutTest.testHomePageRemainsAsLastElementInOnlyRow(TileGridLayoutTest.java:135)
	at java.lang.reflect.Method.invoke(Native Method)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:52)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
	at org.chromium.base.test.ScreenshotOnFailureStatement.evaluate(ScreenshotOnFailureStatement.java:37)
	at org.chromium.chrome.test.ChromeActivityTestRule$1.evaluate(ChromeActivityTestRule.java:116)
	at android.support.test.internal.statement.UiThreadStatement.evaluate(UiThreadStatement.java:55)
	at android.support.test.rule.ActivityTestRule$ActivityStatement.evaluate(ActivityTestRule.java:270)
	at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)
	at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)
	at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)
	at org.junit.rules.RunRules.evaluate(RunRules.java:20)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
	at org.chromium.base.test.BaseJUnit4ClassRunner.runChild(BaseJUnit4ClassRunner.java:184)
	at org.chromium.base.test.BaseJUnit4ClassRunner.runChild(BaseJUnit4ClassRunner.java:41)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at org.chromium.base.test.BaseJUnit4ClassRunner.run(BaseJUnit4ClassRunner.java:166)
	at org.junit.runners.Suite.runChild(Suite.java:128)
	at org.junit.runners.Suite.runChild(Suite.java:27)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
	at android.support.test.internal.runner.TestExecutor.execute(TestExecutor.java:59)
	at android.support.test.runner.AndroidJUnitRunner.onStart(AndroidJUnitRunner.java:262)
	at org.chromium.base.test.BaseChromiumAndroidJUnitRunner.onStart(BaseChromiumAndroidJUnitRunner.java:99)
	at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1879)

See the screenshot in result details: it's blocked on a signin page, I don't know why.
Labels: -Sheriff-Chromium
Looks from the comments above like the sheriffs don't need to be on this.  Removing from sheriff queue.
The underlying problem for the RecyclerView failure also occurs before the test setup has even finished.

If we want to prevent hiding the problem, we can observe until Monday whether there is a significant amount of failure. If so, we can submit the RetryOnFailure: https://crrev.com/c/814557.

Comment 9 by dgn@chromium.org, Dec 8 2017

Cc: jbudorick@chromium.org yolandyan@chromium.org
Looking at the post test screenshots on failure from all 3: https://ci.chromium.org/buildbot/chromium.android/Marshmallow%2064%20bit%20Tester/17934
https://ci.chromium.org/buildbot/chromium.android/Marshmallow%2064%20bit%20Tester/17936
https://ci.chromium.org/buildbot/chromium.android/Marshmallow%2064%20bit%20Tester/17944

You get the screenshot below: the device is showing the Play services signin page. On one hand, adding @RetryOnFailure would reboot the device and get rid of the signin page. On the other hand it's a pain when trying to debug tests locally and does not solve the underlying issue.

+jbudorick@, +yolandyan@ any idea what could be causing this or if there is an issue we can dupe it into?

1ebaa13c636c13542ef45385aa03505fd4826ac6 (1)
55.3 KB View Download
Cc: -fhorschig@chromium.org
Labels: zine-maintenance
Owner: ----
Adding zine-maintenance label so new owners know to pick it up if support from NTP team should be needed.
The RetryOnFailure quick fix was abandoned: https://crrev.com/c/814557.
Status: Available (was: Assigned)

Sign in to add a comment