Closed Bug 889966 Opened 11 years ago Closed 11 years ago

[B2G] [Browser] Crash upon using lots of 3d transformed layers because of out of memory

Categories

(Core :: Graphics, defect)

ARM
Gonk (Firefox OS)
defect
Not set
normal

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: sotaro, Assigned: bjacob)

References

Details

(Keywords: crash, reproducible, Whiteboard: burirun1)

Attachments

(2 files)

+++ This bug was initially created as a clone of Bug #877495 +++

Description:
When the user taps on the molecule links, the browser crashes (Crash report links provided in the notes). 

Repro Steps:
1. Updated to Leo Build ID: 20130529070208
2. Launch Browser app
3. Go to http://bit.ly/css3d-mol
4. Select any of the links at the bottom of the page (Caffine, Salt, Buckyball or Graphite)

Expected: Browser displays 3D images of the molecule

Actual: Browser Crashes
Bug 877495 handles crash because of hit file descriptor limit. This bug handles the crash because of out of memory.
It is not clear that we can fix this for v1.1 because of the time limitation.
Blocks: 889957
Summary: [B2G] [Browser] Crash upon attempt to display 3D images because of out of memory → [B2G] [Browser] Crash upon using lots of 3d transformed layers because of out of memory
Depends on: 873378
Note that bug 873378 wont solve this by itself. 3D transformed as forced active layers. My patch only caps non-forced active layers. We don't have a transformation path for 3D transforms outside the compositor.
Whiteboard: burirun1
Component: General → Graphics
Product: Boot2Gecko → Core
Version: unspecified → Trunk
What is the good way to work around cases where web content require more memory than what the device can handle? Is it acceptable to skip images that we could not allocate and have incomplete rendering but without crashing?
blocking-b2g: --- → koi?
Is this a duplicate of 894037?
(In reply to Milan Sreckovic [:milan] from comment #5)
> Is this a duplicate of 894037?

It seems not a duplicate. In 894037, the browser tab process is not killed by low memory killer.
(In reply to Sotaro Ikeda [:sotaro] from comment #6)
> (In reply to Milan Sreckovic [:milan] from comment #5)
> > Is this a duplicate of 894037?
> 
> It seems not a duplicate. In 894037, the browser tab process is not killed
> by low memory killer.

But I can not reproduce Bug 894037 on master hamachi. Always get killed by low memory killer.
This shows what's in gralloc buffers, and the layers tree, at the time when we run out of pmem.
Milan is still working on this bug.
Assignee: nobody → milan
Let's run under the assumption this is a duplicate of bug 894037, despite comment 6, but because of comment 7.
Assignee: milan → bjacob
blocking-b2g: koi? → koi+
This was punted from 1.1, and we're now down to only landing critical blockers. Let's consider for 1.3.
blocking-b2g: koi+ → 1.3?
Benoit, could you check if this problem still exists?
Flags: needinfo?(bjacob)
I checked today a current b2g-master build on hamachi. All works. I tried the molecules mentioned in comment 0: caffeine, salt, buckyball, graphite. All load and animate (albeit not very fast). No OOM anymore.

One performance warning though: framerate is about 1 fps, and the draw-fps counter is consistently above 800% overpainting.
Flags: needinfo?(bjacob)
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → WORKSFORME
Attached file about-memory dump
Extract with tar xfj, and then point your desktop firefox to this address:

about:memory?file=/path/to/about-memory-30/memory-reports

(replace /path/to by appropriate path)
blocking-b2g: 1.3? → ---
Filed bug 951178 about the 800% overpainting.
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: