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

Issue 795423 link

Starred by 2 users

Issue metadata

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



Sign in to add a comment

"org.chromium.android_webview.test.AwImeTest#testImeDpadMovesFocusOutOfWebView" is disabled due to flakiness

Project Member Reported by chromium...@appspot.gserviceaccount.com, Dec 15 2017

Issue description

"org.chromium.android_webview.test.AwImeTest#testImeDpadMovesFocusOutOfWebView" is flaky.

This issue was created automatically by the chromium-try-flakes app. Please find the right owner to fix the respective test/step and assign this issue to them. If the step/test is infrastructure-related, please add Infra-Troopers label and change issue status to Untriaged. When done, please remove the issue from Sheriff Bug Queue by removing the Sheriff-Chromium label.

We have detected 3 recent flakes. List of all flakes can be found at https://chromium-try-flakes.appspot.com/all_flake_occurrences?key=ahVzfmNocm9taXVtLXRyeS1mbGFrZXNyWAsSBUZsYWtlIk1vcmcuY2hyb21pdW0uYW5kcm9pZF93ZWJ2aWV3LnRlc3QuQXdJbWVUZXN0I3Rlc3RJbWVEcGFkTW92ZXNGb2N1c091dE9mV2ViVmlldww.

Flaky tests should be disabled within 30 minutes unless culprit CL is found and reverted. Please see more details here: https://sites.google.com/a/chromium.org/dev/developers/tree-sheriffs/sheriffing-bug-queues#triaging-auto-filed-flakiness-bugs

This flaky test/step was previously tracked in  issue 793511 .
 
Owner: rlanday@chromium.org
Status: Assigned (was: Untriaged)
This test fails from time to time on android_n5x_swarming_rel, please take a look 
Cc: changwan@chromium.org
Components: UI>Input>Text>IME
Labels: OS-Android
It seems that focusing the editable WebView is not always showing the keyboard. We might be able to fix it by calling imm.showSoftInput() (some of the tests call this on the EditText immediately before moving to the WebView, and those tests are apparently not flaky; testDpadDispatchKeyEventMovesFocusOutOfWebView() does *not* call showSoftInput() and is *also* flaky).

This might be related to crbug.com/793963 though (focused WebView is not always showing keyboard), so I'm going to take a look at that bug.
Project Member

Comment 3 by bugdroid1@chromium.org, Dec 18 2017

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

commit 8d56a35f7d423bd837f2f881c55f251aaceab809
Author: Ryan Landay <rlanday@chromium.org>
Date: Mon Dec 18 22:34:26 2017

Attempt to fix flakiness in AwImeTest dpad tests

AwImeTest#testImeDpadMovesFocusOutOfWebView() and
AwImeTest#testDpadDispatchKeyEventMovesFocusOutOfWebView() are exhibiting
flakiness. It appears that calling focusOnWebViewAndEnableEditing() alone does
not consistently create an InputConnection. However,
testPressNextFromEditTextAndType(), which calls focusOnEditTextAndShowKeyboard()
and then focusOnWebViewAndEnableEditing(), and verifies that an InputConnection
was created, is not exhibiting flakiness.

In this CL, I am adding calls to focusOnEditTextAndShowKeyboard() in the DPAD
test cases to force the keyboard to show before calling
focusOnWebViewAndEnableEditing() (I think the key is probably the call to
imm.showSoftInput() in focusOnEditTextAndShowKeyboard()).

Bug: 795423
Change-Id: Ib3e38650144fee3091c08de60f4663f101798681
Reviewed-on: https://chromium-review.googlesource.com/832935
Reviewed-by: Richard Coles <torne@chromium.org>
Commit-Queue: Ryan Landay <rlanday@chromium.org>
Cr-Commit-Position: refs/heads/master@{#524837}
[modify] https://crrev.com/8d56a35f7d423bd837f2f881c55f251aaceab809/android_webview/javatests/src/org/chromium/android_webview/test/AwImeTest.java

It appears the test is still flaky; there's an exception occurring:

https://00e9e64bac24b5078e7e642cb82284581a60620227e799d92a-apidata.googleusercontent.com/download/storage/v1/b/chromium-result-details/o/html%2Fwebview_instrumentation_test_apk_android_n5x_swarming_rel_328489_2017_12_19_T02_50_48-UTC?qk=AD5uMEuraJgFhGqVEQWGNRWefXLVIqHWQrwYlng3FcTFUDKGoMfxKvjGEPiM4214-dWdAlX_3H8xgfcJs0Lm4xkaDjOfh90foXk_e5dDbovyAcUexwo4u24uSOR84lp_Cbem1__soJgFwvJmIPrplxa_al-RMWrrOhNQA8BTzJqbQk81gMDtUJInEilYvyUP402VwC8ll9CBULTLL4buZgEmgO5bJFITlKSB2UouniaknUN6qQa_-4Fz_ZuoHxS-3Fc12uLQAN3KVleJxO5akD15-PNWqPtaxK7DeVtE-WgvKGYAWcQsQTHaDYrg8rn5rnU2WU3CIG6Wk7l0Jnb0nWFNAF8_yHLkX7xBsEuBGLTMsbLyNNhvsQsTu6PRyU2HQYKxw8KNXD6zYrcxsIG_8SbGKaqPhMSahD7GsKNPIBJplhPRL95PSO8dH_Ntk78jvPt-a7-rGOAxTP37xC-M4Rm3pBfnOaRxfoB3XssvLnWycLNSkFGAqYkt3h87lSvIL3nVGoZemwc8u1EqvJSqtB5oeLHj3nqzLidg1t4gRPVlufUsEjsVAtustmZsf8gz6td5Q0bYuFZ84qbCsvOUhurSghxWDkhLaN4yTphPQtCwBb8xBHgjEU6IQLz-jfDCBmYXAwztXVbdXDt66v_LXOWINGxSFoE73QcIySUyMuxHHVbRZ0rBbVSkwQjS8xUQ7uVD5isKgdrT45Fy6sQk_DjW2mfoYpvCnIXC0owQaYg55E0sP1b7Xw3cUlr3uFVERIz7c7Y-eN3DJcpz4BPCqxxo_fJ1t4B65MSrAhLJ2mKFiG4kWP-WHSARA69TfTRgLwWTR0gA6qQo1NFhGC42IHWluRLD2S49Ko4mEB9ynhT_Quq1y3oLh74

java.lang.RuntimeException: Exception occurred while waiting for runnable
	at org.chromium.base.ThreadUtils.runOnUiThreadBlocking(ThreadUtils.java:81)
	at org.chromium.android_webview.test.AwImeTest.testImeDpadMovesFocusOutOfWebView(AwImeTest.java:164)
	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.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
	at org.chromium.base.test.ScreenshotOnFailureStatement.evaluate(ScreenshotOnFailureStatement.java:37)
	at org.chromium.android_webview.test.AwActivityTestRule$1.evaluate(AwActivityTestRule.java:72)
	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.android_webview.test.AwJUnit4ClassRunner.runChild(AwJUnit4ClassRunner.java:66)
	at org.chromium.android_webview.test.AwJUnit4ClassRunner.runChild(AwJUnit4ClassRunner.java:33)
	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)
Caused by: java.util.concurrent.ExecutionException: java.lang.NullPointerException: Attempt to invoke interface method 'boolean android.view.inputmethod.InputConnection.sendKeyEvent(android.view.KeyEvent)' on a null object reference
	at java.util.concurrent.FutureTask.report(FutureTask.java:94)
	at java.util.concurrent.FutureTask.get(FutureTask.java:164)
	at org.chromium.base.ThreadUtils.runOnUiThreadBlocking(ThreadUtils.java:79)
	... 38 more
Caused by: java.lang.NullPointerException: Attempt to invoke interface method 'boolean android.view.inputmethod.InputConnection.sendKeyEvent(android.view.KeyEvent)' on a null object reference
	at org.chromium.android_webview.test.AwImeTest.lambda$testImeDpadMovesFocusOutOfWebView$3$AwImeTest(AwImeTest.java:165)
	at org.chromium.android_webview.test.AwImeTest$$Lambda$3.run(Unknown Source)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:423)
	at java.util.concurrent.FutureTask.run(FutureTask.java:237)
	at android.os.Handler.handleCallback(Handler.java:739)
	at android.os.Handler.dispatchMessage(Handler.java:95)
	at android.os.Looper.loop(Looper.java:148)
	at android.app.ActivityThread.main(ActivityThread.java:5417)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

Searching for native crashes in: /b/swarming/w/itDPUtL1/tmps8GH0F
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


and also a separate bug where the dpad keypress doesn't actually move focus:

https://00e9e64bac3e2f7b69f69c8b2615429fcb69480443c0010118-apidata.googleusercontent.com/download/storage/v1/b/chromium-result-details/o/html%2Fwebview_instrumentation_test_apk_android_n5x_swarming_rel_328467_2017_12_19_T02_03_00-UTC?qk=AD5uMEtc0WIlbVJ-o_cKZ8Yd1v1dJfodG3kenWTUgezvjPK-9N8-PeAVT69VDjgVpU4hHHUpEVxjlNkavxy31DFc3-prRA9dAwSTL8pqrmYO-IZFZ1HvPvN9tJcu15-RltS2Rr6zV1HnkscWfI_ZwxqBVF5RHWJetZD1xwzdgcAPXMrumfHsfUXwkuKvxoxuQztEnQ0lPixx9hGps3bqcSiNffPkeh7Z_sEFWObNlUb5h3bsLh_u2tr7KoEcLyGHRNSRe52jM7FaS7AJTdggv2uB2j2PXL1X6yTPZvzSRtDHhML98MGfe1ngQb-IZJFZJ-sjYM3fem9_SMP7Hkw35bjhaszvY4ohKuDrqIPjC2dhdyUbtgEsVR4KQ6hxSXnIFdhTkvB7EgVKWRGUJmgQFv1Xz49C3MOk50JFw_FrW3nJcYcFg3ObuGk9Z4YxKjGvJsMKILi8c_X1Dl4rPMnFZ9wLTVtsYrhHZLKTBDa6UGJ_XfIEKl9HKf9VLaDQJRg9RfD7M0rMI9p3JCwPSyi92IahsRHAGVLrCvkPlTL0QNNNfhDNfh4mNeCp01kc5t2pJyNCi0cNWf69_Z8-vwZl_j__wdfwk7HD6HqMeo_RVJ6zJKKGhvRUjtY9yiOdt65Fp0FL_RdvMzHOWeJ_BFtQ6Zk-QE5hsgtSDdcQZoBjuEAY21cVRd_X54A0d-y9jGtqwbuGNgZduzIQWDPPzAJMk_TojGT4n_lkJSnhsASf8btBtyVaOREBt6oxAC2h0bfdxf2cGU83xNwZ9TVcqhNstZzeLOJ1oLEyKTMeMNB8VpQIY6OL-W125RIZSScrYq3nfNUgKq2VSnu1EijnbpsM_FicQ1Y9m5UwTwz28voLnf6W825aRiz12Tk


java.lang.AssertionError: Criteria not met in allotted time.
	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.android_webview.test.AwImeTest.testImeDpadMovesFocusOutOfWebView(AwImeTest.java:169)
	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.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
	at org.chromium.base.test.ScreenshotOnFailureStatement.evaluate(ScreenshotOnFailureStatement.java:37)
	at org.chromium.android_webview.test.AwActivityTestRule$1.evaluate(AwActivityTestRule.java:72)
	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.android_webview.test.AwJUnit4ClassRunner.runChild(AwJUnit4ClassRunner.java:66)
	at org.chromium.android_webview.test.AwJUnit4ClassRunner.runChild(AwJUnit4ClassRunner.java:33)
	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)

Searching for native crashes in: /b/swarming/w/itHp9Tmj/tmpkwpePU
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

Comment 5 by osh...@chromium.org, Dec 20 2017

I'll disable this for the time being. Please re-enable when the issue is fixed.
Project Member

Comment 7 by bugdroid1@chromium.org, Dec 20 2017

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

commit f407f479ac2b02b2a28d46ed2ed4b2590ad790e2
Author: Roger McFarlane <rogerm@chromium.org>
Date: Wed Dec 20 21:31:39 2017

[Sheriff] AwImeTest#testImeDpadMovesFocusOutOfWebView is flaky

BUG=795423
TBR=rlanday@chromium.org, torne@chromium.org, oshima@chromium.org

Change-Id: If9d3ada4b744f3325bcf23d138351372ff4d4f30
Reviewed-on: https://chromium-review.googlesource.com/836757
Commit-Queue: Roger McFarlane <rogerm@chromium.org>
Reviewed-by: Roger McFarlane <rogerm@chromium.org>
Cr-Commit-Position: refs/heads/master@{#525465}
[modify] https://crrev.com/f407f479ac2b02b2a28d46ed2ed4b2590ad790e2/android_webview/javatests/src/org/chromium/android_webview/test/AwImeTest.java

Labels: -Sheriff-Chromium
Cc: rlanday@chromium.org
Labels: -Pri-1 Pri-3
Owner: ----
Status: Available (was: Assigned)
Summary: "org.chromium.android_webview.test.AwImeTest#testImeDpadMovesFocusOutOfWebView" is disabled due to flakiness (was: "org.chromium.android_webview.test.AwImeTest#testImeDpadMovesFocusOutOfWebView" is flaky)
The test is currently disabled. Not ideal but I don't think it's worth more of time to try to fix it.

Sign in to add a comment