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

Issue 788826 link

Starred by 1 user

Issue metadata

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

Blocking:
issue 784331



Sign in to add a comment

ChildProcessLauncherTest#testLaunchServiceThatUsesConnectionAllocator and testLaunchServiceCreatedWithBoundConnection fail on Android O

Project Member Reported by mariakho...@chromium.org, Nov 27 2017

Issue description

Log: https://logs.chromium.org/v/?s=chrome%2Fbb%2Finternal.client.clank%2Ftest-o-phone%2F1225%2F%2B%2Frecipes%2Fsteps%2Fcontent_shell_test_apk%2F0%2Fstdout

I  161.038s run_tests_on_device(FA6AB0304025)  detected failure in org.chromium.content.browser.ChildProcessLauncherTest#testLaunchServiceThatUsesConnectionAllocator. raw output:
I  161.038s run_tests_on_device(FA6AB0304025)    INSTRUMENTATION_STATUS: class=org.chromium.content.browser.ChildProcessLauncherTest
I  161.038s run_tests_on_device(FA6AB0304025)    INSTRUMENTATION_STATUS: current=1
I  161.038s run_tests_on_device(FA6AB0304025)    INSTRUMENTATION_STATUS: id=AndroidJUnitRunner
I  161.038s run_tests_on_device(FA6AB0304025)    INSTRUMENTATION_STATUS: numtests=1
I  161.038s run_tests_on_device(FA6AB0304025)    INSTRUMENTATION_STATUS: stream=
I  161.038s run_tests_on_device(FA6AB0304025)    org.chromium.content.browser.ChildProcessLauncherTest:
I  161.038s run_tests_on_device(FA6AB0304025)    INSTRUMENTATION_STATUS: test=testLaunchServiceThatUsesConnectionAllocator
I  161.038s run_tests_on_device(FA6AB0304025)    INSTRUMENTATION_STATUS_CODE: 1
I  161.038s run_tests_on_device(FA6AB0304025)    INSTRUMENTATION_STATUS: class=org.chromium.content.browser.ChildProcessLauncherTest
I  161.038s run_tests_on_device(FA6AB0304025)    INSTRUMENTATION_STATUS: current=1
I  161.038s run_tests_on_device(FA6AB0304025)    INSTRUMENTATION_STATUS: id=AndroidJUnitRunner
I  161.038s run_tests_on_device(FA6AB0304025)    INSTRUMENTATION_STATUS: numtests=1
I  161.038s run_tests_on_device(FA6AB0304025)    INSTRUMENTATION_STATUS: stack=java.util.concurrent.TimeoutException: waitForCallback timed out!
I  161.038s run_tests_on_device(FA6AB0304025)    	at org.chromium.base.test.util.CallbackHelper.waitForCallback(CallbackHelper.java:191)
I  161.039s run_tests_on_device(FA6AB0304025)    	at org.chromium.base.test.util.CallbackHelper.waitForCallback(CallbackHelper.java:227)
I  161.039s run_tests_on_device(FA6AB0304025)    	at org.chromium.content.browser.ChildProcessLauncherTest$IChildProcessBinder.waitOnDestroyCalled(ChildProcessLauncherTest.java:188)
I  161.039s run_tests_on_device(FA6AB0304025)    	at org.chromium.content.browser.ChildProcessLauncherTest.testProcessLauncher(ChildProcessLauncherTest.java:310)
I  161.039s run_tests_on_device(FA6AB0304025)    	at org.chromium.content.browser.ChildProcessLauncherTest.testLaunchServiceThatUsesConnectionAllocator(ChildProcessLauncherTest.java:319)
I  161.039s run_tests_on_device(FA6AB0304025)    	at java.lang.reflect.Method.invoke(Native Method)
I  161.039s run_tests_on_device(FA6AB0304025)    	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
I  161.039s run_tests_on_device(FA6AB0304025)    	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
I  161.039s run_tests_on_device(FA6AB0304025)    	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:52)
I  161.039s run_tests_on_device(FA6AB0304025)    	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
I  161.039s run_tests_on_device(FA6AB0304025)    	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
I  161.039s run_tests_on_device(FA6AB0304025)    	at org.chromium.base.test.ScreenshotOnFailureStatement.evaluate(ScreenshotOnFailureStatement.java:37)
I  161.039s run_tests_on_device(FA6AB0304025)    	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
I  161.039s run_tests_on_device(FA6AB0304025)    	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
I  161.039s run_tests_on_device(FA6AB0304025)    	at org.chromium.base.test.BaseJUnit4ClassRunner.runChild(BaseJUnit4ClassRunner.java:184)
I  161.039s run_tests_on_device(FA6AB0304025)    	at org.chromium.base.test.BaseJUnit4ClassRunner.runChild(BaseJUnit4ClassRunner.java:41)
I  161.039s run_tests_on_device(FA6AB0304025)    	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
I  161.039s run_tests_on_device(FA6AB0304025)    	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
I  161.039s run_tests_on_device(FA6AB0304025)    	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
I  161.039s run_tests_on_device(FA6AB0304025)    	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
I  161.039s run_tests_on_device(FA6AB0304025)    	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
I  161.039s run_tests_on_device(FA6AB0304025)    	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
I  161.039s run_tests_on_device(FA6AB0304025)    	at org.chromium.base.test.BaseJUnit4ClassRunner.run(BaseJUnit4ClassRunner.java:166)
I  161.039s run_tests_on_device(FA6AB0304025)    	at org.junit.runners.Suite.runChild(Suite.java:128)
I  161.039s run_tests_on_device(FA6AB0304025)    	at org.junit.runners.Suite.runChild(Suite.java:27)
I  161.039s run_tests_on_device(FA6AB0304025)    	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
I  161.039s run_tests_on_device(FA6AB0304025)    	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
I  161.039s run_tests_on_device(FA6AB0304025)    	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
I  161.039s run_tests_on_device(FA6AB0304025)    	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
I  161.039s run_tests_on_device(FA6AB0304025)    	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
I  161.039s run_tests_on_device(FA6AB0304025)    	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
I  161.039s run_tests_on_device(FA6AB0304025)    	at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
I  161.039s run_tests_on_device(FA6AB0304025)    	at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
I  161.039s run_tests_on_device(FA6AB0304025)    	at android.support.test.internal.runner.TestExecutor.execute(TestExecutor.java:59)
I  161.039s run_tests_on_device(FA6AB0304025)    	at android.support.test.runner.AndroidJUnitRunner.onStart(AndroidJUnitRunner.java:262)
I  161.039s run_tests_on_device(FA6AB0304025)    	at org.chromium.base.test.BaseChromiumAndroidJUnitRunner.onStart(BaseChromiumAndroidJUnitRunner.java:99)
I  161.039s run_tests_on_device(FA6AB0304025)    	at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:2074)


I  172.816s TimeoutThread-1-for-delete_temporary_file(FA6AB0304025)  [host]> /b/build/slave/test-o-phone/build/src/third_party/android_tools_internal/sdk/platform-tools/adb -s FA6AB0304025 shell 'rm -f /sdcard/temp_file-dd89fb82385d3.png'
I  172.816s run_tests_on_device(FA6AB0304025)    INSTRUMENTATION_STATUS: class=org.chromium.content.browser.ChildProcessLauncherTest
I  172.817s run_tests_on_device(FA6AB0304025)    INSTRUMENTATION_STATUS: current=1
I  172.817s run_tests_on_device(FA6AB0304025)    INSTRUMENTATION_STATUS: id=AndroidJUnitRunner
I  172.817s run_tests_on_device(FA6AB0304025)    INSTRUMENTATION_STATUS: numtests=1
I  172.817s run_tests_on_device(FA6AB0304025)    INSTRUMENTATION_STATUS: stream=
I  172.817s run_tests_on_device(FA6AB0304025)    org.chromium.content.browser.ChildProcessLauncherTest:
I  172.817s run_tests_on_device(FA6AB0304025)    INSTRUMENTATION_STATUS: test=testLaunchServiceCreatedWithBoundConnection
I  172.817s run_tests_on_device(FA6AB0304025)    INSTRUMENTATION_STATUS_CODE: 1
I  172.817s run_tests_on_device(FA6AB0304025)    INSTRUMENTATION_STATUS: class=org.chromium.content.browser.ChildProcessLauncherTest
I  172.817s run_tests_on_device(FA6AB0304025)    INSTRUMENTATION_STATUS: current=1
I  172.817s run_tests_on_device(FA6AB0304025)    INSTRUMENTATION_STATUS: id=AndroidJUnitRunner
I  172.817s run_tests_on_device(FA6AB0304025)    INSTRUMENTATION_STATUS: numtests=1
I  172.817s run_tests_on_device(FA6AB0304025)    INSTRUMENTATION_STATUS: stack=java.util.concurrent.TimeoutException: waitForCallback timed out!
I  172.817s run_tests_on_device(FA6AB0304025)    	at org.chromium.base.test.util.CallbackHelper.waitForCallback(CallbackHelper.java:191)
I  172.817s run_tests_on_device(FA6AB0304025)    	at org.chromium.base.test.util.CallbackHelper.waitForCallback(CallbackHelper.java:227)
I  172.817s run_tests_on_device(FA6AB0304025)    	at org.chromium.content.browser.ChildProcessLauncherTest$IChildProcessBinder.waitOnDestroyCalled(ChildProcessLauncherTest.java:188)
I  172.817s run_tests_on_device(FA6AB0304025)    	at org.chromium.content.browser.ChildProcessLauncherTest.testProcessLauncher(ChildProcessLauncherTest.java:310)
I  172.817s run_tests_on_device(FA6AB0304025)    	at org.chromium.content.browser.ChildProcessLauncherTest.testLaunchServiceCreatedWithBoundConnection(ChildProcessLauncherTest.java:347)
I  172.817s run_tests_on_device(FA6AB0304025)    	at java.lang.reflect.Method.invoke(Native Method)
I  172.817s run_tests_on_device(FA6AB0304025)    	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
I  172.817s run_tests_on_device(FA6AB0304025)    	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
I  172.817s run_tests_on_device(FA6AB0304025)    	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:52)
I  172.817s run_tests_on_device(FA6AB0304025)    	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
I  172.817s run_tests_on_device(FA6AB0304025)    	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
I  172.817s run_tests_on_device(FA6AB0304025)    	at org.chromium.base.test.ScreenshotOnFailureStatement.evaluate(ScreenshotOnFailureStatement.java:37)
I  172.817s run_tests_on_device(FA6AB0304025)    	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
I  172.817s run_tests_on_device(FA6AB0304025)    	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
I  172.817s run_tests_on_device(FA6AB0304025)    	at org.chromium.base.test.BaseJUnit4ClassRunner.runChild(BaseJUnit4ClassRunner.java:184)
I  172.817s run_tests_on_device(FA6AB0304025)    	at org.chromium.base.test.BaseJUnit4ClassRunner.runChild(BaseJUnit4ClassRunner.java:41)
I  172.817s run_tests_on_device(FA6AB0304025)    	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
I  172.817s run_tests_on_device(FA6AB0304025)    	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
I  172.817s run_tests_on_device(FA6AB0304025)    	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
I  172.817s run_tests_on_device(FA6AB0304025)    	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
I  172.818s run_tests_on_device(FA6AB0304025)    	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
I  172.818s run_tests_on_device(FA6AB0304025)    	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
I  172.818s run_tests_on_device(FA6AB0304025)    	at org.chromium.base.test.BaseJUnit4ClassRunner.run(BaseJUnit4ClassRunner.java:166)
I  172.818s run_tests_on_device(FA6AB0304025)    	at org.junit.runners.Suite.runChild(Suite.java:128)
I  172.818s run_tests_on_device(FA6AB0304025)    	at org.junit.runners.Suite.runChild(Suite.java:27)
I  172.818s run_tests_on_device(FA6AB0304025)    	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
I  172.818s run_tests_on_device(FA6AB0304025)    	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
I  172.818s run_tests_on_device(FA6AB0304025)    	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
I  172.818s run_tests_on_device(FA6AB0304025)    	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
I  172.818s run_tests_on_device(FA6AB0304025)    	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
I  172.818s run_tests_on_device(FA6AB0304025)    	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
I  172.818s run_tests_on_device(FA6AB0304025)    	at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
I  172.818s run_tests_on_device(FA6AB0304025)    	at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
I  172.818s run_tests_on_device(FA6AB0304025)    	at android.support.test.internal.runner.TestExecutor.execute(TestExecutor.java:59)
I  172.818s run_tests_on_device(FA6AB0304025)    	at android.support.test.runner.AndroidJUnitRunner.onStart(AndroidJUnitRunner.java:262)
I  172.818s run_tests_on_device(FA6AB0304025)    	at org.chromium.base.test.BaseChromiumAndroidJUnitRunner.onStart(BaseChromiumAndroidJUnitRunner.java:99)
I  172.818s run_tests_on_device(FA6AB0304025)    	at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:2074)
 

Comment 1 by agrieve@google.com, Mar 1 2018

ping from sheriff. Is this still an issue?
Status: Started (was: Assigned)
I can repro locally after flashing to the latest O.
Investigating.
Looks like the system is not calling onDestroy() on the service when terminating it because there no connections bound left.
I'll change the test to also track that the process is still alive.
Project Member

Comment 5 by bugdroid1@chromium.org, Mar 2 2018

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

commit 35270a118635d0de8cbb676780ea8b1a9260270c
Author: Jay Civelli <jcivelli@google.com>
Date: Fri Mar 02 22:38:12 2018

Fix 2 failing ChildProcessLauncherTest Android tests

This CL fixes 2 ChildProcessLauncherTest tests
(testLaunchServiceThatUsesConnectionAllocator and
testLaunchServiceCreatedWithBoundConnection) that fail because they
validate that ChildProcessServiceDelegate.onDestroy() is called after
unbinding the last connection to a service, but it is not always the
case: the system might kill the service process directly, as seems to
be the case with Android O.

Bug:  788826 
Change-Id: I75eff836fc4b1c4136239fba1171dc273d3167c6
Reviewed-on: https://chromium-review.googlesource.com/946895
Reviewed-by: Bo <boliu@chromium.org>
Commit-Queue: Jay Civelli <jcivelli@chromium.org>
Cr-Commit-Position: refs/heads/master@{#540667}
[modify] https://crrev.com/35270a118635d0de8cbb676780ea8b1a9260270c/base/android/java/src/org/chromium/base/process_launcher/ChildProcessServiceDelegate.java
[modify] https://crrev.com/35270a118635d0de8cbb676780ea8b1a9260270c/content/public/android/javatests/src/org/chromium/content/browser/ChildProcessLauncherTest.java

Status: Fixed (was: Started)
Thanks, Jay!

Sign in to add a comment