New issue
Advanced search Search tips

Issue 899376 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Nov 2
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug

Blocked on:
issue 887468



Sign in to add a comment

Mojo Android failed on network_service_webview_instrumentation_test_apk

Project Member Reported by hanxi@chromium.org, Oct 26

Issue description

The failure started from:
https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/Mojo%20Android/9816

The print stack is:
java.util.concurrent.TimeoutException: waitForCallback timed out!
	at org.chromium.base.test.util.CallbackHelper.waitForCallback(CallbackHelper.java:191)
	at org.chromium.base.test.util.CallbackHelper.waitForCallback(CallbackHelper.java:202)
	at org.chromium.android_webview.test.AwActivityTestRule.loadUrlSync(AwActivityTestRule.java:170)
	at org.chromium.android_webview.test.AwActivityTestRule.loadUrlSync(AwActivityTestRule.java:163)
	at org.chromium.android_webview.test.WebKitHitTestTest.setServerResponseAndLoad(WebKitHitTestTest.java:75)
	at org.chromium.android_webview.test.WebKitHitTestTest.srcAnchorTypeTestBody(WebKitHitTestTest.java:146)
	at org.chromium.android_webview.test.WebKitHitTestTest.testSrcAnchorTypeByFocus(WebKitHitTestTest.java:163)
	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.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
	at org.chromium.android_webview.test.AwActivityTestRule$1.evaluate(AwActivityTestRule.java:80)
	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:237)
	at org.chromium.android_webview.test.AwJUnit4ClassRunner.runChild(AwJUnit4ClassRunner.java:97)
	at org.chromium.android_webview.test.AwJUnit4ClassRunner.runChild(AwJUnit4ClassRunner.java:34)
	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:220)
	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:125)
	at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1879)


It looks like this is happening because the feature list is checked here[1] to set up the network service before it is initialized from the command line here[2].

1. https://cs.chromium.org/chromium/src/content/browser/service_manager/service_manager_context.cc?l=674&rcl=7141dbc7873981fe3a62054da50030afaefc05aa
2. https://cs.chromium.org/chromium/src/android_webview/browser/aw_browser_main_parts.cc?l=201&rcl=7141dbc7873981fe3a62054da50030afaefc05aa
 
Cc: timvolod...@chromium.org
Project Member

Comment 2 by bugdroid1@chromium.org, Oct 26

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

commit 4339da08a99855adc47716ff95f62b5f60ebe66c
Author: Xi Han <hanxi@chromium.org>
Date: Fri Oct 26 21:24:08 2018

Revert "Start ServiceManger before creating BrowserMainLoop."

This reverts commit aa60c219407f1158214858e83e5456e42dcfe891.

Reason for revert: it breaks  network_service_webview_instrumentation_test_apk on Mojo Android Build:
https://bugs.chromium.org/p/chromium/issues/detail?id=899376

Bug:899376

Original change's description:
> Start ServiceManger before creating BrowserMainLoop.
> 
> This CL instantiates the ServiceManagerContext before creating
> the BrowserMainRunner. It splits the startup path into two,
> with/without starting the full browser. The changes are implemented
> behind a flag "allow-start-service-manager-only".
> 
> Bug:  846846 ,729596
> Change-Id: I3584db0d89a10e59d6041e0f4412aaffdc840568
> Reviewed-on: https://chromium-review.googlesource.com/c/1113802
> Commit-Queue: Xi Han <hanxi@chromium.org>
> Reviewed-by: John Abd-El-Malek <jam@chromium.org>
> Reviewed-by: Gabriel Charette <gab@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#603092}

TBR=gab@chromium.org,jam@chromium.org,hanxi@chromium.org

Change-Id: I866cc2148d529d0d7a02d0ac75b2817d1695a8c9
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  846846 , 729596
Reviewed-on: https://chromium-review.googlesource.com/c/1303042
Reviewed-by: Xi Han <hanxi@chromium.org>
Commit-Queue: Xi Han <hanxi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#603194}
[modify] https://crrev.com/4339da08a99855adc47716ff95f62b5f60ebe66c/content/app/DEPS
[modify] https://crrev.com/4339da08a99855adc47716ff95f62b5f60ebe66c/content/app/content_main_runner_impl.cc
[modify] https://crrev.com/4339da08a99855adc47716ff95f62b5f60ebe66c/content/app/content_main_runner_impl.h
[modify] https://crrev.com/4339da08a99855adc47716ff95f62b5f60ebe66c/content/browser/browser_main_loop.cc
[modify] https://crrev.com/4339da08a99855adc47716ff95f62b5f60ebe66c/content/browser/browser_main_loop.h
[modify] https://crrev.com/4339da08a99855adc47716ff95f62b5f60ebe66c/content/browser/browser_main_loop_unittest.cc
[modify] https://crrev.com/4339da08a99855adc47716ff95f62b5f60ebe66c/content/browser/service_manager/service_manager_context.cc
[modify] https://crrev.com/4339da08a99855adc47716ff95f62b5f60ebe66c/content/browser/service_manager/service_manager_context.h
[modify] https://crrev.com/4339da08a99855adc47716ff95f62b5f60ebe66c/content/browser/startup_data_impl.h

Blockedon: 887468
Project Member

Comment 4 by bugdroid1@chromium.org, Nov 1

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

commit a9fbe388f4983f515c05b314059bfce213532a3a
Author: Xi Han <hanxi@google.com>
Date: Thu Nov 01 19:17:45 2018

Create FeatureList and setup field trials early in WebView.

In this CL, we move the creates FeatureList and setup field trials from
AwBrowserMainParts::PreCreateThreads() to
AwMainDelegate::PostEarlyInitialization(). So it happens before
ServiceManagerContext is created and the TaskSchedueler starts in
ContentMainRunnerImpl::Run().

Bug:  887468 , 899376 
Change-Id: Ie4d3223cf5206d8aadb537b7b80d9e196d4512be
Reviewed-on: https://chromium-review.googlesource.com/c/1305876
Reviewed-by: Alexei Svitkine <asvitkine@chromium.org>
Reviewed-by: Bo <boliu@chromium.org>
Reviewed-by: Paul Miller <paulmiller@chromium.org>
Commit-Queue: Xi Han <hanxi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#604661}
[modify] https://crrev.com/a9fbe388f4983f515c05b314059bfce213532a3a/android_webview/BUILD.gn
[modify] https://crrev.com/a9fbe388f4983f515c05b314059bfce213532a3a/android_webview/browser/aw_browser_main_parts.cc
[modify] https://crrev.com/a9fbe388f4983f515c05b314059bfce213532a3a/android_webview/browser/aw_browser_main_parts.h
[modify] https://crrev.com/a9fbe388f4983f515c05b314059bfce213532a3a/android_webview/browser/aw_content_browser_client.cc
[modify] https://crrev.com/a9fbe388f4983f515c05b314059bfce213532a3a/android_webview/browser/aw_content_browser_client.h
[modify] https://crrev.com/a9fbe388f4983f515c05b314059bfce213532a3a/android_webview/browser/aw_content_browser_client_unittest.cc
[add] https://crrev.com/a9fbe388f4983f515c05b314059bfce213532a3a/android_webview/browser/aw_feature_list_creator.cc
[add] https://crrev.com/a9fbe388f4983f515c05b314059bfce213532a3a/android_webview/browser/aw_feature_list_creator.h
[delete] https://crrev.com/dec7e58f53d48081c9ffb5ea586def3ad05de702/android_webview/browser/aw_field_trial_creator.cc
[delete] https://crrev.com/dec7e58f53d48081c9ffb5ea586def3ad05de702/android_webview/browser/aw_field_trial_creator.h
[modify] https://crrev.com/a9fbe388f4983f515c05b314059bfce213532a3a/android_webview/browser/aw_metrics_service_client.cc
[modify] https://crrev.com/a9fbe388f4983f515c05b314059bfce213532a3a/android_webview/browser/aw_metrics_service_client.h
[modify] https://crrev.com/a9fbe388f4983f515c05b314059bfce213532a3a/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromiumAwInit.java
[modify] https://crrev.com/a9fbe388f4983f515c05b314059bfce213532a3a/android_webview/java/src/org/chromium/android_webview/VariationsSeedLoader.java
[modify] https://crrev.com/a9fbe388f4983f515c05b314059bfce213532a3a/android_webview/lib/aw_main_delegate.cc
[modify] https://crrev.com/a9fbe388f4983f515c05b314059bfce213532a3a/android_webview/lib/aw_main_delegate.h

Status: Fixed (was: Assigned)
The reland is in:
https://chromium-review.googlesource.com/c/chromium/src/+/1305822.

Marks as fixed.

Sign in to add a comment