Tab tray scrolling performance gradually degrades as you scroll between a decent amount of tabs - OOM @ createBitmap(Bitmap.java:605)

RESOLVED DUPLICATE of bug 747419

Status

()

Firefox for Android
General
--
critical
RESOLVED DUPLICATE of bug 747419
6 years ago
a year ago

People

(Reporter: aaronmt, Unassigned)

Tracking

({crash, perf, reproducible})

unspecified
ARM
Android
crash, perf, reproducible
Points:
---

Firefox Tracking Flags

(blocking-fennec1.0 soft)

Details

(Whiteboard: [native-crash], crash signature)

Attachments

(2 attachments)

(Reporter)

Description

6 years ago
Created attachment 619013 [details]
topsite-inflate-tabs.py

STR:

i) monkeyrunner topsite-inflate-tabs.py topsites.json

Opens 30 tabs; scroll the tab-tray back and forth multiple times - the tabs tray performance degrades

E/dalvikvm-heap( 1551): Out of memory on a 576016-byte allocation.
I/dalvikvm( 1551): "main" prio=5 tid=1 RUNNABLE
I/dalvikvm( 1551):   | group="main" sCount=0 dsCount=0 obj=0x40a3e460 self=0x1a18828
I/dalvikvm( 1551):   | sysTid=1551 nice=0 sched=0/0 cgrp=default handle=1075094664
I/dalvikvm( 1551):   | schedstat=( 0 0 0 ) utm=4360 stm=314 core=1
I/dalvikvm( 1551):   at android.graphics.Bitmap.nativeCreate(Native Method)
I/dalvikvm( 1551):   at android.graphics.Bitmap.createBitmap(Bitmap.java:605)
I/dalvikvm( 1551):   at android.graphics.Bitmap.createBitmap(Bitmap.java:585)
I/dalvikvm( 1551):   at android.view.View.buildDrawingCache(View.java:10626)
I/dalvikvm( 1551):   at android.view.View.getDrawingCache(View.java:10476)
I/dalvikvm( 1551):   at android.view.ViewGroup.drawChild(ViewGroup.java:2743)
I/dalvikvm( 1551):   at android.widget.ListView.drawChild(ListView.java:3223)
I/dalvikvm( 1551):   at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
I/dalvikvm( 1551):   at android.widget.AbsListView.dispatchDraw(AbsListView.java:2092)
I/dalvikvm( 1551):   at android.widget.ListView.dispatchDraw(ListView.java:3218)
I/dalvikvm( 1551):   at android.view.View.draw(View.java:11083)
I/dalvikvm( 1551):   at android.widget.AbsListView.draw(AbsListView.java:3398)
I/dalvikvm( 1551):   at android.view.ViewGroup.drawChild(ViewGroup.java:2887)
I/dalvikvm( 1551):   at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
I/dalvikvm( 1551):   at android.view.View.draw(View.java:10981)
I/dalvikvm( 1551):   at android.view.ViewGroup.drawChild(ViewGroup.java:2887)
I/dalvikvm( 1551):   at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
I/dalvikvm( 1551):   at android.view.ViewGroup.drawChild(ViewGroup.java:2885)
I/dalvikvm( 1551):   at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
I/dalvikvm( 1551):   at android.view.ViewGroup.drawChild(ViewGroup.java:2885)
I/dalvikvm( 1551):   at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
I/dalvikvm( 1551):   at android.view.ViewGroup.drawChild(ViewGroup.java:2885)
I/dalvikvm( 1551):   at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
I/dalvikvm( 1551):   at android.view.View.draw(View.java:10981)
I/dalvikvm( 1551):   at android.widget.FrameLayout.draw(FrameLayout.java:450)
I/dalvikvm( 1551):   at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:2126)
I/dalvikvm( 1551):   at android.view.ViewRootImpl.draw(ViewRootImpl.java:2026)
I/dalvikvm( 1551):   at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1634)
I/dalvikvm( 1551):   at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2442)
I/dalvikvm( 1551):   at android.os.Handler.dispatchMessage(Handler.java:99)
I/dalvikvm( 1551):   at android.os.Looper.loop(Looper.java:137)
I/dalvikvm( 1551):   at android.app.ActivityThread.main(ActivityThread.java:4424)
I/dalvikvm( 1551):   at java.lang.reflect.Method.invokeNative(Native Method)
I/dalvikvm( 1551):   at java.lang.reflect.Method.invoke(Method.java:511)
I/dalvikvm( 1551):   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
I/dalvikvm( 1551):   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
I/dalvikvm( 1551):   at dalvik.system.NativeStart.main(Native Method)
I/dalvikvm( 1551): 


--
Samsung Galaxy Nexus (Android 4.0.4)
Nightly (04/27)
20120427060719
http://hg.mozilla.org/integration/mozilla-inbound/rev/bfc15198c097
(Reporter)

Comment 1

6 years ago
Created attachment 619014 [details]
topsites.json
(Reporter)

Comment 2

6 years ago
Same thing happens with 15 tabs which is not really big!
(Reporter)

Comment 3

6 years ago
Scrolling back and forth a few times results in an OOM crash.
Keywords: crash, reproducible
(Reporter)

Updated

6 years ago
Severity: normal → critical
(Reporter)

Comment 4

6 years ago
E/GeckoAppShell( 2568): >>> REPORTING UNCAUGHT EXCEPTION FROM THREAD 215 ("GeckoBackgroundThread")
E/GeckoAppShell( 2568): java.lang.OutOfMemoryError
E/GeckoAppShell( 2568): 	at android.graphics.Bitmap.nativeCreate(Native Method)
E/GeckoAppShell( 2568): 	at android.graphics.Bitmap.createBitmap(Bitmap.java:605)
E/GeckoAppShell( 2568): 	at android.graphics.Bitmap.createBitmap(Bitmap.java:585)
E/GeckoAppShell( 2568): 	at org.mozilla.gecko.GeckoAppShell$3.run(GeckoAppShell.java:556)
E/GeckoAppShell( 2568): 	at android.os.Handler.handleCallback(Handler.java:605)
E/GeckoAppShell( 2568): 	at android.os.Handler.dispatchMessage(Handler.java:92)
E/GeckoAppShell( 2568): 	at android.os.Looper.loop(Looper.java:137)
E/GeckoAppShell( 2568): 	at org.mozilla.gecko.GeckoBackgroundThread.run(GeckoBackgroundThread.java:31)

Comment 5

6 years ago
Dupe of bug 734815?
Crash Signature: [@ java.lang.OutOfMemoryError: at android.graphics.Bitmap.nativeCreate(Native Method) ]
Whiteboard: [native-crash]
(Reporter)

Updated

6 years ago
Depends on: 747419
TabsTray is inflating a view on each adapter's getView() call. This will pretty much blow memory usage up when you scroll through more than just a few tabs (see bug 747419).
Status: NEW → RESOLVED
Last Resolved: 6 years ago
Resolution: --- → DUPLICATE
Duplicate of bug: 747419

Updated

6 years ago
No longer depends on: 747419

Updated

6 years ago
blocking-fennec1.0: ? → soft
You need to log in before you can comment on or make changes to this bug.