Closed Bug 896192 Opened 11 years ago Closed 11 years ago

WebGL Aquarium fails to load on Firefox OS browser app

Categories

(Core :: Graphics: CanvasWebGL, defect)

ARM
Gonk (Firefox OS)
defect
Not set
normal

Tracking

()

RESOLVED WONTFIX

People

(Reporter: rwood, Unassigned)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

Attached file Logcat (deleted) —
Start browser app on Firefox OS (using Inari with b2g18 v1.1, Jul19).

Navigate to the WebGL aquarium page:

http://webglsamples.googlecode.com/hg/aquarium/aquarium.html

Page starts to load and display fine, but then this error screen appears:
"Well, this is embarrassing. We tried to display this Web page, but it's not responding". With the option to close tab or reload. Reload results in same issue.

Logcat attached (running out of memory?). Is there a pref I need to set in order to be able to completely load this page?
Whiteboard: [games:p?]
Ping. Can someone in dev please have a look at this? Is this problem caused by a legitimate resource limitation of the browser on Firefox OS, or is there a bug here that should be looked at? Thanks!

Cc'ing you :overholt, as perhaps you know whom on the b2g team could have a look at this (I'm not sure whom to add, thanks).
bjacob can probably help
Flags: needinfo?(bjacob)
Component: Gaia::Browser → Graphics
Product: Boot2Gecko → Core
Component: Graphics → Canvas: WebGL
Update: with the below browser app prefs set, the page not responding error no longer appears; however the test still doesn't run. Part of the page loads (some text appears) but there is no actual animation.

pref("dom.max_script_run_time", 0);
pref("dom.script_run_time", 0);
This part of the logcat:

D/memalloc(  112): /dev/pmem: Allocated buffer base:0x4a700000 size:73728 offset:2539520 fd:180
D/memalloc(  721): /dev/pmem: Mapped buffer base:0x4a000000 size:2613248 offset:2539520 fd:50
I/Adreno200-EGLSUB(  112): <CreateImage:896>: Android Image
I/Adreno200-EGLSUB(  112): <GetImageAttributes:1161>: RGBX_8888
I/Adreno200-EGLSUB(  112): <CreateImage:896>: Android Image
I/Adreno200-EGLSUB(  112): <GetImageAttributes:1105>: RGBA_8888
I/Adreno200-EGLSUB(  112): <CreateImage:896>: Android Image
I/Adreno200-EGLSUB(  112): <GetImageAttributes:1161>: RGBX_8888
I/Adreno200-EGLSUB(  112): <CreateImage:896>: Android Image
I/Adreno200-EGLSUB(  112): <GetImageAttributes:1161>: RGBX_8888
I/Adreno200-EGLSUB(  112): <CreateImage:896>: Android Image
I/Adreno200-EGLSUB(  112): <GetImageAttributes:1161>: RGBX_8888
I/Adreno200-EGLSUB(  112): <CreateImage:896>: Android Image
I/Adreno200-EGLSUB(  112): <GetImageAttributes:1161>: RGBX_8888
I/GonkMemoryPressure(  555): Dispatching low-memory memory-pressure event
I/GonkMemoryPressure(  112): Dispatching low-memory memory-pressure event
I/Adreno200-EGLSUB(  112): <CreateImage:896>: Android Image
I/Adreno200-EGLSUB(  112): <GetImageAttributes:1161>: RGBX_8888
I/Gecko   (  112): 
I/Gecko   (  112): ###!!! [Parent][AsyncChannel] Error: Channel error: cannot send/recv

Suggests an out-of-memory condition while loading textures.

That is not surprising: this demo has a lot of textures, and they aren't compressed textures.

When I run it on my desktop, about:memory says:

101.11 MB ── webgl-texture-memory

There is no way that a demo that uses over 100 M of WebGL textures alone is going to run on a device with 256 M of RAM.

So, while the finding in comment 3 is interesting, there still is nothing that we can do to make this demo run on 256M devices.
Flags: needinfo?(bjacob)
So this could be closed as WONTFIX, unless you think that we should try hard to give a more helpful error message in that case (there is a chance that we might be able to detect this kind of error condition in time, but it's not guaranteed).
Another way to view this bug is as a duplicate of bug 820217 --- while the testcase is different, the underlying issue is the same, and that other bug has more discussion; there are some actionables there to try to help, as that other bug is about a testcase that uses 'only' half that amount of texture memory.
Thanks Benoit, appreciated! How about on leo (512mb)? I tried running in on Leo but it doesn't run either, loads partly but then just displays a black screen with no animation.
I'd say it should be able to run on a 512M device. What you could do to investigate this is get an about:memory dump from running this in B2G. You can do this by running ./tools/get_about_memory.py in your B2G dir. This will get you some files that you can attach here and open in about:memory in desktop Firefox. A logcat would also help. I'm away tomorrow, happy to try to help on Monday.
Just flagging this so it is on my list
Flags: needinfo?(rwood)
Blocks: gecko-games
-> WONTFIX; this is a pure memory issue.
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → WONTFIX
Whiteboard: [games:p?]
Flags: needinfo?(rwood)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: