[webapp-container] apps are not handled by lifecycle management properly
Bug #1388089 reported by
Oliver Grawert
This bug affects 2 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Oxide |
New
|
Undecided
|
Unassigned | ||
qtmir (Ubuntu) |
Confirmed
|
Undecided
|
Unassigned | ||
qtmir (Ubuntu RTM) |
New
|
Undecided
|
Unassigned | ||
webbrowser-app (Ubuntu) |
Confirmed
|
Undecided
|
Unassigned | ||
webbrowser-app (Ubuntu RTM) |
New
|
Critical
|
Unassigned |
Bug Description
in image 137, if you open a gazillion of apps and have webapps among them, the webapp screenshots never turn blurry when the OOM score is reached on high memory pressure ... once you switch to such a webapp, the whole content window turns white (sometimes the app header stays around, sometimes the whole app window is white).
seemingly the renderer is lifecycle managed and gets properly OOM killed on high memory pressure , but the frontend of the webapp does not.
Related branches
lp://staging/~ted/ubuntu-app-launch/no-oom-value-for-oxide
- Charles Kerr (community): Approve
-
Diff: 29 lines (+10/-1)2 files modifieddebian/changelog (+7/-1)
libubuntu-app-launch/ubuntu-app-launch.c (+3/-0)
Superseded
for merging
into
lp://staging/ubuntu-app-launch/15.04
- Indicator Applet Developers: Pending requested
-
Diff: 13 lines (+3/-0)1 file modifiedlibubuntu-app-launch/ubuntu-app-launch.c (+3/-0)
description: | updated |
tags: | added: exploratory |
no longer affects: | webbrowser-app |
To post a comment you must log in.
Let's stop calling it "lifecycle managed" as that suggests our app management actually has anything to do with it. It's all about the out-of-memory killer and how it behaves. It will just kill one process that it sees fit to kill (in this case, the renderer), so the *app*, being the webapp container, lives on. So there's no screenshot, per se, it's all the app still working (but SIGSTOP'ed, suspended). Once you focus it, it realizes it lost the renderer and the web canvas goes blank (totally blank if webapp has no header, header still around if it was there in the first place).
There's two potential solutions here:
a) get OOM to kill the whole pgroup
b) make the webapp container recover by restarting its renderer
a) would be more in line with our overall lifecycle management
b) could be quicker, as we only need to start the renderer, not the whole app, but the shell won't have control over how the recovery looks