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

RESOLVED WORKSFORME

Status

()

Core
Graphics
RESOLVED WORKSFORME
5 years ago
5 years ago

People

(Reporter: sotaro, Assigned: bjacob)

Tracking

(Blocks: 1 bug, {crash, reproducible})

Trunk
ARM
Gonk (Firefox OS)
crash, reproducible
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: burirun1)

Attachments

(2 attachments)

(Reporter)

Description

5 years ago
+++ 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
(Reporter)

Comment 1

5 years ago
Bug 877495 handles crash because of hit file descriptor limit. This bug handles the crash because of out of memory.
(Reporter)

Comment 2

5 years ago
It is not clear that we can fix this for v1.1 because of the time limitation.
(Reporter)

Updated

5 years ago
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
(Reporter)

Updated

5 years ago
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.

Updated

5 years ago
Whiteboard: burirun1

Updated

5 years ago
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?
(Reporter)

Updated

5 years ago
blocking-b2g: --- → koi?
Is this a duplicate of 894037?
(Reporter)

Comment 6

5 years ago
(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.
(Reporter)

Comment 7

5 years ago
(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.
(Assignee)

Comment 8

5 years ago
Created attachment 812269 [details]
Gralloc / layers dump at the time of the out-of-pmem condition, using patch from bug 916626

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
(Assignee)

Updated

5 years ago
Duplicate of this bug: 894037
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)
(Assignee)

Updated

5 years ago
Status: NEW → RESOLVED
Last Resolved: 5 years ago
Resolution: --- → WORKSFORME
Created attachment 8348765 [details]
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)

Updated

5 years ago
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.