New issue
Advanced search Search tips

Issue 742294 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Jul 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 1
Type: Bug

Blocking:
issue 739165



Sign in to add a comment

Craches on start trying to preload a null URL

Project Member Reported by dgn@chromium.org, Jul 13 2017

Issue description

D/AndroidRuntime: Shutting down VM
E/AndroidRuntime: FATAL EXCEPTION: main
E/AndroidRuntime: Process: org.chromium.chrome, PID: 12623
E/AndroidRuntime: java.lang.NullPointerException: uriString
E/AndroidRuntime: 	at android.net.Uri$StringUri.<init>(Uri.java:470)
E/AndroidRuntime: 	at android.net.Uri$StringUri.<init>(Uri.java:460)
E/AndroidRuntime: 	at android.net.Uri.parse(Uri.java:432)
E/AndroidRuntime: 	at org.chromium.chrome.browser.WarmupManager.maybePreconnectUrlAndSubResources(WarmupManager.java:233)
E/AndroidRuntime: 	at org.chromium.chrome.browser.init.AsyncInitializationActivity.maybePreconnect(AsyncInitializationActivity.java:190)
E/AndroidRuntime: 	at org.chromium.chrome.browser.init.ChromeBrowserInitializer$5.initFunction(ChromeBrowserInitializer.java:300)
E/AndroidRuntime: 	at org.chromium.chrome.browser.init.ChromeBrowserInitializer$1NativeInitTask.run(ChromeBrowserInitializer.java:263)
E/AndroidRuntime: 	at android.os.Handler.handleCallback(Handler.java:739)
E/AndroidRuntime: 	at android.os.Handler.dispatchMessage(Handler.java:95)
E/AndroidRuntime: 	at android.os.Looper.loop(Looper.java:135)
E/AndroidRuntime: 	at android.app.ActivityThread.main(ActivityThread.java:5254)
E/AndroidRuntime: 	at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime: 	at java.lang.reflect.Method.invoke(Method.java:372)
E/AndroidRuntime: 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
E/AndroidRuntime: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)

Started after crrev.com/c0c7a5551424c67edbd4439c9da6a03c12295ad9


AsyncInitializationActivity.maybePreconnect should either check the URL before trying to preconnect, or WarmupManager.maybePreconnectUrlAndSubResources should null check the URL before trying to parse it.
 

Comment 1 by dgn@chromium.org, Jul 13 2017

It's probably caused by the fact that I start Chrome from the command line: 

adb shell am start -a android.intent.action.VIEW -n org.chromium.chrome/com.google.android.apps.chrome.Main

Comment 2 by lizeb@chromium.org, Jul 13 2017

I think we pretty much always crashed in this case, with an ACTION_VIEW intent without data. It's likely not possible to hit that one in a usual setup, because the intent filter for ACTION_VIEW in AndroidManifest.xml specifies the scheme.

It could then only happen if you make the intent fully explicit, and don't set a URL.

Comment 3 by lizeb@chromium.org, Jul 13 2017

Status: Started (was: Assigned)
You're right, we didn't always crash here (although the crash is pretty old).

Sent https://chromium-review.googlesource.com/c/569964/ for review.
Project Member

Comment 4 by bugdroid1@chromium.org, Jul 18 2017

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

commit 5566a0f40fd651ef274f373058a5d37e58a8bd92
Author: Benoit Lize <lizeb@chromium.org>
Date: Tue Jul 18 10:58:53 2017

android: Don't crash when a bad ACTION_VIEW intent is received.

ACTION_VIEW intents should contain a Uri as data, but in some cases they
might not (explicit intent incorrectly set, for instance). Don't crash
in this case.

For instance,
adb shell am start -a android.intent.action.VIEW -n org.chromium.chrome/com.google.android.apps.chrome.Main
would crash, this fixes it.

BUG= 742294 

Change-Id: Ic44d7cb656d193449363ef63506e0d9852a6e782
Reviewed-on: https://chromium-review.googlesource.com/569964
Commit-Queue: Benoit L <lizeb@chromium.org>
Reviewed-by: Nicolas Dossou-Gbété <dgn@chromium.org>
Reviewed-by: Ted Choc <tedchoc@chromium.org>
Cr-Commit-Position: refs/heads/master@{#487438}
[modify] https://crrev.com/5566a0f40fd651ef274f373058a5d37e58a8bd92/chrome/android/java/src/org/chromium/chrome/browser/WarmupManager.java
[modify] https://crrev.com/5566a0f40fd651ef274f373058a5d37e58a8bd92/chrome/android/java/src/org/chromium/chrome/browser/init/AsyncInitializationActivity.java

Comment 5 by lizeb@chromium.org, Jul 19 2017

Cc: lizeb@chromium.org
 Issue 744565  has been merged into this issue.
Project Member

Comment 6 by bugdroid1@chromium.org, Jul 20 2017

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

commit 17213d4fbc78d298c8be2e9b71c5c3d79874ee39
Author: Benoit Lize <lizeb@chromium.org>
Date: Thu Jul 20 09:47:12 2017

android: Add a test for external VIEW intent without a URI.

This is a non-regression test for the linked bug.

BUG= 742294 

Change-Id: I749e223b831f7558b53039a14704625e52192a15
Reviewed-on: https://chromium-review.googlesource.com/576173
Commit-Queue: Benoit L <lizeb@chromium.org>
Reviewed-by: Ted Choc <tedchoc@chromium.org>
Cr-Commit-Position: refs/heads/master@{#488178}
[modify] https://crrev.com/17213d4fbc78d298c8be2e9b71c5c3d79874ee39/chrome/android/javatests/src/org/chromium/chrome/browser/document/LauncherActivityTest.java

Comment 7 by lizeb@chromium.org, Jul 21 2017

Status: Fixed (was: Started)

Sign in to add a comment