Closed
Bug 764808
Opened 12 years ago
Closed 12 years ago
Frequent ANR on Nightly
Categories
(Firefox for Android Graveyard :: General, defect)
Tracking
(Not tracked)
RESOLVED
INVALID
People
(Reporter: snorp, Unassigned)
Details
A couple days ago I started getting constant ANRs on Nightly. This is on a Galaxy Nexus, ICS.
Reporter | ||
Comment 1•12 years ago
|
||
Cmd line: org.mozilla.fennec DALVIK THREADS: (mutexes: tll=0 tsl=0 tscl=0 ghl=0) "main" prio=5 tid=1 WAIT | group="main" sCount=1 dsCount=0 obj=0x40be4460 self=0x11af830 | sysTid=29151 nice=0 sched=0/0 cgrp=default handle=1074717892 | schedstat=( 0 0 0 ) utm=956 stm=296 core=1 at java.lang.Object.wait(Native Method) - waiting on <0x40be4530> (a java.lang.VMThread) held by tid=1 (main) at java.lang.Thread.parkFor(Thread.java:1231) at sun.misc.Unsafe.park(Unsafe.java:323) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157) at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:813) at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:973) at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1282) at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:207) at org.mozilla.gecko.GeckoAppShell.geckoEventSync(GeckoAppShell.java:588) at org.mozilla.gecko.GeckoAppShell.sendEventToGeckoSync(GeckoAppShell.java:512) at org.mozilla.gecko.gfx.GeckoLayerClient.compositionPauseRequested(GeckoLayerClient.java:452) at org.mozilla.gecko.gfx.LayerView.surfaceDestroyed(LayerView.java:225) at android.view.SurfaceView.updateWindow(SurfaceView.java:517) at android.view.SurfaceView.onWindowVisibilityChanged(SurfaceView.java:226) at android.view.View.dispatchWindowVisibilityChanged(View.java:5839) at android.view.ViewGroup.dispatchWindowVisibilityChanged(ViewGroup.java:945) at android.view.ViewGroup.dispatchWindowVisibilityChanged(ViewGroup.java:945) at android.view.ViewGroup.dispatchWindowVisibilityChanged(ViewGroup.java:945) at android.view.ViewGroup.dispatchWindowVisibilityChanged(ViewGroup.java:945) at android.view.ViewGroup.dispatchWindowVisibilityChanged(ViewGroup.java:945) at android.view.ViewGroup.dispatchWindowVisibilityChanged(ViewGroup.java:945) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:965) at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2442) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:4575) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:556) at dalvik.system.NativeStart.main(Native Method) "Binder Thread #4" prio=5 tid=21 NATIVE | group="main" sCount=1 dsCount=0 obj=0x419ec918 self=0x1f8cda8 | sysTid=357 nice=0 sched=0/0 cgrp=default handle=27991976 | schedstat=( 0 0 0 ) utm=0 stm=0 core=0 at dalvik.system.NativeStart.run(Native Method) "AsyncTask #5" prio=5 tid=24 WAIT | group="main" sCount=1 dsCount=0 obj=0x414f9ca8 self=0x1d45b88 | sysTid=31671 nice=10 sched=0/0 cgrp=bg_non_interactive handle=30655512 | schedstat=( 0 0 0 ) utm=40 stm=1 core=1 at java.lang.Object.wait(Native Method) - waiting on <0x414f9e00> (a java.lang.VMThread) held by tid=24 (AsyncTask #5) at java.lang.Thread.parkFor(Thread.java:1231) at sun.misc.Unsafe.park(Unsafe.java:323) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2022) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:413) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1009) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1069) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569) at java.lang.Thread.run(Thread.java:856) "AsyncTask #4" prio=5 tid=23 WAIT | group="main" sCount=1 dsCount=0 obj=0x4100b650 self=0x1b13f20 | sysTid=31668 nice=10 sched=0/0 cgrp=bg_non_interactive handle=26542040 | schedstat=( 0 0 0 ) utm=36 stm=7 core=1 at java.lang.Object.wait(Native Method) - waiting on <0x414cd048> (a java.lang.VMThread) held by tid=23 (AsyncTask #4) at java.lang.Thread.parkFor(Thread.java:1231) at sun.misc.Unsafe.park(Unsafe.java:323) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2022) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:413) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1009) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1069) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569) at java.lang.Thread.run(Thread.java:856) "Binder Thread #3" prio=5 tid=20 NATIVE | group="main" sCount=1 dsCount=0 obj=0x40ffd790 self=0x1d8f6a8 | sysTid=31560 nice=0 sched=0/0 cgrp=default handle=27179504 | schedstat=( 0 0 0 ) utm=0 stm=1 core=0 at dalvik.system.NativeStart.run(Native Method) "AsyncTask #3" prio=5 tid=19 WAIT | group="main" sCount=1 dsCount=0 obj=0x410a9fb0 self=0x194a748 | sysTid=31507 nice=10 sched=0/0 cgrp=bg_non_interactive handle=27032944 | schedstat=( 0 0 0 ) utm=22 stm=3 core=1 at java.lang.Object.wait(Native Method) - waiting on <0x4185ba38> (a java.lang.VMThread) held by tid=19 (AsyncTask #3) at java.lang.Thread.parkFor(Thread.java:1231) at sun.misc.Unsafe.park(Unsafe.java:323) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2022) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:413) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1009) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1069) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569) at java.lang.Thread.run(Thread.java:856) "RefQueueWorker@org.apache.http.impl.conn.tsccm.ConnPoolByRoute@410181a8" daemon prio=5 tid=18 WAIT | group="main" sCount=1 dsCount=0 obj=0x40ff4ff0 self=0x193b0f0 | sysTid=29841 nice=0 sched=0/0 cgrp=default handle=23355576 | schedstat=( 0 0 0 ) utm=0 stm=0 core=0 at java.lang.Object.wait(Native Method) - waiting on <0x41012588> (a java.lang.ref.ReferenceQueue) at java.lang.Object.wait(Object.java:401) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:102) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:73) at org.apache.http.impl.conn.tsccm.RefQueueWorker.run(RefQueueWorker.java:102) at java.lang.Thread.run(Thread.java:856) "AsyncTask #2" prio=5 tid=17 WAIT | group="main" sCount=1 dsCount=0 obj=0x41024300 self=0x1923488 | sysTid=29839 nice=10 sched=0/0 cgrp=bg_non_interactive handle=20380592 | schedstat=( 0 0 0 ) utm=21 stm=6 core=0 at java.lang.Object.wait(Native Method) - waiting on <0x4101bef8> (a java.lang.VMThread) held by tid=17 (AsyncTask #2) at java.lang.Thread.parkFor(Thread.java:1231) at sun.misc.Unsafe.park(Unsafe.java:323) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2022) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:413) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1009) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1069) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569) at java.lang.Thread.run(Thread.java:856) "android.hardware.SensorManager$SensorThread" prio=5 tid=16 NATIVE | group="main" sCount=1 dsCount=0 obj=0x41008258 self=0x15507f0 | sysTid=29834 nice=-8 sched=0/0 cgrp=default handle=20439736 | schedstat=( 0 0 0 ) utm=120 stm=32 core=1 at android.hardware.SensorManager.sensors_data_poll(Native Method) at android.hardware.SensorManager$SensorThread$SensorThreadRunnable.run(SensorManager.java:498) at java.lang.Thread.run(Thread.java:856) "Thread-465" prio=5 tid=15 NATIVE | group="main" sCount=1 dsCount=0 obj=0x412dc7d8 self=0x15942f0 | sysTid=29822 nice=0 sched=0/0 cgrp=default handle=22626864 | schedstat=( 0 0 0 ) utm=983 stm=324 core=1 at dalvik.system.NativeStart.run(Native Method) "AsyncTask #1" prio=5 tid=14 WAIT | group="main" sCount=1 dsCount=0 obj=0x412cf970 self=0x1582e70 | sysTid=29816 nice=10 sched=0/0 cgrp=bg_non_interactive handle=22535472 | schedstat=( 0 0 0 ) utm=25 stm=2 core=0 at java.lang.Object.wait(Native Method) - waiting on <0x412cfb08> (a java.lang.VMThread) held by tid=14 (AsyncTask #1) at java.lang.Thread.parkFor(Thread.java:1231) at sun.misc.Unsafe.park(Unsafe.java:323) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2022) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:413) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1009) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1069) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569) at java.lang.Thread.run(Thread.java:856) "GeckoInputConnection Timer" prio=5 tid=13 WAIT | group="main" sCount=1 dsCount=0 obj=0x4129f808 self=0x152c960 | sysTid=29806 nice=0 sched=0/0 cgrp=default handle=20433584 | schedstat=( 0 0 0 ) utm=0 stm=1 core=1 at java.lang.Object.wait(Native Method) - waiting on <0x4129f808> (a java.util.Timer$TimerImpl) at java.lang.Object.wait(Object.java:364) at java.util.Timer$TimerImpl.run(Timer.java:214) "Gecko" prio=5 tid=12 NATIVE | group="main" sCount=1 dsCount=0 obj=0x41044108 self=0x12772f0 | sysTid=29803 nice=0 sched=0/0 cgrp=default handle=20059360 | schedstat=( 0 0 0 ) utm=28335 stm=356 core=0 at java.lang.StringToReal.parseDblImpl(Native Method) at java.lang.StringToReal.parseDouble(StringToReal.java:267) at java.lang.Double.parseDouble(Double.java:295) at java.lang.Double.valueOf(Double.java:332) at org.json.JSONTokener.readLiteral(JSONTokener.java:323) at org.json.JSONTokener.nextValue(JSONTokener.java:111) at org.json.JSONTokener.readObject(JSONTokener.java:385) at org.json.JSONTokener.nextValue(JSONTokener.java:100) at org.json.JSONTokener.readObject(JSONTokener.java:385) at org.json.JSONTokener.nextValue(JSONTokener.java:100) at org.json.JSONObject.<init>(JSONObject.java:154) at org.json.JSONObject.<init>(JSONObject.java:171) at org.mozilla.gecko.GeckoAppShell.handleGeckoMessage(GeckoAppShell.java:1832) at org.mozilla.gecko.GeckoAppShell.nativeRun(Native Method) at org.mozilla.gecko.GeckoAppShell.nativeRun(Native Method) at org.mozilla.gecko.GeckoAppShell.runGecko(GeckoAppShell.java:481) at org.mozilla.gecko.GeckoThread.run(GeckoThread.java:82) "GeckoBackgroundThread" prio=5 tid=11 NATIVE | group="main" sCount=1 dsCount=0 obj=0x41023a28 self=0x13b6ac8 | sysTid=29164 nice=0 sched=0/0 cgrp=default handle=20049304 | schedstat=( 0 0 0 ) utm=168 stm=25 core=0 at android.os.MessageQueue.nativePollOnce(Native Method) at android.os.MessageQueue.next(MessageQueue.java:118) at android.os.Looper.loop(Looper.java:118) at org.mozilla.gecko.GeckoBackgroundThread.run(GeckoBackgroundThread.java:31) "Binder Thread #2" prio=5 tid=10 NATIVE | group="main" sCount=1 dsCount=0 obj=0x40fe20f8 self=0x13835f8 | sysTid=29163 nice=0 sched=0/0 cgrp=default handle=20431488 | schedstat=( 0 0 0 ) utm=3 stm=3 core=1 at dalvik.system.NativeStart.run(Native Method) "Binder Thread #1" prio=5 tid=9 NATIVE | group="main" sCount=1 dsCount=0 obj=0x40fe1ec8 self=0x137be30 | sysTid=29162 nice=0 sched=0/0 cgrp=default handle=20157384 | schedstat=( 0 0 0 ) utm=3 stm=2 core=0 at dalvik.system.NativeStart.run(Native Method) "FinalizerWatchdogDaemon" daemon prio=5 tid=8 WAIT | group="main" sCount=1 dsCount=0 obj=0x40fde8a8 self=0x139dc50 | sysTid=29161 nice=0 sched=0/0 cgrp=default handle=20570272 | schedstat=( 0 0 0 ) utm=0 stm=1 core=1 at java.lang.Object.wait(Native Method) - waiting on <0x40bebbe0> (a java.lang.Daemons$FinalizerWatchdogDaemon) at java.lang.Object.wait(Object.java:364) at java.lang.Daemons$FinalizerWatchdogDaemon.run(Daemons.java:213) at java.lang.Thread.run(Thread.java:856) "FinalizerDaemon" daemon prio=5 tid=7 WAIT | group="main" sCount=1 dsCount=0 obj=0x40fde750 self=0x13a5fd0 | sysTid=29160 nice=0 sched=0/0 cgrp=default handle=20603936 | schedstat=( 0 0 0 ) utm=21 stm=4 core=1 at java.lang.Object.wait(Native Method) - waiting on <0x40bda5d0> (a java.lang.ref.ReferenceQueue) at java.lang.Object.wait(Object.java:401) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:102) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:73) at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:168) at java.lang.Thread.run(Thread.java:856) "ReferenceQueueDaemon" daemon prio=5 tid=6 WAIT | group="main" sCount=1 dsCount=0 obj=0x40fde5e8 self=0x135e3c8 | sysTid=29159 nice=0 sched=0/0 cgrp=default handle=20310040 | schedstat=( 0 0 0 ) utm=2 stm=2 core=1 at java.lang.Object.wait(Native Method) - waiting on <0x40bda4f8> at java.lang.Object.wait(Object.java:364) at java.lang.Daemons$ReferenceQueueDaemon.run(Daemons.java:128) at java.lang.Thread.run(Thread.java:856) "Compiler" daemon prio=5 tid=5 VMWAIT | group="system" sCount=1 dsCount=0 obj=0x40fde4f8 self=0x13ba6d0 | sysTid=29158 nice=0 sched=0/0 cgrp=default handle=20469024 | schedstat=( 0 0 0 ) utm=118 stm=71 core=0 at dalvik.system.NativeStart.run(Native Method) "JDWP" daemon prio=5 tid=4 VMWAIT | group="system" sCount=1 dsCount=0 obj=0x40fde410 self=0x137aaf8 | sysTid=29157 nice=0 sched=0/0 cgrp=default handle=20430176 | schedstat=( 0 0 0 ) utm=0 stm=1 core=1 at dalvik.system.NativeStart.run(Native Method) "Signal Catcher" daemon prio=5 tid=3 RUNNABLE | group="system" sCount=0 dsCount=0 obj=0x40fde318 self=0x13ab8a0 | sysTid=29156 nice=0 sched=0/0 cgrp=default handle=20709208 | schedstat=( 0 0 0 ) utm=13 stm=16 core=1 at dalvik.system.NativeStart.run(Native Method) "GC" daemon prio=5 tid=2 VMWAIT | group="system" sCount=1 dsCount=0 obj=0x40fde238 self=0x13ae5a8 | sysTid=29152 nice=0 sched=0/0 cgrp=default handle=20737480 | schedstat=( 0 0 0 ) utm=208 stm=9 core=1 at dalvik.system.NativeStart.run(Native Method) ----- end 29151 -----
Comment 2•12 years ago
|
||
This one seems fishy. If it's getting into an infinite loop or something trying to parse a double that would explain this behaviour. You'd hope that sort of thing doesn't happen so often, but it has been known to occur. (see http://www.exploringbinary.com/java-hangs-when-converting-2-2250738585072012e-308/). It could also be a loop higher up in the stack, with malformed JSON borking the JSONTokener or something. The next time it happens you should grab stack logs twice, a few seconds apart to make sure it is getting stuck in this code and not just passing through. "Gecko" prio=5 tid=12 NATIVE | group="main" sCount=1 dsCount=0 obj=0x41044108 self=0x12772f0 | sysTid=29803 nice=0 sched=0/0 cgrp=default handle=20059360 | schedstat=( 0 0 0 ) utm=28335 stm=356 core=0 at java.lang.StringToReal.parseDblImpl(Native Method) at java.lang.StringToReal.parseDouble(StringToReal.java:267) at java.lang.Double.parseDouble(Double.java:295) at java.lang.Double.valueOf(Double.java:332) at org.json.JSONTokener.readLiteral(JSONTokener.java:323) at org.json.JSONTokener.nextValue(JSONTokener.java:111) at org.json.JSONTokener.readObject(JSONTokener.java:385) at org.json.JSONTokener.nextValue(JSONTokener.java:100) at org.json.JSONTokener.readObject(JSONTokener.java:385) at org.json.JSONTokener.nextValue(JSONTokener.java:100) at org.json.JSONObject.<init>(JSONObject.java:154) at org.json.JSONObject.<init>(JSONObject.java:171) at org.mozilla.gecko.GeckoAppShell.handleGeckoMessage(GeckoAppShell.java:1832) at org.mozilla.gecko.GeckoAppShell.nativeRun(Native Method) at org.mozilla.gecko.GeckoAppShell.nativeRun(Native Method) at org.mozilla.gecko.GeckoAppShell.runGecko(GeckoAppShell.java:481) at org.mozilla.gecko.GeckoThread.run(GeckoThread.java:82)
Reporter | ||
Comment 3•12 years ago
|
||
I did grab the log several times and it was always the same. I agree that it is very strange. I've nuked my profile now and it seems to have gone away. I really wish Nightly was debuggable...
Reporter | ||
Comment 4•12 years ago
|
||
I lied. It just locked up again, same stack on the Gecko thread.
Reporter | ||
Comment 5•12 years ago
|
||
It's spinning on one CPU core, but according to DDMS method profiler there is basically zero Java activity. I think there is an infinite loop in StringToReal.parseDblImpl? What.
Comment 6•12 years ago
|
||
I got ANR after I went to earthcam.com and then to Awesomebar: https://gist.github.com/2931085 -- Firefox 16.0a1 (2012-06-14) Device: Galaxy Nexus OS: Android 4.0.2
Reporter | ||
Comment 7•12 years ago
|
||
The ANR :xti got there is not the same as this one (though it is still concerning).
Reporter | ||
Comment 8•12 years ago
|
||
I added some debugging to a Try build and it seems to choke on the following: First run: W/GeckoAppShell( 5638): SNORP: gecko message: {"gecko":{"width":720,"height":1038,"cssWidth":1024,"cssHeight":1476.2666666666667,"pageLeft":0,"pageTop":0,"pageRight":720,"pageBottom":5316.211051940918,"cssPageLeft":0,"cssPageTop":0,"cssPageRight":1024,"cssPageBottom":7560.83349609375,"zoom":0.703125,"cssX":0,"cssY":0,"x":0,"y":0,"type":"Viewport:CalculateDisplayPort"}} Second run: W/GeckoAppShell( 6234): SNORP: gecko message: {"gecko":{"width":720,"height":1038,"cssWidth":1024,"cssHeight":1476.2666666666667,"pageLeft":0,"pageTop":0,"pageRight":720,"pageBottom":5264.707145690918,"cssPageLeft":0,"cssPageTop":0,"cssPageRight":1024,"cssPageBottom":7487.58349609375,"zoom":0.703125,"cssX":0,"cssY":0,"x":0,"y":0,"type":"Viewport:CalculateDisplayPort"}} *boggle*
Reporter | ||
Comment 9•12 years ago
|
||
This is reproducible even back to the 5/20 nightly. I was successfully using it back then, so apparently something changed on my phone to cause this. Weirdness.
Reporter | ||
Comment 10•12 years ago
|
||
I restored to the latest stock OTA and the problem seems to be gone. Weirdness.
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → INVALID
Assignee | ||
Updated•3 years ago
|
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•