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

Issue 775648 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Nov 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Bug



Sign in to add a comment

org.chromium.content.browser.input.ImeTest#testImeCopy flaky

Project Member Reported by thakis@chromium.org, Oct 17 2017

Issue description

failed on https://build.chromium.org/p/tryserver.chromium.android/builders/linux_android_rel_ng/builds/408469 for a non-android CL.

junit.framework.AssertionFailedError: input connection should not be null.
	at junit.framework.Assert.fail(Assert.java:50)
	at junit.framework.Assert.assertTrue(Assert.java:20)
	at org.chromium.content.browser.test.util.CriteriaHelper.pollInstrumentationThread(CriteriaHelper.java:79)
	at org.chromium.content.browser.test.util.CriteriaHelper.pollUiThread(CriteriaHelper.java:117)
	at org.chromium.content.browser.test.util.CriteriaHelper.pollUiThread(CriteriaHelper.java:138)
	at org.chromium.content.browser.input.ImeActivityTestRule.assertWaitForKeyboardStatus(ImeActivityTestRule.java:229)
	at org.chromium.content.browser.input.ImeActivityTestRule.setUp(ImeActivityTestRule.java:105)
	at org.chromium.content.browser.input.ImeTest.setUp(ImeTest.java:47)
	at java.lang.reflect.Method.invokeNative(Native Method)
	at java.lang.reflect.Method.invoke(Method.java:515)
	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.RunBefores.evaluate(RunBefores.java:24)
	at org.chromium.base.test.ScreenshotOnFailureStatement.evaluate(ScreenshotOnFailureStatement.java:37)
	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.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:100)
	at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1701)
Searching for native crashes in: /b/swarming/w/itJM51fg/tmpXE6T6S
Unknown Android release, consider passing --packed-lib.
Reading Android symbols from: /b/swarming/w/ir
Searching for Chrome symbols from within: /b/swarming/w/ir/out/Release/lib.unstripped:/b/swarming/w/ir/out/Release/lib:/b/swarming/w/ir/out/Release


 
Cc: changwan@chromium.org
hmm, I am not sure why this would be happening, added +changwan who have more experience with this test.

Based on the test code, the actual failure seems to be happening here: https://cs.chromium.org/chromium/src/content/public/android/javatests/src/org/chromium/content/browser/input/ImeActivityTestRule.java?q=ImeActivity&sq=package:chromium&l=290

but I am not sure what exception it actually happened in the try block or maybe the `getInputConnectionForTest` just returned null

Good thing is, the test seem no that flaky...for now (https://test-results.appspot.com/dashboards/flakiness_dashboard.html#testType=content_shell_test_apk&showAllRuns=true&tests=org.chromium.content.browser.input.ImeTest%23testImeCopy)
Components: UI>Input>Text>IME
Owner: rlanday@chromium.org
Status: Assigned (was: Untriaged)
There were a few occasions of this type of failures especially on official build, but it was very hard to reproduce at that time.

Assigning to rlanday@ for backlog.
Labels: -Pri-3 Pri-2
It appears that a lot of these ImeTests are super flaky:
https://test-results.appspot.com/dashboards/flakiness_dashboard.html#testType=content_shell_test_apk&tests=ImeTest

Unfortunately, I have not yet determined how to reproduce this flakiness on a local test device.
Status: Fixed (was: Assigned)
I made some changes to reduce flakiness in ImeTest, and the dashboard is starting to look better (at least since  crbug.com/786194  causing Content Shell to crash was fixed). I'm going to close this.

Sign in to add a comment