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

Issue 622651 link

Starred by 2 users

Issue metadata

Status: WontFix
Owner:
Closed: Aug 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 3
Type: Bug



Sign in to add a comment

Verify impact of "force stop" on multiprocess webview

Project Member Reported by torne@chromium.org, Jun 23 2016

Issue description

It's possible we've already tested this (in which case we can just close it), but if not:

We should verify what impact selecting "force stop" has on multiprocess webview, as I'm not 100% certain what the answer to the below questions is - I *think* everything should be fine, but I haven't had a chance to actually test it.

1) What happens if you "force stop" the WebView implementation package (whether that's standalone or monochrome) while an app is using WebView? Does the renderer process get killed, or is it fine?

2) Do future WebView renderer processes launch successfully *after* the implementation package has been force stopped? I think Android disables certain kinds of automatic launching for packages that have been force stopped until they are manually launched by the user, and WebView is never manually launched.

3) What happens if you force stop the app itself? Does the renderer process die immediately, or only after a while? Does it crash or exit "gracefully"?

I was going to test this myself but haven't had time and am going on vacation soon, so if someone else gets a chance to look at it first, feel free :)
 

Comment 1 by boliu@chromium.org, Jun 23 2016

is this "manually test this and see what happens", or actually go read code?

Comment 2 by torne@chromium.org, Jun 23 2016

Manually test and see what happens is probably fine. These should be simple deterministic scenarios, not races. Sorry, should have been clear :)

Comment 3 by boliu@chromium.org, Aug 15 2016

> 1) What happens if you "force stop" the WebView implementation package (whether that's standalone or monochrome) while an app is using WebView? Does the renderer process get killed, or is it fine?

For monochrome, activity manager stops the browser process first. Maybe you weren't expecting that..?

08-15 19:37:46.007   881  4071 I ActivityManager: Force stopping com.google.android.apps.chrome appid=10082 user=0: from pid 25006
08-15 19:37:46.007   881  4071 I ActivityManager: Killing 27834:org.chromium.webview_shell/u0a70 (adj 900): stop com.google.android.apps.chrome
08-15 19:37:46.010   881  4071 I ActivityManager: Killing 27869:com.google.android.apps.chrome:sandboxed_process0/u0a70i7 (adj 0): isolated not needed

> 2) Do future WebView renderer processes launch successfully *after* the implementation package has been force stopped?

Launches fine.

> 3) What happens if you force stop the app itself? Does the renderer process die immediately, or only after a while? Does it crash or exit "gracefully"?

Yes it's killed immediately and "gracefully":

08-15 19:40:42.093   881  4069 I ActivityManager: Force stopping org.chromium.webview_shell appid=10070 user=0: from pid 25006
08-15 19:40:42.094   881  4069 I ActivityManager: Killing 28092:org.chromium.webview_shell/u0a70 (adj 900): stop org.chromium.webview_shell
08-15 19:40:42.101   881  4069 I ActivityManager: Killing 28125:com.google.android.apps.chrome:sandboxed_process0/u0a70i8 (adj 0): isolated not needed

Comment 4 by boliu@chromium.org, Aug 15 2016

Owner: torne@chromium.org

Comment 5 by torne@chromium.org, Aug 16 2016

Status: WontFix (was: Available)
Ah. So, yeah, my questions are based on a bit of a mistaken premise here: I assumed that "force stop" of the webview implementation didn't kill apps that are using WebView, and that's actually wrong - it already does, on all OS versions, even with no multiprocess or monochrome involved.

So, multiprocess doesn't really change anything relevant here: we're killing the browser process already :)

This does mean that in a monochrome world, force stopping Chrome also force stops everything using webview, which is a bit weird, but hey.

Thanks for verifying Bo. No more work required here.

Sign in to add a comment