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

Issue 598401 link

Starred by 1 user

Issue metadata

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



Sign in to add a comment

ImeLollipopTest#testUpdateCursorAnchorInfo flaking on Lollipop testers

Project Member Reported by dfalcant...@chromium.org, Mar 28 2016

Issue description

https://build.chromium.org/p/chromium.android/builders/Lollipop%20Low-end%20Tester/builds/2869

Looks like it's trying to access a null info.compositingText() string, but it's not doing a null check, which CursorAnchorInfo says is possible:

C  326.131s Main  ********************************************************************************
C  326.131s Main  Detailed Logs
C  326.131s Main  ********************************************************************************
C  326.132s Main  [FAIL] org.chromium.content.browser.input.ImeLollipopTest#testUpdateCursorAnchorInfo:
C  326.132s Main  java.lang.RuntimeException: Error occured waiting for callable
C  326.132s Main  	at org.chromium.base.ThreadUtils.runOnUiThreadBlockingNoException(ThreadUtils.java:91)
C  326.133s Main  	at org.chromium.content.browser.test.util.CriteriaHelper$2.isSatisfied(CriteriaHelper.java:115)
C  326.133s Main  	at org.chromium.content.browser.test.util.CriteriaHelper.pollInstrumentationThread(CriteriaHelper.java:68)
C  326.133s Main  	at org.chromium.content.browser.test.util.CriteriaHelper.pollUiThread(CriteriaHelper.java:112)
C  326.133s Main  	at org.chromium.content.browser.test.util.CriteriaHelper.pollUiThread(CriteriaHelper.java:133)
C  326.133s Main  	at org.chromium.content.browser.input.ImeLollipopTest.waitForUpdateCursorAnchorInfoComposingText(ImeLollipopTest.java:87)
C  326.133s Main  	at org.chromium.content.browser.input.ImeLollipopTest.testUpdateCursorAnchorInfo(ImeLollipopTest.java:32)
C  326.133s Main  	at android.test.InstrumentationTestCase.runMethod(InstrumentationTestCase.java:214)
C  326.133s Main  	at android.test.InstrumentationTestCase.runTest(InstrumentationTestCase.java:199)
C  326.133s Main  	at android.test.ActivityInstrumentationTestCase2.runTest(ActivityInstrumentationTestCase2.java:192)
C  326.133s Main  	at org.chromium.content_shell_apk.ContentShellTestBase.runTest(ContentShellTestBase.java:232)
C  326.133s Main  	at org.chromium.base.test.BaseTestResult.runParameterized(BaseTestResult.java:161)
C  326.133s Main  	at org.chromium.base.test.BaseTestResult.run(BaseTestResult.java:124)
C  326.133s Main  	at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:191)
C  326.133s Main  	at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:176)
C  326.133s Main  	at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:555)
C  326.133s Main  	at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1853)
C  326.134s Main  Caused by: java.util.concurrent.ExecutionException: java.lang.NullPointerException: Attempt to invoke interface method 'java.lang.String java.lang.CharSequence.toString()' on a null object reference
C  326.134s Main  	at java.util.concurrent.FutureTask.report(FutureTask.java:93)
C  326.134s Main  	at java.util.concurrent.FutureTask.get(FutureTask.java:163)
C  326.134s Main  	at org.chromium.base.ThreadUtils.runOnUiThreadBlocking(ThreadUtils.java:107)
C  326.134s Main  	at org.chromium.base.ThreadUtils.runOnUiThreadBlockingNoException(ThreadUtils.java:89)
C  326.134s Main  	... 23 more
C  326.134s Main  Caused by: java.lang.NullPointerException: Attempt to invoke interface method 'java.lang.String java.lang.CharSequence.toString()' on a null object reference
C  326.134s Main  	at org.chromium.content.browser.input.ImeLollipopTest$4.isSatisfied(ImeLollipopTest.java:91)
C  326.134s Main  	at org.chromium.content.browser.test.util.CriteriaHelper$1.call(CriteriaHelper.java:108)
C  326.134s Main  	at org.chromium.content.browser.test.util.CriteriaHelper$1.call(CriteriaHelper.java:105)
C  326.134s Main  	at java.util.concurrent.FutureTask.run(FutureTask.java:237)
C  326.134s Main  	at android.os.Handler.handleCallback(Handler.java:739)
C  326.134s Main  	at android.os.Handler.dispatchMessage(Handler.java:95)
C  326.134s Main  	at android.os.Looper.loop(Looper.java:135)
C  326.134s Main  	at android.app.ActivityThread.main(ActivityThread.java:5254)
C  326.134s Main  	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
C  326.135s Main  	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
C  326.135s Main  ********************************************************************************

Assigning to test author, but landing a null check in the meantime.
 
Summary: ImeLollipopTest#testUpdateCursorAnchorInfo flaking on Lollipop testers (was: ImeLollipopTest#testUpdateCursorAnchorInfo flaking on Lollipop Low-End Phone tester)
Happens on the other Lollipop testers, too.  Generalizing.

https://uberchromegw.corp.google.com/i/chromium.android/builders/Lollipop%20Tablet%20Tester/builds/2429/steps/Instrumentation%20test%20content_shell_test_apk/logs/stdio
Labels: OS-Android
Project Member

Comment 3 by bugdroid1@chromium.org, Mar 28 2016

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

commit 26220ce2e7ccf3e45ffe48b5cd59312fd0b52d09
Author: dfalcantara <dfalcantara@chromium.org>
Date: Mon Mar 28 21:05:41 2016

Add null check to ImeLollipopTest to address flake

The function can return null but it's immediately trying to
dereference it without checking.

BUG= 598401 

Review URL: https://codereview.chromium.org/1837003002

Cr-Commit-Position: refs/heads/master@{#383561}

[modify] https://crrev.com/26220ce2e7ccf3e45ffe48b5cd59312fd0b52d09/content/public/android/javatests/src/org/chromium/content/browser/input/ImeLollipopTest.java

Cc: kinaba@chromium.org
Owner: dfalcant...@chromium.org
Status: Fixed (was: Assigned)
Going to mark this tentatively fixed with my patch.

Comment 5 by kinaba@chromium.org, Mar 29 2016

Thanks you very much! I think the fix is just correct and kept as-is.

Sign in to add a comment