Closed Bug 822505 Opened 12 years ago Closed 11 years ago

Hang in onTrimMemory

Categories

(Firefox for Android Graveyard :: General, defect)

ARM
Android
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED DUPLICATE of bug 803154

People

(Reporter: snorp, Unassigned)

Details

Frequently I experience hangs on Nightly while entering text into the search bar in the awesomescreen. This time I plugged it in to figure out what was going on, and I found that the UI thread is hung in onTrimMemory:

"main" prio=5 tid=1 WAIT
  | group="main" sCount=1 dsCount=0 obj=0x40e5b9a0 self=0x56f8b010
  | sysTid=2459 nice=0 sched=0/0 cgrp=apps handle=1075069916
  | state=S schedstat=( 0 0 0 ) utm=297 stm=55 core=0
  at java.lang.Object.wait(Native Method)
  - waiting on <0x40e5bda0> (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:159)
  at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:810)
  at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:970)
  at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1279)
  at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:202)
  at org.mozilla.gecko.GeckoAppShell.geckoEventSync(GeckoAppShell.java:640)
  at org.mozilla.gecko.MemoryMonitor.increaseMemoryPressure(MemoryMonitor.java:157)
  at org.mozilla.gecko.MemoryMonitor.onTrimMemory(MemoryMonitor.java:100)
  at org.mozilla.gecko.GeckoActivity.onTrimMemory(GeckoActivity.java:40)
  at android.app.ActivityThread.handleTrimMemory(ActivityThread.java:4109)
  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1426)
  at android.os.Handler.dispatchMessage(Handler.java:99)
  at android.os.Looper.loop(Looper.java:137)
  at android.app.ActivityThread.main(ActivityThread.java:5039)

So we're waiting to hear back from the gecko thread, which means it's blocked on the UI thread somewhere. The trace isn't very useful:

"Gecko" prio=5 tid=12 NATIVE
  | group="main" sCount=1 dsCount=0 obj=0x419168e8 self=0x582d61b0
  | sysTid=2477 nice=0 sched=0/0 cgrp=apps handle=1479333568
  | state=S schedstat=( 0 0 0 ) utm=128 stm=38 core=1
  #00  pc 00018104  /system/lib/libc.so (__futex_syscall3+8)
  #01  pc 0000e41c  /system/lib/libc.so (__pthread_cond_timedwait_relative+48)
  #02  pc 0000e478  /system/lib/libc.so (__pthread_cond_timedwait+60)
  #03  pc 00016699  /dev/ashmem/libnspr4.so (deleted)
  at org.mozilla.gecko.GeckoAppShell.nativeRun(Native Method)
  at org.mozilla.gecko.GeckoAppShell.runGecko(GeckoAppShell.java:566)
  at org.mozilla.gecko.GeckoThread.run(GeckoThread.java:77)

I'll try to reproduce on a local build so I can get symbols.
Status: NEW → RESOLVED
Closed: 11 years ago
No longer depends on: 803154
Resolution: --- → DUPLICATE
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in before you can comment on or make changes to this bug.