Closed
Bug 822031
Opened 13 years ago
Closed 13 years ago
OOM caused by browser process can result in only the main process getting the low-memory event
Categories
(Firefox OS Graveyard :: General, defect)
Firefox OS Graveyard
General
Tracking
(Not tracked)
RESOLVED
INVALID
People
(Reporter: bjacob, Unassigned)
Details
In bug 820217 we have a game that tries to load 280 M of WebGL textures, resulting in an OOM crash.
The problem is that while this OOM is caused by work done by the browser process, only the _main_ process receives a low-memory event.
How about saying that as soon at the main process receives a low-memory event, it should propagate it to all other processes immediately?
Should that be generalized to saying that as soon as _any_ process receives a low-memory event, it should propagate it to all other processes?
How should the propagation be achieved? A key requirement is it happening as fast as possible. Maybe a signal?
Comment 1•13 years ago
|
||
> How about saying that as soon at the main process receives a low-memory event, it should propagate
> it to all other processes immediately?
Each process listens for low memory events itself. That's why the MemoryPressureRunnable at the top of GonkMemoryPressureRunnable fires a "low-memory-no-forward" event. The "no-forward" part indicates that ContentParent shouldn't forward the event to the children.
We have each process listen for low-memory instead of having the parent forward the memory-pressure events down to its children specifically because we want to get these events out to the relevant processes as quickly as possible.
What I suspect is happening is that the browser is OOMing too quickly for it to notice that it's run out of memory before it crashes. As such, I suspect this bug is invalid.
Comment 2•13 years ago
|
||
> That's why the MemoryPressureRunnable at the top of GonkMemoryPressureRunnable
Sorry, that should be widget/gonk/GonkMemoryPressureMonitoring.cpp.
| Reporter | ||
Comment 3•13 years ago
|
||
OK, that makes sense.
It would be nice if we could consistently ensure that processes get a low-memory notification early enough before getting killed, but that's a hard problem to solve.
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → INVALID
You need to log in
before you can comment on or make changes to this bug.
Description
•