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

Issue 789245 link

Starred by 1 user

Issue metadata

Status: Verified
Owner:
Closed: Dec 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Bug-Regression



Sign in to add a comment

Chrome fails to start on Android Release (NVIDIA Shield TV) GPU.FYI bot

Project Member Reported by ynovikov@chromium.org, Nov 28 2017

Issue description

I suspect this has something to do with Telemetry.
See https://build.chromium.org/p/chromium.gpu.fyi/builders/Android%20Release%20%28NVIDIA%20Shield%20TV%29/builds/4382 for example.

webgl_conformance_tests have this log:

INFO:root:Try printing formatted exception: <class 'telemetry.core.exceptions.BrowserConnectionGoneException'> Timed out while waiting 60s for HasBrowserFinishedLaunching.
Found Minidump: True
Stack Trace:
********************************************************************************
	UI dump
	- (no package):
	  - (no id)
	- org.chromium.chrome:
	  - (no id)
	  - android:id/content
	  - org.chromium.chrome:id/action_bar_root
	  - org.chromium.chrome:id/fre_content_wrapper
	  - org.chromium.chrome:id/fre_image_and_content
	  - org.chromium.chrome:id/fre_main_layout
	  - org.chromium.chrome:id/fre_pager
	  - org.chromium.chrome:id/image
	  - org.chromium.chrome:id/terms_accept['ACCEPT & CONTINUE']
	  - org.chromium.chrome:id/title['Welcome to Chrome']
	  - org.chromium.chrome:id/tos_and_privacy[u'By using this application, you agree to Chrome\u2019s Terms of Service and Privacy Notice.']

Seems like Chrome is stuck in "Welcome to Chrome" screen?
 

Comment 1 by kbr@chromium.org, Nov 28 2017

Cc: nedngu...@google.com perezju@chromium.org
This sounds like a bug we've seen earlier where command line arguments passed from Telemetry to Chrome on Android were sometimes being dropped. In this case we should be passing --no-first-run which should bypass this screen.

Also, looking at the logcat there is a line:

	11-28 09:44:53.391 15762 15762 E cr_CommandLineInitUtil: Unable to detect alternative command line file

which, according to the relevant piece of code [1], means:

- the command line file *was* there (the method returns null otherwise)
- a RuntimeException was raised when trying to check whether the device build is userdebug or chromium is set as the debug app. (both of these conditions should be true)

[1]: https://cs.chromium.org/chromium/src/base/android/java/src/org/chromium/base/CommandLineInitUtil.java?rcl=26b0d4196ba56b8903a0d34ebdbf93d40b100232&l=67
Yes, it did pass before.
https://build.chromium.org/p/chromium.gpu.fyi/builders/Android%20Release%20%28NVIDIA%20Shield%20TV%29/builds/4140

I think in 4141 it started complaining about wanting to upgrade OS, so we did this in issue 784490.
However, this didn't fix the problem.

NVIDIA's distro is a weird one - it is "user" and not "userdebug", however it does provide root access, but no "su" utility.
Since it never was a userdebug build, I guess what changed is that previously chromium was a debug app and not it isn't?
How can we fix this?
Labels: -Type-Bug Type-Bug-Regression
Owner: agrieve@chromium.org
Status: Assigned (was: Unconfirmed)
> I guess what changed is that previously chromium was a debug app and not it isn't?

In the logs we do see:

INFO:devil.utils.cmd_helper:[host]> /b/c/b/Android_Release__NVIDIA_Shield_TV_/ir/third_party/catapult/devil/bin/deps/linux2/x86_64/bin/adb -s 0324216001899 shell '( am set-debug-app --persistent org.chromium.chrome );echo %$?'

So chrome *is* being set as a debug app.

From the CL range between 4140 and 4141
http://test-results.appspot.com/revision_range?start=515614&end=515658

The following looks suspicious:

    Move initCommandLine() to attachBaseContext
    https://chromium-review.googlesource.com/c/chromium/src/+/761317

+agrieve: can you have a look?
Project Member

Comment 7 by bugdroid1@chromium.org, Nov 30 2017

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

commit 75bc8c1e3adbe5c19733340afcc5b0e0af90b2c2
Author: agrieve <agrieve@chromium.org>
Date: Thu Nov 30 16:20:30 2017

Revert "Move initCommandLine() to attachBaseContext"

This reverts commit 125a47b2b9c30a0a233610c347b52499a3fc2edd.

Reason for revert: Breaking non-rooted devices (see bugs)

Original change's description:
> Move initCommandLine() to attachBaseContext
> 
> This allows ContentProviders to not have to initialize the command line.
> 
> Change-Id: If8d5049a53f450b8111af5dc15f20a0ec1691e03
> Reviewed-on: https://chromium-review.googlesource.com/761317
> Reviewed-by: Yaron Friedman <yfriedman@chromium.org>
> Commit-Queue: agrieve <agrieve@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#515626}

TBR=yfriedman@chromium.org,agrieve@chromium.org
Bug: 789275,  789245 

Change-Id: If45a34f03aa2577b61f28b663dfe40a43f37dc80
Reviewed-on: https://chromium-review.googlesource.com/800810
Reviewed-by: agrieve <agrieve@chromium.org>
Commit-Queue: agrieve <agrieve@chromium.org>
Cr-Commit-Position: refs/heads/master@{#520564}
[modify] https://crrev.com/75bc8c1e3adbe5c19733340afcc5b0e0af90b2c2/chrome/android/java/src/org/chromium/chrome/browser/ChromeApplication.java
[modify] https://crrev.com/75bc8c1e3adbe5c19733340afcc5b0e0af90b2c2/chrome/android/java/src/org/chromium/chrome/browser/provider/ChromeBrowserProvider.java

Components: Infra>Client>Chrome
Moving Infra>Client>Android -> Infra>Client>Chrome+OS=Android
Components: -Infra>Client>Android
Status: Verified (was: Assigned)
The revert has fixed it, thanks, agrieve@!
https://ci.chromium.org/buildbot/chromium.gpu.fyi/Android%20Release%20%28NVIDIA%20Shield%20TV%29/4431
Project Member

Comment 11 by bugdroid1@chromium.org, Jan 31 2018

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

commit 7ee6c14b661b0abdfb91f8f0c8a07c34f1d353bc
Author: Andrew Grieve <agrieve@chromium.org>
Date: Wed Jan 31 21:13:12 2018

Move initCommandLine() to attachBaseContext (take 2)

* Goal is to simplify flag initialization.
  * Most code can now safely assume flags have been initialized.
* Moves isIsolatedProcess() and getProcessName() into base/.
* Disables early tracing for GPU process.
  * I don't think this is something we care about.

Bug: 789275,  789245 
Change-Id: If91976d086c4f3e9dadf1798be927be3e2c3029c
Reviewed-on: https://chromium-review.googlesource.com/804215
Commit-Queue: agrieve <agrieve@chromium.org>
Reviewed-by: Stephen Lanham <slan@chromium.org>
Reviewed-by: Richard Coles <torne@chromium.org>
Reviewed-by: Ken Rockot <rockot@chromium.org>
Reviewed-by: Yaron Friedman <yfriedman@chromium.org>
Reviewed-by: Egor Pasko <pasko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#533412}
[modify] https://crrev.com/7ee6c14b661b0abdfb91f8f0c8a07c34f1d353bc/android_webview/test/shell/src/org/chromium/android_webview/test/AwJUnit4ClassRunner.java
[modify] https://crrev.com/7ee6c14b661b0abdfb91f8f0c8a07c34f1d353bc/base/BUILD.gn
[modify] https://crrev.com/7ee6c14b661b0abdfb91f8f0c8a07c34f1d353bc/base/android/java/src/org/chromium/base/CommandLineInitUtil.java
[modify] https://crrev.com/7ee6c14b661b0abdfb91f8f0c8a07c34f1d353bc/base/android/java/src/org/chromium/base/ContextUtils.java
[modify] https://crrev.com/7ee6c14b661b0abdfb91f8f0c8a07c34f1d353bc/base/android/java/src/org/chromium/base/EarlyTraceEvent.java
[add] https://crrev.com/7ee6c14b661b0abdfb91f8f0c8a07c34f1d353bc/base/android/java/src/org/chromium/base/Supplier.java
[modify] https://crrev.com/7ee6c14b661b0abdfb91f8f0c8a07c34f1d353bc/base/android/java/src/org/chromium/base/multidex/ChromiumMultiDexInstaller.java
[modify] https://crrev.com/7ee6c14b661b0abdfb91f8f0c8a07c34f1d353bc/base/android/javatests/src/org/chromium/base/CommandLineInitUtilTest.java
[modify] https://crrev.com/7ee6c14b661b0abdfb91f8f0c8a07c34f1d353bc/base/test/android/javatests/src/org/chromium/base/test/BaseJUnit4ClassRunner.java
[modify] https://crrev.com/7ee6c14b661b0abdfb91f8f0c8a07c34f1d353bc/base/test/android/javatests/src/org/chromium/base/test/util/CommandLineFlags.java
[modify] https://crrev.com/7ee6c14b661b0abdfb91f8f0c8a07c34f1d353bc/chrome/android/java/src/org/chromium/chrome/browser/ApplicationInitialization.java
[modify] https://crrev.com/7ee6c14b661b0abdfb91f8f0c8a07c34f1d353bc/chrome/android/java/src/org/chromium/chrome/browser/ChromeApplication.java
[modify] https://crrev.com/7ee6c14b661b0abdfb91f8f0c8a07c34f1d353bc/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
[modify] https://crrev.com/7ee6c14b661b0abdfb91f8f0c8a07c34f1d353bc/chrome/android/java/src/org/chromium/chrome/browser/crash/PureJavaExceptionHandler.java
[modify] https://crrev.com/7ee6c14b661b0abdfb91f8f0c8a07c34f1d353bc/chrome/android/java/src/org/chromium/chrome/browser/crash/PureJavaExceptionReporter.java
[modify] https://crrev.com/7ee6c14b661b0abdfb91f8f0c8a07c34f1d353bc/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java
[modify] https://crrev.com/7ee6c14b661b0abdfb91f8f0c8a07c34f1d353bc/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunStatus.java
[modify] https://crrev.com/7ee6c14b661b0abdfb91f8f0c8a07c34f1d353bc/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java
[modify] https://crrev.com/7ee6c14b661b0abdfb91f8f0c8a07c34f1d353bc/chrome/android/java/src/org/chromium/chrome/browser/metrics/UmaUtils.java
[modify] https://crrev.com/7ee6c14b661b0abdfb91f8f0c8a07c34f1d353bc/chrome/android/java/src/org/chromium/chrome/browser/provider/ChromeBrowserProvider.java
[modify] https://crrev.com/7ee6c14b661b0abdfb91f8f0c8a07c34f1d353bc/chrome/android/java/src/org/chromium/chrome/browser/util/FeatureUtilities.java
[modify] https://crrev.com/7ee6c14b661b0abdfb91f8f0c8a07c34f1d353bc/chrome/android/junit/src/org/chromium/chrome/browser/ChromeActionModeCallbackTest.java
[modify] https://crrev.com/7ee6c14b661b0abdfb91f8f0c8a07c34f1d353bc/chrome/android/junit/src/org/chromium/chrome/browser/ChromeBackupAgentTest.java
[modify] https://crrev.com/7ee6c14b661b0abdfb91f8f0c8a07c34f1d353bc/chrome/test/BUILD.gn
[modify] https://crrev.com/7ee6c14b661b0abdfb91f8f0c8a07c34f1d353bc/chrome/test/android/javatests/src/org/chromium/chrome/test/ChromeJUnit4ClassRunner.java
[modify] https://crrev.com/7ee6c14b661b0abdfb91f8f0c8a07c34f1d353bc/chrome/test/android/unit_tests_apk/AndroidManifest.xml
[delete] https://crrev.com/7a2ea9742208c6e3393783d3c056bd8c6d75b5da/chrome/test/android/unit_tests_apk/src/org/chromium/chrome/unit_tests_apk/ChromeNativeTestApplication.java
[modify] https://crrev.com/7ee6c14b661b0abdfb91f8f0c8a07c34f1d353bc/chromecast/browser/android/apk/src/org/chromium/chromecast/shell/CastApplication.java
[modify] https://crrev.com/7ee6c14b661b0abdfb91f8f0c8a07c34f1d353bc/content/public/test/android/javatests/src/org/chromium/content/browser/test/ContentJUnit4ClassRunner.java
[modify] https://crrev.com/7ee6c14b661b0abdfb91f8f0c8a07c34f1d353bc/mojo/android/javatests/src/org/chromium/mojo/MojoTestRule.java

Sign in to add a comment