ChildProcessLauncherTest#testLaunchServiceThatUsesConnectionAllocator and testLaunchServiceCreatedWithBoundConnection fail on Android O |
|||
Issue descriptionLog: 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)
,
Mar 1 2018
yes as of earlier this week: https://uberchromegw.corp.google.com/i/internal.client.clank/builders/test-o-phone/builds/1596
,
Mar 2 2018
I can repro locally after flashing to the latest O. Investigating.
,
Mar 2 2018
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.
,
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
,
Mar 2 2018
,
Mar 2 2018
Thanks, Jay! |
|||
►
Sign in to add a comment |
|||
Comment 1 by agrieve@google.com
, Mar 1 2018