New issue
Advanced search Search tips

Issue 907858 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Nov 30
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Bug

Blocking:
issue 817842



Sign in to add a comment

Failing to start WebView on new android-pixel2_webview-perf bot

Project Member Reported by perezju@chromium.org, Nov 22

Issue description

We're bringing up this new bot to run webview perf tests on pixel2 devices.

It now correctly installs Monochrome.apk and sets it as webview provider:

 2018-11-21 23:46:08,739  Chose browser: PossibleAndroidBrowser(browser_type=android-webview-google)
 2018-11-21 23:46:08,739  Installing /b/swarming/w/ir/out/Release/apks/Monochrome.apk on device if needed.
 2018-11-21 23:46:46,057  Setting permissions for com.google.android.apps.chrome.
 2018-11-21 23:46:56,781  Installing ../../out/Release/apks/SystemWebViewShell.apk on device if needed.
 2018-11-21 23:47:02,061  Setting permissions for org.chromium.webview_shell.
 2018-11-21 23:47:10,992  WebView provider set to: com.google.android.apps.chrome

However it fails to actually start the webview shell, on the logs we get the following:

	UI dump
	- (no package):
	  - (no id)
	- android:
	  - (no id)
	  - android:id/aerr_mute['Mute until device restarts']
	  - android:id/aerr_restart['Open app again']
	  - android:id/alertTitle['WebView Shell has stopped']


	11-22 02:34:05.128  6794  6794 E AndroidRuntime: Process: org.chromium.webview_shell, PID: 6794
	11-22 02:34:05.128  6794  6794 E AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{org.chromium.webview_shell/org.chromium.webview_shell.TelemetryActivity}: android.util.AndroidRuntimeException: java.lang.reflect.InvocationTargetException
	11-22 02:34:05.128  6794  6794 E AndroidRuntime: 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2778)
	11-22 02:34:05.128  6794  6794 E AndroidRuntime: 	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2856)
	11-22 02:34:05.128  6794  6794 E AndroidRuntime: 	at android.app.ActivityThread.-wrap11(Unknown Source:0)
	11-22 02:34:05.128  6794  6794 E AndroidRuntime: 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1589)
	11-22 02:34:05.128  6794  6794 E AndroidRuntime: 	at android.os.Handler.dispatchMessage(Handler.java:106)
	11-22 02:34:05.128  6794  6794 E AndroidRuntime: 	at android.os.Looper.loop(Looper.java:164)
	11-22 02:34:05.128  6794  6794 E AndroidRuntime: 	at android.app.ActivityThread.main(ActivityThread.java:6494)
	11-22 02:34:05.128  6794  6794 E AndroidRuntime: 	at java.lang.reflect.Method.invoke(Native Method)
	11-22 02:34:05.128  6794  6794 E AndroidRuntime: 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
	11-22 02:34:05.128  6794  6794 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
	11-22 02:34:05.128  6794  6794 E AndroidRuntime: Caused by: android.util.AndroidRuntimeException: java.lang.reflect.InvocationTargetException
	11-22 02:34:05.128  6794  6794 E AndroidRuntime: 	at android.webkit.WebViewFactory.getProvider(WebViewFactory.java:213)
	11-22 02:34:05.128  6794  6794 E AndroidRuntime: 	at android.webkit.WebView.getFactory(WebView.java:2530)
	11-22 02:34:05.128  6794  6794 E AndroidRuntime: 	at android.webkit.WebView.ensureProviderCreated(WebView.java:2525)
	11-22 02:34:05.128  6794  6794 E AndroidRuntime: 	at android.webkit.WebView.setOverScrollMode(WebView.java:2590)
	11-22 02:34:05.128  6794  6794 E AndroidRuntime: 	at android.view.View.<init>(View.java:4574)
	11-22 02:34:05.128  6794  6794 E AndroidRuntime: 	at android.view.View.<init>(View.java:4706)
	11-22 02:34:05.128  6794  6794 E AndroidRuntime: 	at android.view.ViewGroup.<init>(ViewGroup.java:597)
	11-22 02:34:05.128  6794  6794 E AndroidRuntime: 	at android.widget.AbsoluteLayout.<init>(AbsoluteLayout.java:55)
	11-22 02:34:05.128  6794  6794 E AndroidRuntime: 	at android.webkit.WebView.<init>(WebView.java:643)
	11-22 02:34:05.128  6794  6794 E AndroidRuntime: 	at android.webkit.WebView.<init>(WebView.java:588)
	11-22 02:34:05.128  6794  6794 E AndroidRuntime: 	at android.webkit.WebView.<init>(WebView.java:571)
	11-22 02:34:05.128  6794  6794 E AndroidRuntime: 	at android.webkit.WebView.<init>(WebView.java:558)
	11-22 02:34:05.128  6794  6794 E AndroidRuntime: 	at android.webkit.WebView.<init>(WebView.java:548)
	11-22 02:34:05.128  6794  6794 E AndroidRuntime: 	at org.chromium.webview_shell.TelemetryActivity.onCreate(TelemetryActivity.java:39)
	11-22 02:34:05.128  6794  6794 E AndroidRuntime: 	at android.app.Activity.performCreate(Activity.java:6999)
	11-22 02:34:05.128  6794  6794 E AndroidRuntime: 	at android.app.Activity.performCreate(Activity.java:6990)
	11-22 02:34:05.128  6794  6794 E AndroidRuntime: 	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1214)
	11-22 02:34:05.128  6794  6794 E AndroidRuntime: 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2731)
	11-22 02:34:05.128  6794  6794 E AndroidRuntime: 	... 9 more
	11-22 02:34:05.128  6794  6794 E AndroidRuntime: Caused by: java.lang.reflect.InvocationTargetException
	11-22 02:34:05.128  6794  6794 E AndroidRuntime: 	at java.lang.reflect.Method.invoke(Native Method)
	11-22 02:34:05.128  6794  6794 E AndroidRuntime: 	at android.webkit.WebViewFactory.getProvider(WebViewFactory.java:208)
	11-22 02:34:05.128  6794  6794 E AndroidRuntime: 	... 26 more
	11-22 02:34:05.128  6794  6794 E AndroidRuntime: Caused by: java.lang.RuntimeException: Cannot load WebView
	11-22 02:34:05.128  6794  6794 E AndroidRuntime: 	at com.android.webview.chromium.WebViewChromiumFactoryProvider.a(SourceFile:118)
	11-22 02:34:05.128  6794  6794 E AndroidRuntime: 	at com.android.webview.chromium.WebViewChromiumFactoryProvider.<init>(SourceFile:32)
	11-22 02:34:05.128  6794  6794 E AndroidRuntime: 	at com.android.webview.chromium.WebViewChromiumFactoryProviderForOMR1.<init>(SourceFile:2)
	11-22 02:34:05.128  6794  6794 E AndroidRuntime: 	at com.android.webview.chromium.WebViewChromiumFactoryProviderForOMR1.create(SourceFile:1)
	11-22 02:34:05.128  6794  6794 E AndroidRuntime: 	... 28 more
	11-22 02:34:05.128  6794  6794 E AndroidRuntime: Caused by: aDB
	11-22 02:34:05.128  6794  6794 E AndroidRuntime: 	at org.chromium.base.library_loader.LibraryLoader.c(SourceFile:83)
	11-22 02:34:05.128  6794  6794 E AndroidRuntime: 	at org.chromium.base.library_loader.LibraryLoader.b(SourceFile:34)
	11-22 02:34:05.128  6794  6794 E AndroidRuntime: 	at com.android.webview.chromium.WebViewChromiumFactoryProvider.a(SourceFile:109)
	11-22 02:34:05.128  6794  6794 E AndroidRuntime: 	... 31 more
	11-22 02:34:05.128  6794  6794 E AndroidRuntime: Caused by: java.lang.UnsatisfiedLinkError: dlopen failed: "/data/app/com.google.android.apps.chrome-02w3WQjhjOePhZ3o1tsdHg==/base.apk!/lib/armeabi-v7a/libmonochrome.so" is 32-bit instead of 64-bit
	11-22 02:34:05.128  6794  6794 E AndroidRuntime: 	at java.lang.Runtime.loadLibrary0(Runtime.java:1016)
	11-22 02:34:05.128  6794  6794 E AndroidRuntime: 	at java.lang.System.loadLibrary(System.java:1657)
	11-22 02:34:05.128  6794  6794 E AndroidRuntime: 	at org.chromium.base.library_loader.LibraryLoader.c(SourceFile:65)
	11-22 02:34:05.128  6794  6794 E AndroidRuntime: 	... 33 more
https://chrome-swarming.appspot.com/task?id=41520bc8f08fa110&refresh=10&show_raw=1

Interestingly, a similar task on a go_webview bot works just fine:
https://chrome-swarming.appspot.com/task?id=41517aa2f72c2810&refresh=10&show_raw=1

WebView folks, can you help us debug this issue?
 
Cc: tobiasjs@chromium.org
Blocking: 817842
Cc: ntfschr@chromium.org
Labels: OS-Android
Owner: perezju@chromium.org
Status: Assigned (was: Untriaged)
> Caused by: java.lang.UnsatisfiedLinkError: dlopen failed: "/data/app/com.google.android.apps.chrome-02w3WQjhjOePhZ3o1tsdHg==/base.apk!/lib/armeabi-v7a/libmonochrome.so" is 32-bit instead of 64-bit

My guess: are you building WebView with arm64 as the architecture? If so, could you paste the full GN args?

Also, could you run this command on the device?

$ adb shell dumpsys webviewupdate
Cc: jbudorick@chromium.org
Components: Infra>Client>Chrome
+jbudorick

The APK is being build e.g. here:
https://ci.chromium.org/p/chrome/builders/luci.chrome.ci/android-builder-perf/26037

But maybe we should be taking it from:
https://ci.chromium.org/p/chrome/builders/luci.chrome.ci/android_arm64-builder-perf/25078 ?

On that last one the gn args look like:
ffmpeg_branding = "Chrome"
goma_dir = "/b/s/w/ir/cache/goma/client"
is_chrome_branded = true
is_debug = false
is_official_build = true
proprietary_codecs = true
strip_absolute_paths_from_debug_symbols = true
symbol_level = 1
target_cpu = "arm64"
target_os = "android"
use_goma = true

Also, not sure how to run commands now on devices on swarming. Is that possible these days?
Also, where is the builder/parent_builder relationship stated now? Can't find the relevant files any more :(
Don't worry about running the command, it sounds like we narrowed it down to the wrong GN args.
Project Member

Comment 8 by bugdroid1@chromium.org, Nov 29

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/tools/build/+/f3df4de963767970b34dac737d83af4cbb90324a

commit f3df4de963767970b34dac737d83af4cbb90324a
Author: Juan Antonio Navarro Perez <perezju@chromium.org>
Date: Thu Nov 29 16:45:31 2018

[chromium_tests] Move pixel2 perf bots to arm64 builds

These devices need builds with arm64 architecture.

Bug:  907858 
Change-Id: I20d117cecb15a5c51da1a023d0f4633b4d679ffb
Reviewed-on: https://chromium-review.googlesource.com/c/1352199
Auto-Submit: Juan Antonio Navarro Pérez <perezju@chromium.org>
Reviewed-by: Ned Nguyen <nednguyen@google.com>
Reviewed-by: John Budorick <jbudorick@chromium.org>
Reviewed-by: Emily Hanley <eyaich@chromium.org>
Commit-Queue: Ned Nguyen <nednguyen@google.com>
Commit-Queue: Emily Hanley <eyaich@chromium.org>

[modify] https://crrev.com/f3df4de963767970b34dac737d83af4cbb90324a/scripts/slave/recipe_modules/chromium_tests/chromium_perf_fyi.py

Status: Fixed (was: Assigned)
Success!

(INFO) 2018-11-29 23:58:13,088 android_browser_backend.BindDevToolsClient:86  Successfully connected to org.chromium.webview_shell DevTools client
(INFO) 2018-11-29 23:58:13,385 browser._LogBrowserInfo:100  Browser started (pid=27688).
(INFO) 2018-11-29 23:58:13,385 browser._LogBrowserInfo:103  OS: android O
(INFO) 2018-11-29 23:58:13,444 browser._LogBrowserInfo:110  Model: Pixel 2

Great work!
Components: Speed>Telemetry

Comment 12 by benhenry@google.com, Jan 16 (6 days ago)

Components: Test>Telemetry

Comment 13 by benhenry@google.com, Jan 16 (6 days ago)

Components: -Speed>Telemetry

Sign in to add a comment