I've got an ANR happening, while trying to open 2 separate activities. Very sporadic, only certain users, haven't been able to replicate on any of our test hardware. Both reports have a series of nondescript threads, and two background threads of ours rightly waiting on their notifier locks. The main thread is doing this, in both cases:
"main" prio=5 tid=1 NATIVE
| group="main" sCount=1 dsCount=0 obj=0x41790710 self=0x41775c90
| sysTid=347 nice=0 sched=0/0 cgrp=apps handle=1074003964
| state=S schedstat=( 0 0 0 ) utm=10817 stm=2453 core=0
#00 pc 0001b6e4 /system/lib/libc.so (__ioctl+8)
#01 pc 0002be67 /system/lib/libc.so (ioctl+14)
#02 pc 0001b929 /system/lib/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+140)
#03 pc 0001c0c7 /system/lib/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+154)
#04 pc 00001451 /system/lib/libsystem_server.so (system_init+384)
#05 pc 00020b4c /system/lib/libdvm.so (dvmPlatformInvoke+112)
#06 pc 000516ab /system/lib/libdvm.so (dvmCallJNIMethod(unsigned int const*, JValue*, Method const*, Thread*)+398)
#07 pc 00029fe0 /system/lib/libdvm.so
#08 pc 0002e9a4 /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+184)
#09 pc 00063aeb /system/lib/libdvm.so (dvmInvokeMethod(Object*, Method const*, ArrayObject*, ArrayObject*, ClassObject*, bool)+350)
#10 pc 0006b80f /system/lib/libdvm.so
#11 pc 00029fe0 /system/lib/libdvm.so
#12 pc 0002e9a4 /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+184)
#13 pc 0006382d /system/lib/libdvm.so (dvmCallMethodV(Thread*, Method const*, Object*, bool, JValue*, std::__va_list)+292)
#14 pc 0004d27f /system/lib/libdvm.so
#15 pc 0005477b /system/lib/libandroid_runtime.so
#16 pc 00055ca3 /system/lib/libandroid_runtime.so (android::AndroidRuntime::start(char const*, char const*)+378)
#17 pc 0000105b /system/bin/app_process
#18 pc 0000ddf7 /system/lib/libc.so (__libc_init+50)
#19 pc 00000d7c /system/bin/app_process
at com.android.server.SystemServer.init1(Native Method)
at com.android.server.SystemServer.main(SystemServer.java:2012)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1187)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
at dalvik.system.NativeStart.main(Native Method)
Here is the app dump:
"AsyncTask #4" prio=5 tid=17 WAIT
| group="main" sCount=1 dsCount=0 obj=0x424f4178 self=0x5bad64c8
| sysTid=2943 nice=0 sched=0/0 cgrp=apps handle=1537449072
| schedstat=( 0 0 0 ) utm=0 stm=0 core=0
at java.lang.Object.wait(Native Method)
- waiting on <0x424f4298> (a java.lang.VMThread) held by tid=17 (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)
"Thread-8753" prio=5 tid=1 VMWAIT
| group="main" sCount=1 dsCount=0 obj=0x42647520 self=0x413fa188
| sysTid=2903 nice=0 sched=0/0 cgrp=apps handle=1074526288
| schedstat=( 0 0 0 ) utm=27 stm=8 core=0
#00 pc 0000dce0 /system/lib/libc.so (__futex_syscall3+8)
#01 pc 00012ef4 /system/lib/libc.so (__pthread_cond_timedwait_relative+48)
#02 pc 00012f50 /system/lib/libc.so (__pthread_cond_timedwait+60)
#03 pc 0004b12f /system/lib/libdvm.so
#04 pc 0004e191 /system/lib/libandroid_runtime.so (android::AndroidRuntime::start(char const*, char const*)+416)
#05 pc 00000dcf /system/bin/app_process
#06 pc 000171d3 /system/lib/libc.so (__libc_init+38)
#07 pc 00000b34 /system/bin/app_process
at dalvik.system.NativeStart.run(Native Method)
"AsyncTask #3" prio=5 tid=15 WAIT
| group="main" sCount=1 dsCount=0 obj=0x424dc8a0 self=0x5c0252c0
| sysTid=2941 nice=0 sched=0/0 cgrp=apps handle=1516141776
| schedstat=( 0 0 0 ) utm=0 stm=0 core=0
at java.lang.Object.wait(Native Method)
- waiting on <0x424dc9c0> (a java.lang.VMThread) held by tid=15 (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)
"Thread-8740" prio=5 tid=10 WAIT
| group="main" sCount=1 dsCount=0 obj=0x424860c8 self=0x5a5e1d88
| sysTid=2929 nice=0 sched=0/0 cgrp=apps handle=1543661352
| schedstat=( 0 0 0 ) utm=0 stm=0 core=1
at java.lang.Object.wait(Native Method)
- waiting on <0x42486340> (a java.lang.VMThread) held by tid=10 (Thread-8740)
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 com.my_foo2.Bluetooth.ModelAccessorNew$SingleStuffProcessingThread.run(ModelAccessorNew.java:139)
"pool-1-thread-2" prio=5 tid=13 WAIT
| group="main" sCount=1 dsCount=0 obj=0x421cb830 self=0x5a5e1730
| sysTid=2927 nice=0 sched=0/0 cgrp=apps handle=1094606048
| schedstat=( 0 0 0 ) utm=11 stm=4 core=0
at java.lang.Object.wait(Native Method)
- waiting on <0x421cbd98> (a java.lang.VMThread) held by tid=13 (pool-1-thread-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)
"Thread-8735" prio=5 tid=12 WAIT
| group="main" sCount=1 dsCount=0 obj=0x4216e7f0 self=0x413e4f20
| sysTid=2926 nice=0 sched=0/0 cgrp=apps handle=1094604160
| schedstat=( 0 0 0 ) utm=0 stm=0 core=1
at java.lang.Object.wait(Native Method)
- waiting on <0x4216e918> (a java.lang.Object)
at java.lang.Object.wait(Object.java:364)
at com.my_foo2.Persistence.Factories.StuffFactory$CalculationThread.run(StuffFactory.java:97)
"pool-1-thread-1" prio=5 tid=11 WAIT
| group="main" sCount=1 dsCount=0 obj=0x42144498 self=0x413e46d0
| sysTid=2924 nice=0 sched=0/0 cgrp=apps handle=1094601544
| schedstat=( 0 0 0 ) utm=18 stm=5 core=0
at java.lang.Object.wait(Native Method)
- waiting on <0x421447e8> (a java.lang.VMThread) held by tid=11 (pool-1-thread-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)
"Binder_2" prio=5 tid=9 NATIVE
| group="main" sCount=1 dsCount=0 obj=0x42097bd8 self=0x5183e668
| sysTid=2915 nice=0 sched=0/0 cgrp=apps handle=1538927224
| schedstat=( 0 0 0 ) utm=0 stm=0 core=1
#00 pc 0000cbd0 /system/lib/libc.so (__ioctl+8)
#01 pc 00028035 /system/lib/libc.so (ioctl+16)
#02 pc 00016b6d /system/lib/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+124)
#03 pc 0001731f /system/lib/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+154)
#04 pc 0001af55 /system/lib/libbinder.so
#05 pc 00011087 /system/lib/libutils.so (android::Thread::_threadLoop(void*)+114)
#06 pc 0004c985 /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+44)
#07 pc 00010bed /system/lib/libutils.so
#08 pc 00012eb0 /system/lib/libc.so (__thread_entry+48)
#09 pc 00012608 /system/lib/libc.so (pthread_create+172)
at dalvik.system.NativeStart.run(Native Method)
"Binder_1" prio=5 tid=8 NATIVE
| group="main" sCount=1 dsCount=0 obj=0x420978a8 self=0x5183e010
| sysTid=2914 nice=0 sched=0/0 cgrp=apps handle=1538927416
| schedstat=( 0 0 0 ) utm=0 stm=0 core=0
#00 pc 0000cbd0 /system/lib/libc.so (__ioctl+8)
#01 pc 00028035 /system/lib/libc.so (ioctl+16)
#02 pc 00016b6d /system/lib/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+124)
#03 pc 0001731f /system/lib/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+154)
#04 pc 0001af55 /system/lib/libbinder.so
#05 pc 00011087 /system/lib/libutils.so (android::Thread::_threadLoop(void*)+114)
#06 pc 0004c985 /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+44)
#07 pc 00010bed /system/lib/libutils.so
#08 pc 00012eb0 /system/lib/libc.so (__thread_entry+48)
#09 pc 00012608 /system/lib/libc.so (pthread_create+172)
at dalvik.system.NativeStart.run(Native Method)
"FinalizerWatchdogDaemon" daemon prio=5 tid=7 WAIT
| group="system" sCount=1 dsCount=0 obj=0x420940e8 self=0x412487a8
| sysTid=2913 nice=0 sched=0/0 cgrp=apps handle=1538927528
| schedstat=( 0 0 0 ) utm=0 stm=0 core=0
at java.lang.Object.wait(Native Method)
- waiting on <0x41414ec8> (a java.lang.Daemons$FinalizerWatchdogDaemon)
at java.lang.Object.wait(Object.java:364)
at java.lang.Daemons$FinalizerWatchdogDaemon.run(Daemons.java:214)
at java.lang.Thread.run(Thread.java:856)
"FinalizerDaemon" daemon prio=5 tid=6 WAIT
| group="system" sCount=1 dsCount=0 obj=0x42093f90 self=0x41248358
| sysTid=2912 nice=0 sched=0/0 cgrp=apps handle=1538927616
| schedstat=( 0 0 0 ) utm=0 stm=0 core=0
at java.lang.Object.wait(Native Method)
- waiting on <0x41403690> (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:169)
at java.lang.Thread.run(Thread.java:856)
"ReferenceQueueDaemon" daemon prio=5 tid=5 WAIT
| group="system" sCount=1 dsCount=0 obj=0x42093e28 self=0x5bb9f218
| sysTid=2911 nice=0 sched=0/0 cgrp=apps handle=1538927752
| schedstat=( 0 0 0 ) utm=0 stm=0 core=0
at java.lang.Object.wait(Native Method)
- waiting on <0x414035b8>
at java.lang.Object.wait(Object.java:364)
at java.lang.Daemons$ReferenceQueueDaemon.run(Daemons.java:129)
at java.lang.Thread.run(Thread.java:856)
"Compiler" daemon prio=5 tid=4 VMWAIT
| group="system" sCount=1 dsCount=0 obj=0x42093d38 self=0x400173b8
| sysTid=2910 nice=0 sched=0/0 cgrp=apps handle=1087627008
| schedstat=( 0 0 0 ) utm=9 stm=4 core=1
#00 pc 0000dce0 /system/lib/libc.so (__futex_syscall3+8)
#01 pc 00012ef4 /system/lib/libc.so (__pthread_cond_timedwait_relative+48)
#02 pc 00012f50 /system/lib/libc.so (__pthread_cond_timedwait+60)
#03 pc 0006e7d7 /system/lib/libdvm.so
#04 pc 0005425b /system/lib/libdvm.so
#05 pc 00012eb0 /system/lib/libc.so (__thread_entry+48)
#06 pc 00012608 /system/lib/libc.so (pthread_create+172)
at dalvik.system.NativeStart.run(Native Method)
"Signal Catcher" daemon prio=5 tid=3 RUNNABLE
| group="system" sCount=0 dsCount=0 obj=0x42093c40 self=0x40cfa8a8
| sysTid=2909 nice=0 sched=0/0 cgrp=apps handle=1087816224
| schedstat=( 0 0 0 ) utm=1 stm=0 core=0
at dalvik.system.NativeStart.run(Native Method)
"GC" daemon prio=5 tid=2 VMWAIT
| group="system" sCount=1 dsCount=0 obj=0x42093b60 self=0x40d6bdd0
| sysTid=2907 nice=0 sched=0/0 cgrp=apps handle=1538927840
| schedstat=( 0 0 0 ) utm=0 stm=0 core=0
#00 pc 0000dce0 /system/lib/libc.so (__futex_syscall3+8)
#01 pc 00012ef4 /system/lib/libc.so (__pthread_cond_timedwait_relative+48)
#02 pc 00012f50 /system/lib/libc.so (__pthread_cond_timedwait+60)
#03 pc 0006d5db /system/lib/libdvm.so
#04 pc 0005425b /system/lib/libdvm.so
#05 pc 00012eb0 /system/lib/libc.so (__thread_entry+48)
#06 pc 00012608 /system/lib/libc.so (pthread_create+172)
at dalvik.system.NativeStart.run(Native Method)
----- end 2903 -----
The other thing that's weird is that this is the only user code I'm seeing. I've tracked where these two threads get started and its during onCreate events of various activities, but the activities themselves aren't running, or at least not visible in the trace. Any ideas would be appreciated.
Related
Once again Google/Android9 crashes somewhere in native code library without giving any idea through Java stack trace or otherwise about where it happened and why.
In my case it happened during "REGISTER_AGENT" intent issued by Samsung SAP library.
Probably it's related to Samsung SAP library, but it's specific to Android9 only and it doesn't happen very often.
Any hint and help are appreciated.
Broadcast of Intent { act=com.samsung.accessory.action.REGISTER_AGENT flg=0x30 pkg=[package_name] cmp=[package_name]/com.samsung.android.sdk.accessory.RegisterUponInstallReceiver }
com.samsung.android.sdk.accessory.RegisterUponInstallReceiver
"main" prio=5 tid=1 Native
| group="main" sCount=1 dsCount=0 flags=1 obj=0x75952fb8 self=0x7368414c00
| sysTid=16534 nice=0 cgrp=default sched=0/0 handle=0x73eee21560
| state=S schedstat=( 92637885 21726999 102 ) utm=1 stm=7 core=1 HZ=100
| stack=0x7fd3ecd000-0x7fd3ecf000 stackSize=8MB
| held mutexes=
#00 pc 00000000000712e0 /system/lib64/libc.so (__epoll_pwait+8)
#01 pc 00000000000141c0 /system/lib64/libutils.so (android::Looper::pollInner(int)+144)
#02 pc 000000000001408c /system/lib64/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+60)
#03 pc 000000000012c25c /system/lib64/libandroid_runtime.so (android::android_os_MessageQueue_nativePollOnce(_JNIEnv*, _jobject*, long, int)+44)
at android.os.MessageQueue.nativePollOnce (MessageQueue.java)
at android.os.MessageQueue.next (MessageQueue.java:326)
at android.os.Looper.loop (Looper.java:181)
at android.app.ActivityThread.main (ActivityThread.java:6990)
at java.lang.reflect.Method.invoke (Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1445)
"Jit thread pool worker thread 0" tid=2 Native
"Jit thread pool worker thread 0" daemon prio=5 tid=2 Native
| group="main" sCount=1 dsCount=0 flags=1 obj=0x132001a0 self=0x7361e24400
| sysTid=16540 nice=9 cgrp=default sched=0/0 handle=0x7361dff4f0
| state=S schedstat=( 1490961 201962 5 ) utm=0 stm=0 core=1 HZ=100
| stack=0x7361d01000-0x7361d03000 stackSize=1021KB
| held mutexes=
#00 pc 000000000001eeac /system/lib64/libc.so (syscall+28)
#01 pc 00000000000d7c24 /system/lib64/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+148)
#02 pc 00000000004b6614 /system/lib64/libart.so (art::ThreadPool::GetTask(art::Thread*)+260)
#03 pc 00000000004b5b6c /system/lib64/libart.so (art::ThreadPoolWorker::Run()+124)
#04 pc 00000000004b561c /system/lib64/libart.so (art::ThreadPoolWorker::Callback(void*)+148)
#05 pc 0000000000084df8 /system/lib64/libc.so (__pthread_start(void*)+208)
#06 pc 0000000000023ac4 /system/lib64/libc.so (__start_thread+68)
"ReferenceQueueDaemon" tid=4 Waiting
"ReferenceQueueDaemon" daemon prio=5 tid=4 Waiting
| group="system" sCount=1 dsCount=0 flags=1 obj=0x132002b0 self=0x73684e2000
| sysTid=16542 nice=4 cgrp=default sched=0/0 handle=0x7350ed74f0
| state=S schedstat=( 1160387 6055884 11 ) utm=0 stm=0 core=0 HZ=100
| stack=0x7350dd4000-0x7350dd6000 stackSize=1041KB
| held mutexes=
at java.lang.Object.wait (Native method)
- waiting on <0x0727dab7> (a java.lang.Class<java.lang.ref.ReferenceQueue>)
at java.lang.Daemons$ReferenceQueueDaemon.runInternal (Daemons.java:178)
- locked <0x0727dab7> (a java.lang.Class<java.lang.ref.ReferenceQueue>)
at java.lang.Daemons$Daemon.run (Daemons.java:103)
at java.lang.Thread.run (Thread.java:764)
"FinalizerWatchdogDaemon" tid=5 Waiting
"FinalizerWatchdogDaemon" daemon prio=5 tid=5 Waiting
| group="system" sCount=1 dsCount=0 flags=1 obj=0x13200338 self=0x73684e3800
| sysTid=16544 nice=4 cgrp=default sched=0/0 handle=0x7350ccb4f0
| state=S schedstat=( 428733 6635577 9 ) utm=0 stm=0 core=0 HZ=100
| stack=0x7350bc8000-0x7350bca000 stackSize=1041KB
| held mutexes=
at java.lang.Object.wait (Native method)
- waiting on <0x01261224> (a java.lang.Daemons$FinalizerWatchdogDaemon)
at java.lang.Daemons$FinalizerWatchdogDaemon.sleepUntilNeeded (Daemons.java:297)
- locked <0x01261224> (a java.lang.Daemons$FinalizerWatchdogDaemon)
at java.lang.Daemons$FinalizerWatchdogDaemon.runInternal (Daemons.java:277)
at java.lang.Daemons$Daemon.run (Daemons.java:103)
at java.lang.Thread.run (Thread.java:764)
"FinalizerDaemon" tid=6 Waiting
"FinalizerDaemon" daemon prio=5 tid=6 Waiting
| group="system" sCount=1 dsCount=0 flags=1 obj=0x132003c0 self=0x73684e2c00
| sysTid=16543 nice=4 cgrp=default sched=0/0 handle=0x7350dd14f0
| state=S schedstat=( 1754693 6156655 10 ) utm=0 stm=0 core=0 HZ=100
| stack=0x7350cce000-0x7350cd0000 stackSize=1041KB
| held mutexes=
at java.lang.Object.wait (Native method)
- waiting on <0x0294e18d> (a java.lang.Object)
at java.lang.Object.wait (Object.java:422)
at java.lang.ref.ReferenceQueue.remove (ReferenceQueue.java:188)
- locked <0x0294e18d> (a java.lang.Object)
at java.lang.ref.ReferenceQueue.remove (ReferenceQueue.java:209)
at java.lang.Daemons$FinalizerDaemon.runInternal (Daemons.java:232)
at java.lang.Daemons$Daemon.run (Daemons.java:103)
at java.lang.Thread.run (Thread.java:764)
"Binder:16534_1" tid=8 Native
"Binder:16534_1" prio=5 tid=8 Native
| group="main" sCount=1 dsCount=0 flags=1 obj=0x13200448 self=0x735e88d000
| sysTid=16546 nice=0 cgrp=default sched=0/0 handle=0x73509c14f0
| state=S schedstat=( 1058729 78231 14 ) utm=0 stm=0 core=1 HZ=100
| stack=0x73508c6000-0x73508c8000 stackSize=1009KB
| held mutexes=
#00 pc 00000000000713cc /system/lib64/libc.so (__ioctl+4)
#01 pc 0000000000029c48 /system/lib64/libc.so (ioctl+136)
#02 pc 000000000005ac9c /system/lib64/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+260)
#03 pc 000000000005ae78 /system/lib64/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+24)
#04 pc 000000000005b5cc /system/lib64/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+60)
#05 pc 000000000007c090 /system/lib64/libbinder.so (android::PoolThread::threadLoop()+24)
#06 pc 000000000000fb80 /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+280)
#07 pc 00000000000bcbf4 /system/lib64/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+140)
#08 pc 0000000000084df8 /system/lib64/libc.so (__pthread_start(void*)+208)
#09 pc 0000000000023ac4 /system/lib64/libc.so (__start_thread+68)
"Binder:16534_2" tid=9 Native
"Binder:16534_2" prio=5 tid=9 Native
| group="main" sCount=1 dsCount=0 flags=1 obj=0x132004d0 self=0x735fd04000
| sysTid=16547 nice=0 cgrp=default sched=0/0 handle=0x73508c34f0
| state=S schedstat=( 5113655 9872309 15 ) utm=0 stm=0 core=1 HZ=100
| stack=0x73507c8000-0x73507ca000 stackSize=1009KB
| held mutexes=
#00 pc 00000000000713cc /system/lib64/libc.so (__ioctl+4)
#01 pc 0000000000029c48 /system/lib64/libc.so (ioctl+136)
#02 pc 000000000005ac9c /system/lib64/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+260)
#03 pc 000000000005ae78 /system/lib64/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+24)
#04 pc 000000000005b5cc /system/lib64/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+60)
#05 pc 000000000007c090 /system/lib64/libbinder.so (android::PoolThread::threadLoop()+24)
#06 pc 000000000000fb80 /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+280)
#07 pc 00000000000bcbf4 /system/lib64/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+140)
#08 pc 0000000000084df8 /system/lib64/libc.so (__pthread_start(void*)+208)
#09 pc 0000000000023ac4 /system/lib64/libc.so (__start_thread+68)
"Profile Saver" tid=10 Native
"Profile Saver" daemon prio=5 tid=10 Native
| group="system" sCount=1 dsCount=0 flags=1 obj=0x13200558 self=0x7361e29800
| sysTid=16548 nice=9 cgrp=default sched=0/0 handle=0x73500034f0
| state=S schedstat=( 13089538 7896001 11 ) utm=0 stm=0 core=0 HZ=100
| stack=0x734ff08000-0x734ff0a000 stackSize=1009KB
| held mutexes=
#00 pc 000000000001eeac /system/lib64/libc.so (syscall+28)
#01 pc 00000000000d7c24 /system/lib64/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+148)
#02 pc 000000000032a168 /system/lib64/libart.so (art::ProfileSaver::Run()+384)
#03 pc 000000000032d58c /system/lib64/libart.so (art::ProfileSaver::RunProfileSaverThread(void*)+92)
#04 pc 0000000000084df8 /system/lib64/libc.so (__pthread_start(void*)+208)
#05 pc 0000000000023ac4 /system/lib64/libc.so (__start_thread+68)
"Timer-0" tid=11 TimedWaiting
"Timer-0" prio=5 tid=11 TimedWaiting
| group="main" sCount=1 dsCount=0 flags=1 obj=0x132005e0 self=0x735fcae000
| sysTid=16551 nice=0 cgrp=default sched=0/0 handle=0x734fe5b4f0
| state=S schedstat=( 24982964 11812847 67 ) utm=1 stm=0 core=1 HZ=100
| stack=0x734fd58000-0x734fd5a000 stackSize=1041KB
| held mutexes=
at java.lang.Object.wait (Native method)
- waiting on <0x062b2f42> (a java.util.TaskQueue)
at java.lang.Object.wait (Object.java:422)
at java.util.TimerThread.mainLoop (Timer.java:559)
- locked <0x062b2f42> (a java.util.TaskQueue)
at java.util.TimerThread.run (Timer.java:512)
"RegistrationThread" tid=12 Waiting
"RegistrationThread" prio=5 tid=12 Waiting
| group="main" sCount=1 dsCount=0 flags=1 obj=0x132006a8 self=0x73684b3000
| sysTid=16555 nice=0 cgrp=default sched=0/0 handle=0x734fd554f0
| state=S schedstat=( 360153 6123923 4 ) utm=0 stm=0 core=0 HZ=100
| stack=0x734fc52000-0x734fc54000 stackSize=1041KB
| held mutexes=
at java.lang.Object.wait (Native method)
- waiting on <0x07d56b53> (a java.lang.Object)
at java.lang.Thread.parkFor$ (Thread.java:2137)
- locked <0x07d56b53> (a java.lang.Object)
at sun.misc.Unsafe.park (Unsafe.java:358)
at java.util.concurrent.locks.LockSupport.park (LockSupport.java:190)
at java.util.concurrent.FutureTask.awaitDone (FutureTask.java:450)
at java.util.concurrent.FutureTask.get (FutureTask.java:192)
at com.samsung.android.sdk.accessory.RegisterUponInstallReceiver$1.run (unavailable)
"RegistreationThread" tid=13 Native
"RegistreationThread" prio=5 tid=13 Native
| group="main" sCount=1 dsCount=0 flags=1 obj=0x13200990 self=0x73684b3c00
| sysTid=16556 nice=0 cgrp=default sched=0/0 handle=0x734fc4f4f0
| state=S schedstat=( 8286656 6348153 18 ) utm=0 stm=0 core=1 HZ=100
| stack=0x734fb4c000-0x734fb4e000 stackSize=1041KB
| held mutexes=
#00 pc 00000000000713cc /system/lib64/libc.so (__ioctl+4)
#01 pc 0000000000029c48 /system/lib64/libc.so (ioctl+136)
#02 pc 000000000005ac9c /system/lib64/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+260)
#03 pc 000000000005bb70 /system/lib64/libbinder.so (android::IPCThreadState::waitForResponse(android::Parcel*, int*)+360)
#04 pc 000000000005b890 /system/lib64/libbinder.so (android::IPCThreadState::transact(int, unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+176)
#05 pc 0000000000051560 /system/lib64/libbinder.so (android::BpBinder::transact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+72)
#06 pc 000000000013c110 /system/lib64/libandroid_runtime.so (android_os_BinderProxy_transact(_JNIEnv*, _jobject*, int, _jobject*, _jobject*, int)+152)
at android.os.BinderProxy.transactNative (Native method)
at android.os.BinderProxy.transact (Binder.java:1142)
at com.samsung.accessory.api.ISAFrameworkManagerV2$Stub$Proxy.registerComponent (unavailable)
at com.samsung.android.sdk.accessory.SAAdapter.a (unavailable)
- locked <0x01c42c90> (a com.samsung.android.sdk.accessory.SAAdapter)
at com.samsung.android.sdk.accessory.j$a.a (unavailable)
at com.samsung.android.sdk.accessory.j$a.call (unavailable)
at java.util.concurrent.FutureTask.run (FutureTask.java:266)
at java.lang.Thread.run (Thread.java:764)
"Binder:16534_3" tid=14 Native
"Binder:16534_3" prio=5 tid=14 Native
| group="main" sCount=1 dsCount=0 flags=1 obj=0x13201170 self=0x735e918000
| sysTid=16617 nice=0 cgrp=default sched=0/0 handle=0x734fb494f0
| state=S schedstat=( 4330424 370692 5 ) utm=0 stm=0 core=1 HZ=100
| stack=0x734fa4e000-0x734fa50000 stackSize=1009KB
| held mutexes=
#00 pc 00000000000713cc /system/lib64/libc.so (__ioctl+4)
#01 pc 0000000000029c48 /system/lib64/libc.so (ioctl+136)
#02 pc 000000000005ac9c /system/lib64/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+260)
#03 pc 000000000005ae78 /system/lib64/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+24)
#04 pc 000000000005b5cc /system/lib64/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+60)
#05 pc 000000000007c090 /system/lib64/libbinder.so (android::PoolThread::threadLoop()+24)
#06 pc 000000000000fb80 /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+280)
#07 pc 00000000000bcbf4 /system/lib64/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+140)
#08 pc 0000000000084df8 /system/lib64/libc.so (__pthread_start(void*)+208)
#09 pc 0000000000023ac4 /system/lib64/libc.so (__start_thread+68)
"Signal Catcher" tid=3 Runnable
"Signal Catcher" daemon prio=5 tid=3 Runnable
| group="system" sCount=0 dsCount=0 flags=0 obj=0x13200228 self=0x7368416400
| sysTid=16541 nice=0 cgrp=default sched=0/0 handle=0x7361cfe4f0
| state=R schedstat=( 53512999 6126116 5 ) utm=2 stm=2 core=0 HZ=100
| stack=0x7361c03000-0x7361c05000 stackSize=1009KB
| held mutexes= "mutator lock"(shared held)
#00 pc 00000000003cb35c /system/lib64/libart.so (art::DumpNativeStack(std::__1::basic_ostream<char, std::__1::char_traits<char>>&, int, BacktraceMap*, char const*, art::ArtMethod*, void*, bool)+220)
#01 pc 000000000049aca8 /system/lib64/libart.so (art::Thread::DumpStack(std::__1::basic_ostream<char, std::__1::char_traits<char>>&, bool, BacktraceMap*, bool) const+352)
#02 pc 00000000004b4d9c /system/lib64/libart.so (art::DumpCheckpoint::Run(art::Thread*)+844)
#03 pc 00000000004adadc /system/lib64/libart.so (art::ThreadList::RunCheckpoint(art::Closure*, art::Closure*)+476)
#04 pc 00000000004acec0 /system/lib64/libart.so (art::ThreadList::Dump(std::__1::basic_ostream<char, std::__1::char_traits<char>>&, bool)+1120)
#05 pc 00000000004ac974 /system/lib64/libart.so (art::ThreadList::DumpForSigQuit(std::__1::basic_ostream<char, std::__1::char_traits<char>>&)+884)
#06 pc 000000000047c26c /system/lib64/libart.so (art::Runtime::DumpForSigQuit(std::__1::basic_ostream<char, std::__1::char_traits<char>>&)+188)
#07 pc 00000000004881bc /system/lib64/libart.so (art::SignalCatcher::HandleSigQuit()+1468)
#08 pc 0000000000486ea4 /system/lib64/libart.so (art::SignalCatcher::Run(void*)+380)
#09 pc 0000000000084df8 /system/lib64/libc.so (__pthread_start(void*)+208)
#10 pc 0000000000023ac4 /system/lib64/libc.so (__start_thread+68)
"HeapTaskDaemon" tid=7
"HeapTaskDaemon" daemon prio=5 tid=7 WaitingForTaskProcessor
| group="system" sCount=1 dsCount=0 flags=1 obj=0x132011f8 self=0x735fc37c00
| sysTid=16545 nice=4 cgrp=default sched=0/0 handle=0x7350bc54f0
| state=S schedstat=( 49512888 1873077 14 ) utm=4 stm=0 core=1 HZ=100
| stack=0x7350ac2000-0x7350ac4000 stackSize=1041KB
| held mutexes=
#00 pc 000000000001eeac /system/lib64/libc.so (syscall+28)
#01 pc 00000000000d7c24 /system/lib64/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+148)
#02 pc 0000000000230820 /system/lib64/libart.so (art::gc::TaskProcessor::GetTask(art::Thread*)+504)
#03 pc 0000000000231098 /system/lib64/libart.so (art::gc::TaskProcessor::RunAllTasks(art::Thread*)+96)
at dalvik.system.VMRuntime.runHeapTasks (Native method)
at java.lang.Daemons$HeapTaskDaemon.runInternal (Daemons.java:475)
at java.lang.Daemons$Daemon.run (Daemons.java:103)
at java.lang.Thread.run (Thread.java:764)
© 2019 Google · Mobile App · Help · Site Terms · Privacy · Developer Distribution Agreement
We are using OneSignal Native SDK version 3.+ in my app and sometime crash the app.
Give below onesignal dependencies :
compile 'com.onesignal:OneSignal:3.+#aar'
Onesignal init method :
OneSignal.startInit(this).
.inFocusDisplaying(OneSignal.OSInFocusDisplayOption.Notification)
.setNotificationOpenedHandler(new MyNotificationOpenedHandler())
.setNotificationReceivedHandler(new MyNotificationReceivedHandler())
.init();
Crash log :
"main" prio=5 tid=1 TIMED_WAIT
| group="main" sCount=1 dsCount=0 obj=0x41acb578 self=0x419cf6a8
| sysTid=25516 nice=0 sched=0/0 cgrp=apps handle=1074106364
| state=S schedstat=( 176067213 49796364 292 ) utm=13 stm=4 core=0
at java.lang.Object.wait (Native Method)
- waiting on <0x42702938> (a java.lang.VMThread) held by tid=21 (OS_HTTPConnection)
at java.lang.Thread.join (Thread.java:809)
at java.lang.Thread.join (Thread.java:765)
at com.onesignal.OneSignalRestClient.makeRequest (OneSignalRestClient.java:102)
at com.onesignal.OneSignalRestClient.putSync (OneSignalRestClient.java:82)
at com.onesignal.OneSignalStateSynchronizer.syncUserState (OneSignalStateSynchronizer.java:586)
at com.onesignal.SyncService$2$1.complete (SyncService.java:91)
at com.onesignal.LocationGMS.fireComplete (LocationGMS.java:208)
at com.onesignal.LocationGMS.receivedLocationPoint (LocationGMS.java:233)
at com.onesignal.LocationGMS.access$200 (LocationGMS.java:54)
at com.onesignal.LocationGMS$GoogleApiClientListener.onConnected (LocationGMS.java:247)
at android.os.Handler.dispatchMessage (Handler.java:99)
at android.os.Looper.loop (Looper.java:176)
at android.app.ActivityThread.main (ActivityThread.java:5419)
at java.lang.reflect.Method.invokeNative (Native Method)
at java.lang.reflect.Method.invoke (Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:1046)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:862)
at dalvik.system.NativeStart.main (Native Method)
"OS_HTTPConnection" prio=5 tid=22 NATIVE
| group="main" sCount=1 dsCount=0 obj=0x4270ce68 self=0x41a84870
| sysTid=25597 nice=0 sched=0/0 cgrp=apps handle=1101548736
| state=S schedstat=( 13628457 6080085 21 ) utm=1 stm=0 core=1
native: pc 000000000001b68c /system/lib/libc.so (select+20)
native: pc 0000000000026ccd /system/lib/libjavacore.so
native: pc 000000000002929d /system/lib/libjavacore.so
native: pc 000000000001e44c /system/lib/libdvm.so (dvmPlatformInvoke+112)
native: pc 000000000004e91b /system/lib/libdvm.so (dvmCallJNIMethod(unsigned int const*, JValue*, Method const*, Thread*)+398)
native: pc 0000000000027860 /system/lib/libdvm.so
native: pc 000000000002be00 /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+184)
native: pc 0000000000060a6d /system/lib/libdvm.so (dvmCallMethodV(Thread*, Method const*, Object*, bool, JValue*, std::__va_list)+292)
native: pc 0000000000060a97 /system/lib/libdvm.so (dvmCallMethod(Thread*, Method const*, Object*, JValue*, ...)+20)
native: pc 000000000005582b /system/lib/libdvm.so
native: pc 000000000000cb58 /system/lib/libc.so (__thread_entry+72)
native: pc 000000000000ccd4 /system/lib/libc.so (pthread_create+208)
at org.apache.harmony.xnet.provider.jsse.NativeCrypto.SSL_do_handshake (Native Method)
at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.startHandshake (OpenSSLSocketImpl.java:398)
at libcore.net.http.HttpConnection.setupSecureSocket (HttpConnection.java:209)
at libcore.net.http.HttpsURLConnectionImpl$HttpsEngine.makeSslConnection (HttpsURLConnectionImpl.java:478)
at libcore.net.http.HttpsURLConnectionImpl$HttpsEngine.connect (HttpsURLConnectionImpl.java:433)
at libcore.net.http.HttpEngine.sendSocketRequest (HttpEngine.java:290)
at libcore.net.http.HttpEngine.sendRequest (HttpEngine.java:240)
at libcore.net.http.HttpURLConnectionImpl.connect (HttpURLConnectionImpl.java:81)
at libcore.net.http.HttpURLConnectionImpl.getOutputStream (HttpURLConnectionImpl.java:197)
at libcore.net.http.HttpsURLConnectionImpl.getOutputStream (HttpsURLConnectionImpl.java:281)
at com.onesignal.OneSignalRestClient.startHTTPConnection (OneSignalRestClient.java:142)
at com.onesignal.OneSignalRestClient.access$100 (OneSignalRestClient.java:38)
at com.onesignal.OneSignalRestClient$4.run (OneSignalRestClient.java:94)
at java.lang.Thread.run (Thread.java:841)
"OS_HTTPConnection" prio=5 tid=21 NATIVE
| group="main" sCount=1 dsCount=0 obj=0x42702538 self=0x4006a3e8
| sysTid=25548 nice=0 sched=0/0 cgrp=apps handle=1074178104
| state=S schedstat=( 14957377 5977415 32 ) utm=0 stm=0 core=0
native: pc 000000000001b68c /system/lib/libc.so (select+20)
native: pc 0000000000026ccd /system/lib/libjavacore.so
native: pc 000000000002929d /system/lib/libjavacore.so
native: pc 000000000001e44c /system/lib/libdvm.so (dvmPlatformInvoke+112)
native: pc 000000000004e91b /system/lib/libdvm.so (dvmCallJNIMethod(unsigned int const*, JValue*, Method const*, Thread*)+398)
native: pc 0000000000027860 /system/lib/libdvm.so
native: pc 000000000002be00 /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+184)
native: pc 0000000000060a6d /system/lib/libdvm.so (dvmCallMethodV(Thread*, Method const*, Object*, bool, JValue*, std::__va_list)+292)
native: pc 0000000000060a97 /system/lib/libdvm.so (dvmCallMethod(Thread*, Method const*, Object*, JValue*, ...)+20)
native: pc 000000000005582b /system/lib/libdvm.so
native: pc 000000000000cb58 /system/lib/libc.so (__thread_entry+72)
native: pc 000000000000ccd4 /system/lib/libc.so (pthread_create+208)
at org.apache.harmony.xnet.provider.jsse.NativeCrypto.SSL_do_handshake (Native Method)
at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.startHandshake (OpenSSLSocketImpl.java:398)
at libcore.net.http.HttpConnection.setupSecureSocket (HttpConnection.java:209)
at libcore.net.http.HttpsURLConnectionImpl$HttpsEngine.makeSslConnection (HttpsURLConnectionImpl.java:478)
at libcore.net.http.HttpsURLConnectionImpl$HttpsEngine.connect (HttpsURLConnectionImpl.java:433)
at libcore.net.http.HttpEngine.sendSocketRequest (HttpEngine.java:290)
at libcore.net.http.HttpEngine.sendRequest (HttpEngine.java:240)
at libcore.net.http.HttpURLConnectionImpl.connect (HttpURLConnectionImpl.java:81)
at libcore.net.http.HttpURLConnectionImpl.getOutputStream (HttpURLConnectionImpl.java:197)
at libcore.net.http.HttpsURLConnectionImpl.getOutputStream (HttpsURLConnectionImpl.java:281)
at com.onesignal.OneSignalRestClient.startHTTPConnection (OneSignalRestClient.java:142)
at com.onesignal.OneSignalRestClient.access$100 (OneSignalRestClient.java:38)
at com.onesignal.OneSignalRestClient$4.run (OneSignalRestClient.java:94)
at java.lang.Thread.run (Thread.java:841)
"GAC_Executor[1]" prio=5 tid=18 WAIT
| group="main" sCount=1 dsCount=0 obj=0x426f0e80 self=0x59415ac0
| sysTid=25547 nice=0 sched=0/0 cgrp=apps handle=1496677472
| state=S schedstat=( 3326415 1574126 8 ) utm=0 stm=0 core=2
at java.lang.Object.wait (Native Method)
- waiting on <0x426f1020> (a java.lang.VMThread) held by tid=18 (GAC_Executor[1])
at java.lang.Thread.parkFor (Thread.java:1205)
at sun.misc.Unsafe.park (Unsafe.java:325)
at java.util.concurrent.locks.LockSupport.park (LockSupport.java:159)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await (AbstractQueuedSynchronizer.java:2019)
at java.util.concurrent.LinkedBlockingQueue.take (LinkedBlockingQueue.java:413)
at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1013)
at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1073)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:573)
at java.lang.Thread.run (Thread.java:841)
"GAC_Executor[0]" prio=5 tid=20 WAIT
| group="main" sCount=1 dsCount=0 obj=0x426e4f08 self=0x59415010
| sysTid=25546 nice=0 sched=0/0 cgrp=apps handle=1497453664
| state=S schedstat=( 13563253 10066624 18 ) utm=0 stm=0 core=1
at java.lang.Object.wait (Native Method)
- waiting on <0x426e5140> (a java.lang.VMThread) held by tid=20 (GAC_Executor[0])
at java.lang.Thread.parkFor (Thread.java:1205)
at sun.misc.Unsafe.park (Unsafe.java:325)
at java.util.concurrent.locks.LockSupport.park (LockSupport.java:159)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await (AbstractQueuedSynchronizer.java:2019)
at java.util.concurrent.LinkedBlockingQueue.take (LinkedBlockingQueue.java:413)
at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1013)
at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1073)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:573)
at java.lang.Thread.run (Thread.java:841)
"OS_GMS_LOCATION_FALLBACK" prio=5 tid=19 MONITOR
| group="main" sCount=1 dsCount=0 obj=0x426d4ae8 self=0x59356630
| sysTid=25545 nice=0 sched=0/0 cgrp=apps handle=1496672896
| state=S schedstat=( 40754088 80571253 418 ) utm=0 stm=4 core=0
at com.onesignal.LocationGMS.fireFailedComplete (LocationGMS.java:202)
at com.onesignal.LocationGMS$1.run (LocationGMS.java:192)
at java.lang.Thread.run (Thread.java:841)
"OSH_NetworkHandlerThread" prio=5 tid=17 TIMED_WAIT
| group="main" sCount=1 dsCount=0 obj=0x426d2850 self=0x59357010
| sysTid=25543 nice=0 sched=0/0 cgrp=apps handle=1496675424
| state=S schedstat=( 22462710 4191081 20 ) utm=2 stm=0 core=0
at java.lang.Object.wait (Native Method)
- waiting on <0x4270cf20> (a java.lang.VMThread) held by tid=22 (OS_HTTPConnection)
at java.lang.Thread.join (Thread.java:809)
at java.lang.Thread.join (Thread.java:765)
at com.onesignal.OneSignalRestClient.makeRequest (OneSignalRestClient.java:102)
at com.onesignal.OneSignalRestClient.putSync (OneSignalRestClient.java:82)
at com.onesignal.OneSignalStateSynchronizer.syncUserState (OneSignalStateSynchronizer.java:586)
at com.onesignal.OneSignalStateSynchronizer$NetworkHandlerThread$1.run (OneSignalStateSynchronizer.java:527)
at android.os.Handler.handleCallback (Handler.java:730)
at android.os.Handler.dispatchMessage (Handler.java:92)
at android.os.Looper.loop (Looper.java:176)
at android.os.HandlerThread.run (HandlerThread.java:61)
"FocusHandlerThread" prio=5 tid=16 NATIVE
| group="main" sCount=1 dsCount=0 obj=0x426cafb0 self=0x40026828
| sysTid=25542 nice=0 sched=0/0 cgrp=apps handle=1073902320
| state=S schedstat=( 421167 0 2 ) utm=0 stm=0 core=0
native: pc 000000000001c664 /system/lib/libc.so (epoll_wait+12)
native: pc 00000000000153f1 /system/lib/libutils.so (android::Looper::pollInner(int)+92)
native: pc 0000000000015615 /system/lib/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+92)
native: pc 0000000000072235 /system/lib/libandroid_runtime.so (android::NativeMessageQueue::pollOnce(_JNIEnv*, int)+22)
native: pc 000000000001e44c /system/lib/libdvm.so (dvmPlatformInvoke+112)
native: pc 000000000004e91b /system/lib/libdvm.so (dvmCallJNIMethod(unsigned int const*, JValue*, Method const*, Thread*)+398)
native: pc 0000000000027860 /system/lib/libdvm.so
native: pc 000000000002be00 /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+184)
native: pc 0000000000060a6d /system/lib/libdvm.so (dvmCallMethodV(Thread*, Method const*, Object*, bool, JValue*, std::__va_list)+292)
native: pc 0000000000060a97 /system/lib/libdvm.so (dvmCallMethod(Thread*, Method const*, Object*, JValue*, ...)+20)
native: pc 000000000005582b /system/lib/libdvm.so
native: pc 000000000000cb58 /system/lib/libc.so (__thread_entry+72)
native: pc 000000000000ccd4 /system/lib/libc.so (pthread_create+208)
at android.os.MessageQueue.nativePollOnce (Native Method)
at android.os.MessageQueue.next (MessageQueue.java:132)
at android.os.Looper.loop (Looper.java:138)
at android.os.HandlerThread.run (HandlerThread.java:61)
"pool-2-thread-1" prio=5 tid=15 WAIT
| group="main" sCount=1 dsCount=0 obj=0x42696f58 self=0x40013e30
| sysTid=25538 nice=0 sched=0/0 cgrp=apps handle=1073824384
| state=S schedstat=( 3977335 1149084 11 ) utm=0 stm=0 core=1
at java.lang.Object.wait (Native Method)
- waiting on <0x42698470> (a java.lang.VMThread) held by tid=15 (pool-2-thread-1)
at java.lang.Thread.parkFor (Thread.java:1205)
at sun.misc.Unsafe.park (Unsafe.java:325)
at java.util.concurrent.locks.LockSupport.park (LockSupport.java:159)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await (AbstractQueuedSynchronizer.java:2019)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take (ScheduledThreadPoolExecutor.java:1052)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take (ScheduledThreadPoolExecutor.java:780)
at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1013)
at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1073)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:573)
at java.lang.Thread.run (Thread.java:841)
"pool-1-thread-1" prio=5 tid=11 TIMED_WAIT
| group="main" sCount=1 dsCount=0 obj=0x42691970 self=0x4000c4f8
| sysTid=25537 nice=0 sched=0/0 cgrp=apps handle=1073826976
| state=S schedstat=( 1992832 0 7 ) utm=0 stm=0 core=1
at java.lang.Object.wait (Native Method)
- waiting on <0x42691ab8> (a java.lang.VMThread) held by tid=11 (pool-1-thread-1)
at java.lang.Thread.parkFor (Thread.java:1205)
at sun.misc.Unsafe.park (Unsafe.java:325)
at java.util.concurrent.locks.LockSupport.parkNanos (LockSupport.java:199)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos (AbstractQueuedSynchronizer.java:2058)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take (ScheduledThreadPoolExecutor.java:1063)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take (ScheduledThreadPoolExecutor.java:780)
at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1013)
at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1073)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:573)
at java.lang.Thread.run (Thread.java:841)
"AsyncTask #4" prio=5 tid=14 WAIT
| group="main" sCount=1 dsCount=0 obj=0x4267b688 self=0x400132d8
| sysTid=25535 nice=0 sched=0/0 cgrp=apps handle=1073821480
| state=S schedstat=( 10104750 21937459 43 ) utm=0 stm=0 core=2
at java.lang.Object.wait (Native Method)
- waiting on <0x4267b7c8> (a java.lang.VMThread) held by tid=14 (AsyncTask #4)
at java.lang.Thread.parkFor (Thread.java:1205)
at sun.misc.Unsafe.park (Unsafe.java:325)
at java.util.concurrent.locks.LockSupport.park (LockSupport.java:159)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await (AbstractQueuedSynchronizer.java:2019)
at java.util.concurrent.LinkedBlockingQueue.take (LinkedBlockingQueue.java:413)
at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1013)
at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1073)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:573)
at java.lang.Thread.run (Thread.java:841)
"AsyncTask #3" prio=5 tid=13 WAIT
| group="main" sCount=1 dsCount=0 obj=0x4267a7c8 self=0x400129b0
| sysTid=25534 nice=0 sched=0/0 cgrp=apps handle=1073819136
| state=S schedstat=( 587500 42750 3 ) utm=0 stm=0 core=0
at java.lang.Object.wait (Native Method)
- waiting on <0x4267a968> (a java.lang.VMThread) held by tid=13 (AsyncTask #3)
at java.lang.Thread.parkFor (Thread.java:1205)
at sun.misc.Unsafe.park (Unsafe.java:325)
at java.util.concurrent.locks.LockSupport.park (LockSupport.java:159)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await (AbstractQueuedSynchronizer.java:2019)
at java.util.concurrent.LinkedBlockingQueue.take (LinkedBlockingQueue.java:413)
at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1013)
at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1073)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:573)
at java.lang.Thread.run (Thread.java:841)
"AsyncTask #2" prio=5 tid=12 WAIT
| group="main" sCount=1 dsCount=0 obj=0x42675408 self=0x40012008
| sysTid=25533 nice=0 sched=0/0 cgrp=apps handle=1073816664
| state=S schedstat=( 7128207 5538125 30 ) utm=0 stm=0 core=0
at java.lang.Object.wait (Native Method)
- waiting on <0x42675528> (a java.lang.VMThread) held by tid=12 (AsyncTask #2)
at java.lang.Thread.parkFor (Thread.java:1205)
at sun.misc.Unsafe.park (Unsafe.java:325)
at java.util.concurrent.locks.LockSupport.park (LockSupport.java:159)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await (AbstractQueuedSynchronizer.java:2019)
at java.util.concurrent.LinkedBlockingQueue.take (LinkedBlockingQueue.java:413)
at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1013)
at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1073)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:573)
at java.lang.Thread.run (Thread.java:841)
"AsyncTask #1" prio=5 tid=10 NATIVE
| group="main" sCount=1 dsCount=0 obj=0x426677a0 self=0x4000bbb0
| sysTid=25531 nice=0 sched=0/0 cgrp=apps handle=1073790976
| state=S schedstat=( 30066581 26143916 61 ) utm=2 stm=0 core=0
native: pc 000000000001b68c /system/lib/libc.so (select+20)
native: pc 0000000000026ccd /system/lib/libjavacore.so
native: pc 000000000002929d /system/lib/libjavacore.so
native: pc 000000000001e44c /system/lib/libdvm.so (dvmPlatformInvoke+112)
native: pc 000000000004e91b /system/lib/libdvm.so (dvmCallJNIMethod(unsigned int const*, JValue*, Method const*, Thread*)+398)
native: pc 0000000000027860 /system/lib/libdvm.so
native: pc 000000000002be00 /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+184)
native: pc 0000000000060a6d /system/lib/libdvm.so (dvmCallMethodV(Thread*, Method const*, Object*, bool, JValue*, std::__va_list)+292)
native: pc 0000000000060a97 /system/lib/libdvm.so (dvmCallMethod(Thread*, Method const*, Object*, JValue*, ...)+20)
native: pc 000000000005582b /system/lib/libdvm.so
native: pc 000000000000cb58 /system/lib/libc.so (__thread_entry+72)
native: pc 000000000000ccd4 /system/lib/libc.so (pthread_create+208)
at org.apache.harmony.xnet.provider.jsse.NativeCrypto.SSL_do_handshake (Native Method)
at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.startHandshake (OpenSSLSocketImpl.java:398)
at libcore.net.http.HttpConnection.setupSecureSocket (HttpConnection.java:209)
at libcore.net.http.HttpsURLConnectionImpl$HttpsEngine.makeSslConnection (HttpsURLConnectionImpl.java:478)
at libcore.net.http.HttpsURLConnectionImpl$HttpsEngine.connect (HttpsURLConnectionImpl.java:433)
at libcore.net.http.HttpEngine.sendSocketRequest (HttpEngine.java:290)
at libcore.net.http.HttpEngine.sendRequest (HttpEngine.java:240)
at libcore.net.http.HttpURLConnectionImpl.getResponse (HttpURLConnectionImpl.java:282)
at libcore.net.http.HttpURLConnectionImpl.getResponseCode (HttpURLConnectionImpl.java:497)
at libcore.net.http.HttpsURLConnectionImpl.getResponseCode (HttpsURLConnectionImpl.java:134)
at com.facebook.GraphResponse.fromHttpConnection (GraphResponse.java:253)
at com.facebook.GraphRequest.executeConnectionAndWait (GraphRequest.java:1270)
at com.facebook.GraphRequest.executeBatchAndWait (GraphRequest.java:1168)
at com.facebook.GraphRequest.executeBatchAndWait (GraphRequest.java:1134)
at com.facebook.GraphRequest.executeBatchAndWait (GraphRequest.java:1118)
at com.facebook.GraphRequest.executeAndWait (GraphRequest.java:1093)
at com.facebook.GraphRequest.executeAndWait (GraphRequest.java:987)
at com.facebook.internal.FetchedAppSettingsManager.getAppSettingsQueryResponse (FetchedAppSettingsManager.java:207)
at com.facebook.internal.FetchedAppSettingsManager.access$100 (FetchedAppSettingsManager.java:47)
at com.facebook.internal.FetchedAppSettingsManager$1.run (FetchedAppSettingsManager.java:122)
at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1080)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:573)
at java.lang.Thread.run (Thread.java:841)
"Binder_2" prio=5 tid=9 NATIVE
| group="main" sCount=1 dsCount=0 obj=0x4263be10 self=0x418ef250
| sysTid=25528 nice=0 sched=0/0 cgrp=apps handle=1099886600
| state=S schedstat=( 3381083 644501 5 ) utm=0 stm=0 core=0
native: pc 000000000001b53c /system/lib/libc.so (__ioctl+8)
native: pc 000000000002bccf /system/lib/libc.so (ioctl+14)
native: pc 000000000001b929 /system/lib/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+140)
native: pc 000000000001c0c7 /system/lib/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+154)
native: pc 00000000000200d1 /system/lib/libbinder.so
native: pc 0000000000011d7d /system/lib/libutils.so (android::Thread::_threadLoop(void*)+216)
native: pc 0000000000054a3d /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+68)
native: pc 0000000000011871 /system/lib/libutils.so
native: pc 000000000000cb58 /system/lib/libc.so (__thread_entry+72)
native: pc 000000000000ccd4 /system/lib/libc.so (pthread_create+208)
at dalvik.system.NativeStart.run (Native Method)
"Binder_1" prio=5 tid=8 NATIVE
| group="main" sCount=1 dsCount=0 obj=0x4263bcb0 self=0x5942a850
| sysTid=25527 nice=0 sched=0/0 cgrp=apps handle=1497540104
| state=S schedstat=( 2974501 4290374 7 ) utm=0 stm=0 core=1
native: pc 000000000001b53c /system/lib/libc.so (__ioctl+8)
native: pc 000000000002bccf /system/lib/libc.so (ioctl+14)
native: pc 000000000001b929 /system/lib/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+140)
native: pc 000000000001c0c7 /system/lib/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+154)
native: pc 00000000000200d1 /system/lib/libbinder.so
native: pc 0000000000011d7d /system/lib/libutils.so (android::Thread::_threadLoop(void*)+216)
native: pc 0000000000054a3d /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+68)
native: pc 0000000000011871 /system/lib/libutils.so
native: pc 000000000000cb58 /system/lib/libc.so (__thread_entry+72)
native: pc 000000000000ccd4 /system/lib/libc.so (pthread_create+208)
at dalvik.system.NativeStart.run (Native Method)
"FinalizerWatchdogDaemon" daemon prio=5 tid=7 WAIT
| group="system" sCount=1 dsCount=0 obj=0x42637b48 self=0x59429d68
| sysTid=25525 nice=0 sched=0/0 cgrp=apps handle=1497539000
| state=S schedstat=( 76208 0 2 ) utm=0 stm=0 core=2
at java.lang.Object.wait (Native Method)
- waiting on <0x41ad3908> (a java.lang.Daemons$FinalizerWatchdogDaemon)
at java.lang.Object.wait (Object.java:364)
at java.lang.Daemons$FinalizerWatchdogDaemon.waitForObject (Daemons.java:230)
at java.lang.Daemons$FinalizerWatchdogDaemon.run (Daemons.java:207)
at java.lang.Thread.run (Thread.java:841)
"FinalizerDaemon" daemon prio=5 tid=6 WAIT
| group="system" sCount=1 dsCount=0 obj=0x426379f0 self=0x59429710
| sysTid=25524 nice=0 sched=0/0 cgrp=apps handle=1073797808
| state=S schedstat=( 76750 0 2 ) utm=0 stm=0 core=2
at java.lang.Object.wait (Native Method)
- waiting on <0x41abc568> (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:170)
at java.lang.Thread.run (Thread.java:841)
"ReferenceQueueDaemon" daemon prio=5 tid=5 WAIT
| group="system" sCount=1 dsCount=0 obj=0x42637888 self=0x4000d210
| sysTid=25523 nice=0 sched=0/0 cgrp=apps handle=1073796704
| state=S schedstat=( 145375 0 2 ) utm=0 stm=0 core=2
at java.lang.Object.wait (Native Method)
- waiting on <0x41abc490>
at java.lang.Object.wait (Object.java:364)
at java.lang.Daemons$ReferenceQueueDaemon.run (Daemons.java:130)
at java.lang.Thread.run (Thread.java:841)
"Compiler" daemon prio=5 tid=4 VMWAIT
| group="system" sCount=1 dsCount=0 obj=0x42637798 self=0x40177458
| sysTid=25522 nice=0 sched=0/0 cgrp=apps handle=1075278352
| state=S schedstat=( 57876996 11472874 88 ) utm=2 stm=3 core=1
native: pc 000000000001c82c /system/lib/libc.so (__futex_syscall3+8)
native: pc 000000000000e7bc /system/lib/libc.so (__pthread_cond_timedwait_relative+48)
native: pc 000000000000e81c /system/lib/libc.so (__pthread_cond_timedwait+64)
native: pc 0000000000073eb5 /system/lib/libdvm.so
native: pc 0000000000054f0d /system/lib/libdvm.so
native: pc 000000000000cb58 /system/lib/libc.so (__thread_entry+72)
native: pc 000000000000ccd4 /system/lib/libc.so (pthread_create+208)
at dalvik.system.NativeStart.run (Native Method)
"Signal Catcher" daemon prio=5 tid=3 RUNNABLE
| group="system" sCount=0 dsCount=0 obj=0x426376a0 self=0x59425d60
| sysTid=25521 nice=0 sched=0/0 cgrp=apps handle=1497535320
| state=R schedstat=( 50525832 24623126 89 ) utm=2 stm=3 core=0
at dalvik.system.NativeStart.run (Native Method)
"GC" daemon prio=5 tid=2 VMWAIT
| group="system" sCount=1 dsCount=0 obj=0x426375c0 self=0x5976db30
| sysTid=25520 nice=0 sched=0/0 cgrp=apps handle=1497534480
| state=S schedstat=( 574333 0 1 ) utm=0 stm=0 core=0
native: pc 000000000001c82c /system/lib/libc.so (__futex_syscall3+8)
native: pc 000000000000e7bc /system/lib/libc.so (__pthread_cond_timedwait_relative+48)
native: pc 000000000000e81c /system/lib/libc.so (__pthread_cond_timedwait+64)
native: pc 00000000000729ab /system/lib/libdvm.so
native: pc 0000000000054f0d /system/lib/libdvm.so
native: pc 000000000000cb58 /system/lib/libc.so (__thread_entry+72)
native: pc 000000000000ccd4 /system/lib/libc.so (pthread_create+208)
at dalvik.system.NativeStart.run (Native Method)
We can not reproduce the problem. If you need anything else for further investigating the problem I am here to help.
#Dixit Patel Application Not Responding (ANR) error happens when app performs a potentially lengthy operation and blocks the UI thread.
To resolve your issue you can either increase the efficiency of your code or create a worker thread and do the sync part there.
The OneSignal Android SDK 3.5.7 fixes a bug where an ANR sometimes occurs during intermittent network connections. The linked issue notes that same stack trace so this update should fix your issue.
I received an ANR error report in my Developer console and I could not replicate this issue.
ANR keyDispatchingTimedOut in com.google.android.gms.ads.AdActivity
Here is a few from the log I got in my Developer Console:
DALVIK THREADS:
(mutexes: tll=0 tsl=0 tscl=0 ghl=0)
"main" prio=5 tid=1 NATIVE
| group="main" sCount=1 dsCount=0 obj=0x419289a0 self=0x40090010
| sysTid=5597 nice=0 sched=0/0 cgrp=apps handle=1074811868
| state=S schedstat=( 22603587000 4850665501 38135 ) utm=1943 stm=317 core=1
#00 pc 0001770c /system/lib/libc.so (__ioctl+8)
#01 pc 0002a70d /system/lib/libc.so (ioctl+16)
#02 pc 00016ba1 /system/lib/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+132)
#03 pc 0001709d /system/lib/libbinder.so (android::IPCThreadState::waitForResponse(android::Parcel*, int*)+44)
#04 pc 000172b7 /system/lib/libbinder.so (android::IPCThreadState::transact(int, unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+114)
#05 pc 00014a3b /system/lib/libbinder.so (android::BpBinder::transact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+34)
#06 pc 0004a5a7 /system/lib/libmedia.so
#07 pc 000486f7 /system/lib/libmedia.so (android::MediaPlayer::setDataSource(char const*, android::KeyedVector<android::String8, android::String8> const*)+102)
#08 pc 00012235 /system/lib/libmedia_jni.so
#09 pc 0001e290 /system/lib/libdvm.so (dvmPlatformInvoke+112)
#10 pc 0004d411 /system/lib/libdvm.so (dvmCallJNIMethod(unsigned int const*, JValue*, Method const*, Thread*)+396)
#11 pc 000276a0 /system/lib/libdvm.so
#12 pc 0002b57c /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+184)
#13 pc 0005ff07 /system/lib/libdvm.so (dvmInvokeMethod(Object*, Method const*, ArrayObject*, ArrayObject*, ClassObject*, bool)+374)
#14 pc 000677e1 /system/lib/libdvm.so
#15 pc 000276a0 /system/lib/libdvm.so
#16 pc 0002b57c /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+184)
#17 pc 0005fc31 /system/lib/libdvm.so (dvmCallMethodV(Thread*, Method const*, Object*, bool, JValue*, std::__va_list)+272)
#18 pc 000499fb /system/lib/libdvm.so
#19 pc 000468f9 /system/lib/libandroid_runtime.so
#20 pc 000475bb /system/lib/libandroid_runtime.so (android::AndroidRuntime::start(char const*, char const*)+390)
#21 pc 00000db7 /system/bin/app_process
#22 pc 0001271f /system/lib/libc.so (__libc_init+38)
#23 pc 00000ae8 /system/bin/app_process
at android.media.MediaPlayer._setDataSource(Native Method)
at android.media.MediaPlayer.setDataSource(MediaPlayer.java:958)
at android.media.MediaPlayer.setDataSource(MediaPlayer.java:946)
at android.media.MediaPlayer.setDataSource(MediaPlayer.java:899)
at android.webkit.HTML5VideoView.prepareDataCommon(HTML5VideoView.java:234)
at android.webkit.HTML5VideoView.prepareDataAndDisplayMode(HTML5VideoView.java:271)
at android.webkit.HTML5VideoInline.prepareDataAndDisplayMode(HTML5VideoInline.java:67)
at android.webkit.HTML5VideoViewProxy$VideoPlayer.play(HTML5VideoViewProxy.java:247)
at android.webkit.HTML5VideoViewProxy.handleMessage(HTML5VideoViewProxy.java:381)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5041)
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:793)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
at dalvik.system.NativeStart.main(Native Method)
"Thread-377" prio=5 tid=16 TIMED_WAIT
| group="main" sCount=1 dsCount=0 obj=0x434aa530 self=0x684613f0
| sysTid=6184 nice=0 sched=0/0 cgrp=apps handle=1740310048
| state=S schedstat=( 220125 144750 1 ) utm=0 stm=0 core=0
at java.lang.Object.wait(Native Method)
- waiting on <0x434aa690> (a java.lang.VMThread) held by tid=16 (Thread-377)
at java.lang.Thread.parkFor(Thread.java:1231)
at sun.misc.Unsafe.park(Unsafe.java:323)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:199)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedNanos(AbstractQueuedSynchronizer.java:1009)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireSharedNanos(AbstractQueuedSynchronizer.java:1302)
at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:248)
at com.google.android.gms.ads.identifier.b.run(SourceFile:110)
"Thread-367" prio=5 tid=27 NATIVE
| group="main" sCount=1 dsCount=0 obj=0x424be9a0 self=0x6548b798
| sysTid=5861 nice=0 sched=0/0 cgrp=apps handle=1699697872
| state=S schedstat=( 614124000 155518500 1137 ) utm=30 stm=31 core=0
#00 pc 0001860c /system/lib/libc.so (epoll_wait+12)
#01 pc 0012b949 /system/lib/libchromium_net.so
#02 pc 0012b755 /system/lib/libchromium_net.so
#03 pc 00058415 /system/lib/libchromium_net.so
#04 pc 00056b13 /system/lib/libchromium_net.so (MessageLoop::RunInternal()+114)
#05 pc 00056b71 /system/lib/libchromium_net.so (MessageLoop::Run()+16)
#06 pc 000771d9 /system/lib/libchromium_net.so (base::Thread::ThreadMain()+188)
#07 pc 00076c93 /system/lib/libchromium_net.so
#08 pc 0000e3d8 /system/lib/libc.so (__thread_entry+72)
#09 pc 0000dac4 /system/lib/libc.so (pthread_create+160)
at dalvik.system.NativeStart.run(Native Method)
"AdWorker #10" prio=5 tid=24 WAIT
| group="main" sCount=1 dsCount=0 obj=0x42505360 self=0x65513d38
| sysTid=5856 nice=10 sched=0/0 cgrp=apps/bg_non_interactive handle=1693754872
| state=S schedstat=( 5158875 1391625 15 ) utm=0 stm=0 core=0
at java.lang.Object.wait(Native Method)
- waiting on <0x42505490> (a java.lang.VMThread) held by tid=24 (AdWorker #10)
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$ConditionObject.await(AbstractQueuedSynchronizer.java:2019)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:413)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1013)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1073)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
at java.lang.Thread.run(Thread.java:856)
"AsyncTask #1" prio=5 tid=26 WAIT
| group="main" sCount=1 dsCount=0 obj=0x424fba78 self=0x64f9de20
| sysTid=5854 nice=10 sched=0/0 cgrp=apps/bg_non_interactive handle=1700056752
| state=S schedstat=( 5502000 4725750 5 ) utm=0 stm=0 core=3
at java.lang.Object.wait(Native Method)
- waiting on <0x424d4488> (a java.lang.VMThread) held by tid=26 (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:159)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2019)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:413)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1013)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1073)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
at java.lang.Thread.run(Thread.java:856)
"CookieSyncManager" prio=5 tid=25 NATIVE
| group="main" sCount=1 dsCount=0 obj=0x424ed4d8 self=0x64eb9010
| sysTid=5852 nice=10 sched=0/0 cgrp=apps/bg_non_interactive handle=1698324848
| state=S schedstat=( 760875 3061875 7 ) utm=0 stm=0 core=2
#00 pc 0001860c /system/lib/libc.so (epoll_wait+12)
#01 pc 00014b09 /system/lib/libutils.so (android::Looper::pollInner(int)+96)
#02 pc 00014d71 /system/lib/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+104)
#03 pc 0005ee2b /system/lib/libandroid_runtime.so (android::NativeMessageQueue::pollOnce(_JNIEnv*, int)+22)
#04 pc 0001e290 /system/lib/libdvm.so (dvmPlatformInvoke+112)
#05 pc 0004d411 /system/lib/libdvm.so (dvmCallJNIMethod(unsigned int const*, JValue*, Method const*, Thread*)+396)
#06 pc 000276a0 /system/lib/libdvm.so
#07 pc 0002b57c /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+184)
#08 pc 0005fc31 /system/lib/libdvm.so (dvmCallMethodV(Thread*, Method const*, Object*, bool, JValue*, std::__va_list)+272)
#09 pc 0005fc5b /system/lib/libdvm.so (dvmCallMethod(Thread*, Method const*, Object*, JValue*, ...)+20)
#10 pc 000547d7 /system/lib/libdvm.so
#11 pc 0000e3d8 /system/lib/libc.so (__thread_entry+72)
#12 pc 0000dac4 /system/lib/libc.so (pthread_create+160)
at android.os.MessageQueue.nativePollOnce(Native Method)
at android.os.MessageQueue.next(MessageQueue.java:125)
at android.os.Looper.loop(Looper.java:124)
at android.webkit.WebSyncManager.run(WebSyncManager.java:90)
at android.webkit.CookieSyncManager.run(CookieSyncManager.java:58)
at java.lang.Thread.run(Thread.java:856)
"WebViewCoreThread" prio=5 tid=23 WAIT
| group="main" sCount=1 dsCount=0 obj=0x424dfe28 self=0x65282618
| sysTid=5850 nice=0 sched=0/0 cgrp=apps handle=1693304448
| state=S schedstat=( 96815166381 6945372375 34587 ) utm=9350 stm=331 core=2
at java.lang.Object.wait(Native Method)
- waiting on <0x43412b38> (a android.webkit.CallbackProxy)
at java.lang.Object.wait(Object.java:364)
at android.webkit.CallbackProxy.sendMessageToUiThreadSync(CallbackProxy.java:1612)
at android.webkit.CallbackProxy.shouldOverrideUrlLoading(CallbackProxy.java:1035)
at android.webkit.BrowserFrame.handleUrl(BrowserFrame.java:635)
at android.webkit.JWebCoreJavaBridge.sharedTimerFired(Native Method)
at android.webkit.JWebCoreJavaBridge.fireSharedTimer(JWebCoreJavaBridge.java:92)
at android.webkit.JWebCoreJavaBridge.handleMessage(JWebCoreJavaBridge.java:108)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.webkit.WebViewCore$WebCoreThread.run(WebViewCore.java:812)
at java.lang.Thread.run(Thread.java:856)
"AdWorker #9" prio=5 tid=22 WAIT
| group="main" sCount=1 dsCount=0 obj=0x425961c0 self=0x64ed7d90
| sysTid=5837 nice=10 sched=0/0 cgrp=apps/bg_non_interactive handle=1688329088
| state=S schedstat=( 17043000 22746750 69 ) utm=1 stm=0 core=0
at java.lang.Object.wait(Native Method)
- waiting on <0x425962f0> (a java.lang.VMThread) held by tid=22 (AdWorker #9)
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$ConditionObject.await(AbstractQueuedSynchronizer.java:2019)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:413)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1013)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1073)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
at java.lang.Thread.run(Thread.java:856)
"AdWorker #8" prio=5 tid=21 WAIT
| group="main" sCount=1 dsCount=0 obj=0x423bd030 self=0x652cf248
| sysTid=5836 nice=10 sched=0/0 cgrp=apps/bg_non_interactive handle=1698325648
| state=S schedstat=( 31946625 39978000 119 ) utm=3 stm=0 core=1
at java.lang.Object.wait(Native Method)
- waiting on <0x4238f148> (a java.lang.VMThread) held by tid=21 (AdWorker #8)
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$ConditionObject.await(AbstractQueuedSynchronizer.java:2019)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:413)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1013)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1073)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
at java.lang.Thread.run(Thread.java:856)
"AdWorker #7" prio=5 tid=20 WAIT
| group="main" sCount=1 dsCount=0 obj=0x4257fbe8 self=0x65cbac58
| sysTid=5832 nice=10 sched=0/0 cgrp=apps/bg_non_interactive handle=1707861064
| state=S schedstat=( 24793875 28706250 108 ) utm=2 stm=0 core=0
at java.lang.Object.wait(Native Method)
- waiting on <0x4259cda8> (a java.lang.VMThread) held by tid=20 (AdWorker #7)
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$ConditionObject.await(AbstractQueuedSynchronizer.java:2019)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:413)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1013)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1073)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
at java.lang.Thread.run(Thread.java:856)
"AdWorker #6" prio=5 tid=19 WAIT
| group="main" sCount=1 dsCount=0 obj=0x42590de0 self=0x65cba808
| sysTid=5830 nice=10 sched=0/0 cgrp=apps/bg_non_interactive handle=1707859064
| state=S schedstat=( 16917000 23230125 83 ) utm=0 stm=1 core=1
at java.lang.Object.wait(Native Method)
- waiting on <0x42576bb0> (a java.lang.VMThread) held by tid=19 (AdWorker #6)
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$ConditionObject.await(AbstractQueuedSynchronizer.java:2019)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:413)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1013)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1073)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
at java.lang.Thread.run(Thread.java:856)
"AdWorker #5" prio=5 tid=18 WAIT
| group="main" sCount=1 dsCount=0 obj=0x4250d2f0 self=0x65cba3b8
| sysTid=5829 nice=10 sched=0/0 cgrp=apps/bg_non_interactive handle=1707858848
| state=S schedstat=( 10773375 9319125 62 ) utm=1 stm=0 core=2
at java.lang.Object.wait(Native Method)
- waiting on <0x425195a0> (a java.lang.VMThread) held by tid=18 (AdWorker #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:159)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2019)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:413)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1013)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1073)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
at java.lang.Thread.run(Thread.java:856)
"AdWorker #4" prio=5 tid=17 WAIT
| group="main" sCount=1 dsCount=0 obj=0x425093d8 self=0x65cb1a58
| sysTid=5826 nice=10 sched=0/0 cgrp=apps/bg_non_interactive handle=1750441672
| state=S schedstat=( 40946625 32669250 142 ) utm=4 stm=0 core=2
at java.lang.Object.wait(Native Method)
- waiting on <0x424f5bc8> (a java.lang.VMThread) held by tid=17 (AdWorker #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:159)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2019)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:413)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1013)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1073)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
at java.lang.Thread.run(Thread.java:856)
"AdWorker #3" prio=5 tid=15 WAIT
| group="main" sCount=1 dsCount=0 obj=0x429ac658 self=0x6521bb48
| sysTid=5814 nice=10 sched=0/0 cgrp=apps/bg_non_interactive handle=1755337696
| state=S schedstat=( 14493750 10239000 56 ) utm=0 stm=1 core=1
at java.lang.Object.wait(Native Method)
- waiting on <0x429ac788> (a java.lang.VMThread) held by tid=15 (AdWorker #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:159)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2019)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:413)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1013)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1073)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
at java.lang.Thread.run(Thread.java:856)
"AdWorker #2" prio=5 tid=14 WAIT
| group="main" sCount=1 dsCount=0 obj=0x424f29b8 self=0x65195788
| sysTid=5772 nice=10 sched=0/0 cgrp=apps/bg_non_interactive handle=1696160728
| state=S schedstat=( 187430250 69782625 291 ) utm=16 stm=2 core=0
at java.lang.Object.wait(Native Method)
- waiting on <0x424f2ae8> (a java.lang.VMThread) held by tid=14 (AdWorker #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:159)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2019)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:413)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1013)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1073)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
at java.lang.Thread.run(Thread.java:856)
"Gservices" prio=5 tid=13 NATIVE
| group="main" sCount=1 dsCount=0 obj=0x424e3a80 self=0x64edc740
| sysTid=5771 nice=0 sched=0/0 cgrp=apps handle=1698842416
| state=S schedstat=( 1592625 1721625 6 ) utm=0 stm=0 core=1
#00 pc 0001860c /system/lib/libc.so (epoll_wait+12)
#01 pc 00014b09 /system/lib/libutils.so (android::Looper::pollInner(int)+96)
#02 pc 00014d71 /system/lib/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+104)
#03 pc 0005ee2b /system/lib/libandroid_runtime.so (android::NativeMessageQueue::pollOnce(_JNIEnv*, int)+22)
#04 pc 0001e290 /system/lib/libdvm.so (dvmPlatformInvoke+112)
#05 pc 0004d411 /system/lib/libdvm.so (dvmCallJNIMethod(unsigned int const*, JValue*, Method const*, Thread*)+396)
#06 pc 000276a0 /system/lib/libdvm.so
#07 pc 0002b57c /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+184)
#08 pc 0005fc31 /system/lib/libdvm.so (dvmCallMethodV(Thread*, Method const*, Object*, bool, JValue*, std::__va_list)+272)
#09 pc 0005fc5b /system/lib/libdvm.so (dvmCallMethod(Thread*, Method const*, Object*, JValue*, ...)+20)
#10 pc 000547d7 /system/lib/libdvm.so
#11 pc 0000e3d8 /system/lib/libc.so (__thread_entry+72)
#12 pc 0000dac4 /system/lib/libc.so (pthread_create+160)
at android.os.MessageQueue.nativePollOnce(Native Method)
at android.os.MessageQueue.next(MessageQueue.java:125)
at android.os.Looper.loop(Looper.java:124)
at com.google.android.gsf.g.run(SourceFile:85)
"Binder_4" prio=5 tid=12 NATIVE
| group="main" sCount=1 dsCount=0 obj=0x424e2ed0 self=0x64a1b3f0
| sysTid=5770 nice=0 sched=0/0 cgrp=apps handle=1698841824
| state=S schedstat=( 20267625 11236125 111 ) utm=2 stm=0 core=0
#00 pc 0001770c /system/lib/libc.so (__ioctl+8)
#01 pc 0002a70d /system/lib/libc.so (ioctl+16)
#02 pc 00016ba1 /system/lib/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+132)
#03 pc 00017363 /system/lib/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+154)
#04 pc 0001b15d /system/lib/libbinder.so
#05 pc 00011267 /system/lib/libutils.so (android::Thread::_threadLoop(void*)+114)
#06 pc 00046827 /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+66)
#07 pc 00010dcd /system/lib/libutils.so
#08 pc 0000e3d8 /system/lib/libc.so (__thread_entry+72)
#09 pc 0000dac4 /system/lib/libc.so (pthread_create+160)
at dalvik.system.NativeStart.run(Native Method)
"AdWorker #1" prio=5 tid=11 WAIT
| group="main" sCount=1 dsCount=0 obj=0x423b1128 self=0x68a93050
| sysTid=5767 nice=10 sched=0/0 cgrp=apps/bg_non_interactive handle=1688345192
| state=S schedstat=( 62938125 37317000 165 ) utm=4 stm=2 core=1
at java.lang.Object.wait(Native Method)
- waiting on <0x423b12c8> (a java.lang.VMThread) held by tid=11 (AdWorker #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:159)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2019)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:413)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1013)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1073)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
at java.lang.Thread.run(Thread.java:856)
"Binder_3" prio=5 tid=10 NATIVE
| group="main" sCount=1 dsCount=0 obj=0x423bb490 self=0x650da208
| sysTid=5750 nice=0 sched=0/0 cgrp=apps handle=1073913672
| state=S schedstat=( 21292125 11917500 115 ) utm=1 stm=1 core=1
#00 pc 0001770c /system/lib/libc.so (__ioctl+8)
#01 pc 0002a70d /system/lib/libc.so (ioctl+16)
#02 pc 00016ba1 /system/lib/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+132)
#03 pc 00017363 /system/lib/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+154)
#04 pc 0001b15d /system/lib/libbinder.so
#05 pc 00011267 /system/lib/libutils.so (android::Thread::_threadLoop(void*)+114)
#06 pc 00046827 /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+66)
#07 pc 00010dcd /system/lib/libutils.so
#08 pc 0000e3d8 /system/lib/libc.so (__thread_entry+72)
#09 pc 0000dac4 /system/lib/libc.so (pthread_create+160)
at dalvik.system.NativeStart.run(Native Method)
"Binder_2" prio=5 tid=9 NATIVE
| group="main" sCount=1 dsCount=0 obj=0x41d20258 self=0x64e6b008
| sysTid=5608 nice=0 sched=0/0 cgrp=apps handle=1745234816
| state=S schedstat=( 24972000 17994375 149 ) utm=1 stm=1 core=1
#00 pc 0001770c /system/lib/libc.so (__ioctl+8)
#01 pc 0002a70d /system/lib/libc.so (ioctl+16)
#02 pc 00016ba1 /system/lib/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+132)
#03 pc 00017363 /system/lib/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+154)
#04 pc 0001b15d /system/lib/libbinder.so
#05 pc 00011267 /system/lib/libutils.so (android::Thread::_threadLoop(void*)+114)
#06 pc 00046827 /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+66)
#07 pc 00010dcd /system/lib/libutils.so
#08 pc 0000e3d8 /system/lib/libc.so (__thread_entry+72)
#09 pc 0000dac4 /system/lib/libc.so (pthread_create+160)
at dalvik.system.NativeStart.run(Native Method)
"Binder_1" prio=5 tid=8 NATIVE
| group="main" sCount=1 dsCount=0 obj=0x41d1ffe0 self=0x6831cfe8
| sysTid=5607 nice=0 sched=0/0 cgrp=apps handle=1752326840
| state=S schedstat=( 29002125 17950500 143 ) utm=1 stm=1 core=3
#00 pc 0001770c /system/lib/libc.so (__ioctl+8)
#01 pc 0002a70d /system/lib/libc.so (ioctl+16)
#02 pc 00016ba1 /system/lib/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+132)
#03 pc 00017363 /system/lib/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+154)
#04 pc 0001b15d /system/lib/libbinder.so
#05 pc 00011267 /system/lib/libutils.so (android::Thread::_threadLoop(void*)+114)
#06 pc 00046827 /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+66)
#07 pc 00010dcd /system/lib/libutils.so
#08 pc 0000e3d8 /system/lib/libc.so (__thread_entry+72)
#09 pc 0000dac4 /system/lib/libc.so (pthread_create+160)
at dalvik.system.NativeStart.run(Native Method)
"FinalizerWatchdogDaemon" daemon prio=5 tid=7 WAIT
| group="system" sCount=1 dsCount=0 obj=0x41d1ced8 self=0x64e3b008
| sysTid=5606 nice=0 sched=0/0 cgrp=apps handle=1757905496
| state=S schedstat=( 765375 6303375 9 ) utm=0 stm=0 core=2
at java.lang.Object.wait(Native Method)
- waiting on <0x419324d8> (a java.lang.Daemons$FinalizerWatchdogDaemon)
at java.lang.Object.wait(Object.java:364)
at java.lang.Daemons$FinalizerWatchdogDaemon.waitForObject(Daemons.java:230)
at java.lang.Daemons$FinalizerWatchdogDaemon.run(Daemons.java:207)
at java.lang.Thread.run(Thread.java:856)
"FinalizerDaemon" daemon prio=5 tid=6 WAIT
| group="system" sCount=1 dsCount=0 obj=0x41d1cd80 self=0x64e3bb58
| sysTid=5605 nice=0 sched=0/0 cgrp=apps handle=1750985800
| state=S schedstat=( 54320625 20621250 101 ) utm=5 stm=0 core=0
at java.lang.Object.wait(Native Method)
- waiting on <0x4191e610> (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:170)
at java.lang.Thread.run(Thread.java:856)
"ReferenceQueueDaemon" daemon prio=5 tid=5 WAIT
| group="system" sCount=1 dsCount=0 obj=0x41d1cc18 self=0x6536b008
| sysTid=5604 nice=0 sched=0/0 cgrp=apps handle=1759842776
| state=S schedstat=( 4781625 908250 51 ) utm=0 stm=0 core=1
at java.lang.Object.wait(Native Method)
- waiting on <0x4191e538>
at java.lang.Object.wait(Object.java:364)
at java.lang.Daemons$ReferenceQueueDaemon.run(Daemons.java:130)
at java.lang.Thread.run(Thread.java:856)
Anyone experienced this issue? Thank you for helping me!
If it is a rare exception I would not worry about it. Once you have been developing Android apps for a while you will see lots of these.
Ignore it and concentrate on the errors that repeat.
I have witnessed and have received reports of a rare but particularly nasty ANR in my app that causes the app to be completely useless unless it's uninstalled and reinstalled, not even Force Stopping the app (which is supposed to shutdown the entire process) can get the app out of the ANR.
I haven't been able to get anything out of the ANR reports, but this one has some useful information. It appears MediaCodec.dequeueInputBuffer is not returning. It is being given a timeout of 200000 microseconds. This is happening in a synchronized block of code off the main thread, in which all operations involving the MediaCodec and MediaExtractor objects take place. The main thread is waiting for the lock to enter a code block containing a call to MediaExtractor.seekTo().
The whole code for SoundTouchPlayable and MediaCodecAudioDecoder can bet found at https://github.com/svenoaks/SoundTouch-Android/tree/master/src/com/smp/soundtouchandroid
The lockup in the non-main thread is happening in MediaCodecAudioDecoder line 181.
I'm not really sure what, if anything, I can do about this. What can I do?
----- pid 21484 at 2014-05-01 12:50:08 -----
Cmd line: com.smp.musicspeed
JNI: CheckJNI is off; workarounds are off; pins=0; globals=336 (plus 35 weak)
DALVIK THREADS:
(mutexes: tll=0 tsl=0 tscl=0 ghl=0)
"main" prio=5 tid=1 MONITOR
| group="main" sCount=1 dsCount=0 obj=0x41656e40 self=0x41645450
| sysTid=21484 nice=-6 sched=0/0 cgrp=apps handle=1074180436
| state=S schedstat=( 0 0 0 ) utm=936 stm=126 core=0
at com.smp.soundtouchandroid.SoundTouchPlayable.seekTo(SoundTouchPlayable.java:~292)
- waiting to lock <0x422cfb18> (a java.lang.Object) held by tid=20 (Thread-157041)
at com.smp.musicspeed.SoundTouchPlayService.seekTo(SoundTouchPlayService.java:376)
at com.smp.musicspeed.MainActivity$1$1$1.run(MainActivity.java:134)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5184)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1015)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:831)
at dalvik.system.NativeStart.main(Native Method)
"Visualizer" prio=5 tid=26 NATIVE
| group="main" sCount=1 dsCount=0 obj=0x4231ac08 self=0x6a4f1298
| sysTid=21802 nice=0 sched=0/0 cgrp=apps handle=1853423672
| state=S schedstat=( 0 0 0 ) utm=11 stm=2 core=0
#00 pc 0002114c /system/lib/libc.so (nanosleep+12)
#01 pc 0002fc17 /system/lib/libc.so (usleep+30)
#02 pc 00069fd7 /system/lib/libmedia.so (android::Visualizer::CaptureThread::threadLoop()+8)
#03 pc 0000f149 /system/lib/libutils.so (android::Thread::_threadLoop(void*)+216)
#04 pc 00050357 /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+98)
#05 pc 0000ec0f /system/lib/libutils.so
#06 pc 0000d200 /system/lib/libc.so (__thread_entry+72)
#07 pc 0000d398 /system/lib/libc.so (pthread_create+240)
at dalvik.system.NativeStart.run(Native Method)
"Thread-157041" prio=10 tid=20 NATIVE
| group="main" sCount=1 dsCount=0 obj=0x4231dd00 self=0x6c2c0278
| sysTid=21801 nice=-8 sched=0/0 cgrp=apps handle=1825959168
| state=S schedstat=( 0 0 0 ) utm=6 stm=0 core=0
#00 pc 00021dc4 /system/lib/libc.so (__futex_syscall3+8)
#01 pc 0000ef54 /system/lib/libc.so (__pthread_cond_timedwait_relative+48)
#02 pc 0000efb4 /system/lib/libc.so (__pthread_cond_timedwait+64)
#03 pc 000098d7 /system/lib/libstagefright_foundation.so (android::ALooperRoster::postAndAwaitResponse(android::sp<android::AMessage> const&, android::sp<android::AMessage>*)+78)
#04 pc 0000a4e7 /system/lib/libstagefright_foundation.so (android::AMessage::postAndAwaitResponse(android::sp<android::AMessage>*)+26)
#05 pc 000724a3 /system/lib/libstagefright.so (android::MediaCodec::PostAndAwaitResponse(android::sp<android::AMessage> const&, android::sp<android::AMessage>*)+6)
#06 pc 00072e17 /system/lib/libstagefright.so (android::MediaCodec::dequeueInputBuffer(unsigned int*, long long)+66)
#07 pc 0001442d /system/lib/libmedia_jni.so
#08 pc 0002044c /system/lib/libdvm.so (dvmPlatformInvoke+112)
#09 pc 00054019 /system/lib/libdvm.so (dvmCallJNIMethod(unsigned int const*, JValue*, Method const*, Thread*)+428)
#10 pc 000298e0 /system/lib/libdvm.so
#11 pc 00031840 /system/lib/libdvm.so (dvmMterpStd(Thread*)+76)
#12 pc 0002ed5c /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+232)
#13 pc 000697c5 /system/lib/libdvm.so (dvmCallMethodV(Thread*, Method const*, Object*, bool, JValue*, std::__va_list)+336)
#14 pc 000697e9 /system/lib/libdvm.so (dvmCallMethod(Thread*, Method const*, Object*, JValue*, ...)+20)
#15 pc 0005cc7b /system/lib/libdvm.so
#16 pc 0000d200 /system/lib/libc.so (__thread_entry+72)
#17 pc 0000d398 /system/lib/libc.so (pthread_create+240)
at android.media.MediaCodec.dequeueInputBuffer(Native Method)
at com.smp.soundtouchandroid.MediaCodecAudioDecoder.advanceInput(MediaCodecAudioDecoder.java:181)
at com.smp.soundtouchandroid.MediaCodecAudioDecoder.decodeChunk(MediaCodecAudioDecoder.java:125)
at com.smp.soundtouchandroid.SoundTouchPlayable.playFile(SoundTouchPlayable.java:373)
at com.smp.soundtouchandroid.SoundTouchPlayable.run(SoundTouchPlayable.java:228)
at java.lang.Thread.run(Thread.java:856)
"AudioTrack" prio=10 tid=19 NATIVE
| group="main" sCount=1 dsCount=0 obj=0x4231dc40 self=0x6a699228
| sysTid=21800 nice=-16 sched=0/0 cgrp=apps handle=1785696352
| state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=0
#00 pc 00021dc8 /system/lib/libc.so (__futex_syscall3+12)
#01 pc 0000ef54 /system/lib/libc.so (__pthread_cond_timedwait_relative+48)
#02 pc 000482b5 /system/lib/libmedia.so (android::AudioTrack::AudioTrackThread::threadLoop()+116)
#03 pc 0000f0d9 /system/lib/libutils.so (android::Thread::_threadLoop(void*)+104)
#04 pc 00050357 /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+98)
#05 pc 0000ec0f /system/lib/libutils.so
#06 pc 0000d200 /system/lib/libc.so (__thread_entry+72)
#07 pc 0000d398 /system/lib/libc.so (pthread_create+240)
at dalvik.system.NativeStart.run(Native Method)
"OMXCallbackDisp" prio=6 tid=18 NATIVE
| group="main" sCount=1 dsCount=0 obj=0x422ca468 self=0x6ef90ef0
| sysTid=21799 nice=-2 sched=0/0 cgrp=apps handle=1851258128
| state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=0
#00 pc 00021dc4 /system/lib/libc.so (__futex_syscall3+8)
#01 pc 0000ef54 /system/lib/libc.so (__pthread_cond_timedwait_relative+48)
#02 pc 0000efb4 /system/lib/libc.so (__pthread_cond_timedwait+64)
#03 pc 0000e719 /system/lib/libstagefright_omx.so (android::OMX::CallbackDispatcher::loop()+40)
#04 pc 0000f149 /system/lib/libutils.so (android::Thread::_threadLoop(void*)+216)
#05 pc 00050357 /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+98)
#06 pc 0000ec0f /system/lib/libutils.so
#07 pc 0000d200 /system/lib/libc.so (__thread_entry+72)
#08 pc 0000d398 /system/lib/libc.so (pthread_create+240)
at dalvik.system.NativeStart.run(Native Method)
"ModernAsyncTask #2" prio=5 tid=25 WAIT
| group="main" sCount=1 dsCount=0 obj=0x4244ea50 self=0x6671ffb0
| sysTid=21756 nice=10 sched=0/0 cgrp=apps/bg_non_interactive handle=1787397960
| state=S schedstat=( 0 0 0 ) utm=0 stm=1 core=3
at java.lang.Object.wait(Native Method)
- waiting on <0x42316088> (a java.lang.VMThread) held by tid=25 (ModernAsyncTask #2)
at java.lang.Thread.parkFor(Thread.java:1220)
at sun.misc.Unsafe.park(Unsafe.java:325)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2017)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:410)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1035)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1097)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:856)
"JavaBridge" prio=5 tid=24 NATIVE
| group="main" sCount=1 dsCount=0 obj=0x41fb6ae8 self=0x6df54688
| sysTid=21744 nice=0 sched=0/0 cgrp=apps handle=1837055584
| state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=3
#00 pc 00021a04 /system/lib/libc.so (epoll_wait+12)
#01 pc 00010e1f /system/lib/libutils.so (android::Looper::pollInner(int)+98)
#02 pc 000110c9 /system/lib/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+92)
#03 pc 0006e609 /system/lib/libandroid_runtime.so (android::NativeMessageQueue::pollOnce(_JNIEnv*, int)+22)
#04 pc 0002044c /system/lib/libdvm.so (dvmPlatformInvoke+112)
#05 pc 00054019 /system/lib/libdvm.so (dvmCallJNIMethod(unsigned int const*, JValue*, Method const*, Thread*)+428)
#06 pc 000298e0 /system/lib/libdvm.so
#07 pc 00031840 /system/lib/libdvm.so (dvmMterpStd(Thread*)+76)
#08 pc 0002ed5c /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+232)
#09 pc 000697c5 /system/lib/libdvm.so (dvmCallMethodV(Thread*, Method const*, Object*, bool, JValue*, std::__va_list)+336)
#10 pc 000697e9 /system/lib/libdvm.so (dvmCallMethod(Thread*, Method const*, Object*, JValue*, ...)+20)
#11 pc 0005cc7b /system/lib/libdvm.so
#12 pc 0000d200 /system/lib/libc.so (__thread_entry+72)
#13 pc 0000d398 /system/lib/libc.so (pthread_create+240)
at android.os.MessageQueue.nativePollOnce(Native Method)
at android.os.MessageQueue.next(MessageQueue.java:148)
at android.os.Looper.loop(Looper.java:123)
at android.os.HandlerThread.run(HandlerThread.java:61)
"PowerManagerThread" prio=5 tid=23 NATIVE
| group="main" sCount=1 dsCount=0 obj=0x42340140 self=0x6df63ef0
| sysTid=21742 nice=0 sched=0/0 cgrp=apps handle=1785189064
| state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=3
#00 pc 00021a04 /system/lib/libc.so (epoll_wait+12)
#01 pc 00010e1f /system/lib/libutils.so (android::Looper::pollInner(int)+98)
#02 pc 000110c9 /system/lib/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+92)
#03 pc 0006e609 /system/lib/libandroid_runtime.so (android::NativeMessageQueue::pollOnce(_JNIEnv*, int)+22)
#04 pc 0002044c /system/lib/libdvm.so (dvmPlatformInvoke+112)
#05 pc 00054019 /system/lib/libdvm.so (dvmCallJNIMethod(unsigned int const*, JValue*, Method const*, Thread*)+428)
#06 pc 000298e0 /system/lib/libdvm.so
#07 pc 00031840 /system/lib/libdvm.so (dvmMterpStd(Thread*)+76)
#08 pc 0002ed5c /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+232)
#09 pc 000697c5 /system/lib/libdvm.so (dvmCallMethodV(Thread*, Method const*, Object*, bool, JValue*, std::__va_list)+336)
#10 pc 000697e9 /system/lib/libdvm.so (dvmCallMethod(Thread*, Method const*, Object*, JValue*, ...)+20)
#11 pc 0005cc7b /system/lib/libdvm.so
#12 pc 0000d200 /system/lib/libc.so (__thread_entry+72)
#13 pc 0000d398 /system/lib/libc.so (pthread_create+240)
at android.os.MessageQueue.nativePollOnce(Native Method)
at android.os.MessageQueue.next(MessageQueue.java:148)
at android.os.Looper.loop(Looper.java:123)
at android.os.HandlerThread.run(HandlerThread.java:61)
"ModernAsyncTask #1" prio=5 tid=22 WAIT
| group="main" sCount=1 dsCount=0 obj=0x42330dc8 self=0x6d7d36f0
| sysTid=21741 nice=10 sched=0/0 cgrp=apps/bg_non_interactive handle=1718732032
| state=S schedstat=( 0 0 0 ) utm=1 stm=0 core=3
at java.lang.Object.wait(Native Method)
- waiting on <0x4234d908> (a java.lang.VMThread) held by tid=22 (ModernAsyncTask #1)
at java.lang.Thread.parkFor(Thread.java:1220)
at sun.misc.Unsafe.park(Unsafe.java:325)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2017)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:410)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1035)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1097)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:856)
"FileObserver" prio=5 tid=16 NATIVE
| group="main" sCount=1 dsCount=0 obj=0x42352798 self=0x6ef902b0
| sysTid=21740 nice=0 sched=0/0 cgrp=apps handle=1853392264
| state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=0
#00 pc 00020590 /system/lib/libc.so (read+12)
#01 pc 0008ac23 /system/lib/libandroid_runtime.so
#02 pc 0002044c /system/lib/libdvm.so (dvmPlatformInvoke+112)
#03 pc 00054019 /system/lib/libdvm.so (dvmCallJNIMethod(unsigned int const*, JValue*, Method const*, Thread*)+428)
#04 pc 000298e0 /system/lib/libdvm.so
#05 pc 00031840 /system/lib/libdvm.so (dvmMterpStd(Thread*)+76)
#06 pc 0002ed5c /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+232)
#07 pc 000697c5 /system/lib/libdvm.so (dvmCallMethodV(Thread*, Method const*, Object*, bool, JValue*, std::__va_list)+336)
#08 pc 000697e9 /system/lib/libdvm.so (dvmCallMethod(Thread*, Method const*, Object*, JValue*, ...)+20)
#09 pc 0005cc7b /system/lib/libdvm.so
#10 pc 0000d200 /system/lib/libc.so (__thread_entry+72)
#11 pc 0000d398 /system/lib/libc.so (pthread_create+240)
at android.os.FileObserver$ObserverThread.observe(Native Method)
at android.os.FileObserver$ObserverThread.run(FileObserver.java:88)
"Thread-157029" prio=4 tid=21 NATIVE
| group="main" sCount=1 dsCount=0 obj=0x424de938 self=0x6a9451e8
| sysTid=21666 nice=10 sched=0/0 cgrp=apps/bg_non_interactive handle=1786046376
| state=S schedstat=( 0 0 0 ) utm=1 stm=0 core=3
#00 pc 00021dc4 /system/lib/libc.so (__futex_syscall3+8)
#01 pc 0000ef54 /system/lib/libc.so (__pthread_cond_timedwait_relative+48)
#02 pc 0000efb4 /system/lib/libc.so (__pthread_cond_timedwait+64)
#03 pc 00b4fd31 /system/lib/libwebviewchromium.so
#04 pc 001dbcdf /system/lib/libwebviewchromium.so
#05 pc 001dbf2b /system/lib/libwebviewchromium.so
#06 pc 001da16b /system/lib/libwebviewchromium.so
#07 pc 0000d200 /system/lib/libc.so (__thread_entry+72)
#08 pc 0000d398 /system/lib/libc.so (pthread_create+240)
at dalvik.system.NativeStart.run(Native Method)
"OkHttp ConnectionPool" daemon prio=5 tid=17 TIMED_WAIT
| group="main" sCount=1 dsCount=0 obj=0x42336c90 self=0x6a6f81d8
| sysTid=21533 nice=0 sched=0/0 cgrp=apps handle=1785691240
| state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=3
at java.lang.Object.wait(Native Method)
- waiting on <0x42336d68> (a java.lang.VMThread) held by tid=17 (OkHttp ConnectionPool)
at java.lang.Thread.parkFor(Thread.java:1220)
at sun.misc.Unsafe.park(Unsafe.java:325)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:197)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2056)
at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:435)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1035)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1097)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:856)
"Thread-157021" prio=5 tid=15 NATIVE
| group="main" sCount=1 dsCount=0 obj=0x422cfe58 self=0x6a8afb18
| sysTid=21516 nice=0 sched=0/0 cgrp=apps handle=1783564672
| state=S schedstat=( 0 0 0 ) utm=47 stm=6 core=0
#00 pc 00021dc8 /system/lib/libc.so (__futex_syscall3+12)
#01 pc 0000ef54 /system/lib/libc.so (__pthread_cond_timedwait_relative+48)
#02 pc 0000efb4 /system/lib/libc.so (__pthread_cond_timedwait+64)
#03 pc 001e52d7 /system/lib/libwebviewchromium.so
#04 pc 001d97cd /system/lib/libwebviewchromium.so
#05 pc 001cff3f /system/lib/libwebviewchromium.so
#06 pc 001cf485 /system/lib/libwebviewchromium.so
#07 pc 001d3f4f /system/lib/libwebviewchromium.so
#08 pc 001cecbf /system/lib/libwebviewchromium.so
#09 pc 001dc33d /system/lib/libwebviewchromium.so
#10 pc 001da16b /system/lib/libwebviewchromium.so
#11 pc 0000d200 /system/lib/libc.so (__thread_entry+72)
#12 pc 0000d398 /system/lib/libc.so (pthread_create+240)
at dalvik.system.NativeStart.run(Native Method)
"AdWorker #2" prio=5 tid=14 TIMED_WAIT
| group="main" sCount=1 dsCount=0 obj=0x422e3f48 self=0x6a6b8988
| sysTid=21513 nice=10 sched=0/0 cgrp=apps/bg_non_interactive handle=1784930528
| state=S schedstat=( 0 0 0 ) utm=6 stm=0 core=3
at java.lang.Object.wait(Native Method)
- waiting on <0x41fc9458> (a java.lang.VMThread) held by tid=14 (AdWorker #2)
at java.lang.Thread.parkFor(Thread.java:1220)
at sun.misc.Unsafe.park(Unsafe.java:325)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:197)
at java.util.concurrent.SynchronousQueue$TransferQueue.awaitFulfill(SynchronousQueue.java:733)
at java.util.concurrent.SynchronousQueue$TransferQueue.transfer(SynchronousQueue.java:664)
at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:910)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1035)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1097)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:856)
"AdWorker #1" prio=5 tid=13 TIMED_WAIT
| group="main" sCount=1 dsCount=0 obj=0x42335668 self=0x6c0cec20
| sysTid=21511 nice=10 sched=0/0 cgrp=apps/bg_non_interactive handle=1812787320
| state=S schedstat=( 0 0 0 ) utm=2 stm=0 core=3
at java.lang.Object.wait(Native Method)
- waiting on <0x42335808> (a java.lang.VMThread) held by tid=13 (AdWorker #1)
at java.lang.Thread.parkFor(Thread.java:1220)
at sun.misc.Unsafe.park(Unsafe.java:325)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:197)
at java.util.concurrent.SynchronousQueue$TransferQueue.awaitFulfill(SynchronousQueue.java:733)
at java.util.concurrent.SynchronousQueue$TransferQueue.transfer(SynchronousQueue.java:664)
at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:910)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1035)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1097)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:856)
"CleanupReference" daemon prio=5 tid=12 WAIT
| group="main" sCount=1 dsCount=0 obj=0x4232b618 self=0x6c2bf8e0
| sysTid=21510 nice=0 sched=0/0 cgrp=apps handle=1814822200
| state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=0
at java.lang.Object.wait(Native Method)
- waiting on <0x4232b550> (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 com.android.org.chromium.content.common.CleanupReference$1.run(CleanupReference.java:48)
"Thread-157017" prio=5 tid=11 NATIVE
| group="main" sCount=1 dsCount=0 obj=0x423293a0 self=0x6c2b38e0
| sysTid=21499 nice=0 sched=0/0 cgrp=apps handle=1782253760
| state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=2
#00 pc 00021dc4 /system/lib/libc.so (__futex_syscall3+8)
#01 pc 0000ef54 /system/lib/libc.so (__pthread_cond_timedwait_relative+48)
#02 pc 0000efb4 /system/lib/libc.so (__pthread_cond_timedwait+64)
#03 pc 001d97d5 /system/lib/libwebviewchromium.so
#04 pc 001d97f5 /system/lib/libwebviewchromium.so
#05 pc 001cff0f /system/lib/libwebviewchromium.so
#06 pc 001cf485 /system/lib/libwebviewchromium.so
#07 pc 001d3f4f /system/lib/libwebviewchromium.so
#08 pc 001cecbf /system/lib/libwebviewchromium.so
#09 pc 008e9893 /system/lib/libwebviewchromium.so
#10 pc 008e9c8b /system/lib/libwebviewchromium.so
#11 pc 001dc33d /system/lib/libwebviewchromium.so
#12 pc 001da16b /system/lib/libwebviewchromium.so
#13 pc 0000d200 /system/lib/libc.so (__thread_entry+72)
#14 pc 0000d398 /system/lib/libc.so (pthread_create+240)
at dalvik.system.NativeStart.run(Native Method)
"Thread-157015" prio=5 tid=10 NATIVE
| group="main" sCount=1 dsCount=0 obj=0x42325e00 self=0x6a42b578
| sysTid=21504 nice=-6 sched=0/0 cgrp=apps handle=1782737400
| state=S schedstat=( 0 0 0 ) utm=18 stm=10 core=0
#00 pc 00021a04 /system/lib/libc.so (epoll_wait+12)
#01 pc 001e7ff3 /system/lib/libwebviewchromium.so
#02 pc 001e71e5 /system/lib/libwebviewchromium.so
#03 pc 001e010f /system/lib/libwebviewchromium.so
#04 pc 001cf485 /system/lib/libwebviewchromium.so
#05 pc 001d3f4f /system/lib/libwebviewchromium.so
#06 pc 001cecbf /system/lib/libwebviewchromium.so
#07 pc 008e9901 /system/lib/libwebviewchromium.so
#08 pc 008e9cb3 /system/lib/libwebviewchromium.so
#09 pc 001dc33d /system/lib/libwebviewchromium.so
#10 pc 001da16b /system/lib/libwebviewchromium.so
#11 pc 0000d200 /system/lib/libc.so (__thread_entry+72)
#12 pc 0000d398 /system/lib/libc.so (pthread_create+240)
at dalvik.system.NativeStart.run(Native Method)
"Binder_2" prio=5 tid=9 NATIVE
| group="main" sCount=1 dsCount=0 obj=0x41b878e8 self=0x6659d530
| sysTid=21495 nice=0 sched=0/0 cgrp=apps handle=1717162728
| state=S schedstat=( 0 0 0 ) utm=1 stm=0 core=0
#00 pc 00020850 /system/lib/libc.so (__ioctl+8)
#01 pc 0002d187 /system/lib/libc.so (ioctl+14)
#02 pc 0001d561 /system/lib/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+140)
#03 pc 0001dc6b /system/lib/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+6)
#04 pc 0001dd01 /system/lib/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+48)
#05 pc 00022019 /system/lib/libbinder.so
#06 pc 0000f149 /system/lib/libutils.so (android::Thread::_threadLoop(void*)+216)
#07 pc 00050357 /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+98)
#08 pc 0000ec0f /system/lib/libutils.so
#09 pc 0000d200 /system/lib/libc.so (__thread_entry+72)
#10 pc 0000d398 /system/lib/libc.so (pthread_create+240)
at dalvik.system.NativeStart.run(Native Method)
"Binder_1" prio=5 tid=8 NATIVE
| group="main" sCount=1 dsCount=0 obj=0x41b87748 self=0x6659c8b0
| sysTid=21494 nice=0 sched=0/0 cgrp=apps handle=1717159528
| state=S schedstat=( 0 0 0 ) utm=1 stm=0 core=0
#00 pc 00020850 /system/lib/libc.so (__ioctl+8)
#01 pc 0002d187 /system/lib/libc.so (ioctl+14)
#02 pc 0001d561 /system/lib/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+140)
#03 pc 0001dc6b /system/lib/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+6)
#04 pc 0001dd01 /system/lib/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+48)
#05 pc 00022019 /system/lib/libbinder.so
#06 pc 0000f149 /system/lib/libutils.so (android::Thread::_threadLoop(void*)+216)
#07 pc 00050357 /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+98)
#08 pc 0000ec0f /system/lib/libutils.so
#09 pc 0000d200 /system/lib/libc.so (__thread_entry+72)
#10 pc 0000d398 /system/lib/libc.so (pthread_create+240)
at dalvik.system.NativeStart.run(Native Method)
"FinalizerWatchdogDaemon" daemon prio=5 tid=7 WAIT
| group="system" sCount=1 dsCount=0 obj=0x41b830e8 self=0x6659bbc8
| sysTid=21493 nice=0 sched=0/0 cgrp=apps handle=1717157920
| state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=0
at java.lang.Object.wait(Native Method)
- waiting on <0x41660478> (a java.lang.Daemons$FinalizerWatchdogDaemon)
at java.lang.Object.wait(Object.java:364)
at java.lang.Daemons$FinalizerWatchdogDaemon.waitForObject(Daemons.java:230)
at java.lang.Daemons$FinalizerWatchdogDaemon.run(Daemons.java:207)
at java.lang.Thread.run(Thread.java:856)
"FinalizerDaemon" daemon prio=5 tid=6 WAIT
| group="system" sCount=1 dsCount=0 obj=0x41b82f90 self=0x6659a768
| sysTid=21492 nice=0 sched=0/0 cgrp=apps handle=1717152704
| state=S schedstat=( 0 0 0 ) utm=1 stm=0 core=0
at java.lang.Object.wait(Native Method)
- waiting on <0x4164b7d8> (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:170)
at java.lang.Thread.run(Thread.java:856)
"ReferenceQueueDaemon" daemon prio=5 tid=5 WAIT
| group="system" sCount=1 dsCount=0 obj=0x41b82e28 self=0x66599ec0
| sysTid=21491 nice=0 sched=0/0 cgrp=apps handle=1717150488
| state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=3
at java.lang.Object.wait(Native Method)
- waiting on <0x4164b700>
at java.lang.Object.wait(Object.java:364)
at java.lang.Daemons$ReferenceQueueDaemon.run(Daemons.java:130)
at java.lang.Thread.run(Thread.java:856)
"Compiler" daemon prio=5 tid=4 VMWAIT
| group="system" sCount=1 dsCount=0 obj=0x41b82d38 self=0x415b4258
| sysTid=21490 nice=0 sched=0/0 cgrp=apps handle=1096499216
| state=S schedstat=( 0 0 0 ) utm=11 stm=9 core=0
#00 pc 00021dc4 /system/lib/libc.so (__futex_syscall3+8)
#01 pc 0000ef54 /system/lib/libc.so (__pthread_cond_timedwait_relative+48)
#02 pc 0000efb4 /system/lib/libc.so (__pthread_cond_timedwait+64)
#03 pc 00080937 /system/lib/libdvm.so
#04 pc 0005c0fd /system/lib/libdvm.so
#05 pc 0000d200 /system/lib/libc.so (__thread_entry+72)
#06 pc 0000d398 /system/lib/libc.so (pthread_create+240)
at dalvik.system.NativeStart.run(Native Method)
"Signal Catcher" daemon prio=5 tid=3 RUNNABLE
| group="system" sCount=0 dsCount=0 obj=0x41b82c40 self=0x648b9120
| sysTid=21489 nice=0 sched=0/0 cgrp=apps handle=1772267456
| state=R schedstat=( 0 0 0 ) utm=2 stm=2 core=3
at dalvik.system.NativeStart.run(Native Method)
"GC" daemon prio=5 tid=2 VMWAIT
| group="system" sCount=1 dsCount=0 obj=0x41b82b60 self=0x648bc070
| sysTid=21488 nice=0 sched=0/0 cgrp=apps handle=1686879040
| state=S schedstat=( 0 0 0 ) utm=2 stm=0 core=0
#00 pc 00021dc4 /system/lib/libc.so (__futex_syscall3+8)
#01 pc 0000ef54 /system/lib/libc.so (__pthread_cond_timedwait_relative+48)
#02 pc 0000efb4 /system/lib/libc.so (__pthread_cond_timedwait+64)
#03 pc 0007eff3 /system/lib/libdvm.so
#04 pc 0005c0fd /system/lib/libdvm.so
#05 pc 0000d200 /system/lib/libc.so (__thread_entry+72)
#06 pc 0000d398 /system/lib/libc.so (pthread_create+240)
at dalvik.system.NativeStart.run(Native Method)
NATIVE THREADS:
".smp.musicspeed" sysTid=21498 nice=0 sched=0/0 cgrp=apps
| state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=2
".smp.musicspeed" sysTid=21500 nice=0 sched=0/0 cgrp=apps
| state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=2
".smp.musicspeed" sysTid=21501 nice=0 sched=0/0 cgrp=apps
| state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=2
".smp.musicspeed" sysTid=21502 nice=0 sched=0/0 cgrp=apps
| state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=2
".smp.musicspeed" sysTid=21503 nice=0 sched=0/0 cgrp=apps
| state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=0
".smp.musicspeed" sysTid=21505 nice=0 sched=0/0 cgrp=apps
| state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=3
".smp.musicspeed" sysTid=21506 nice=0 sched=0/0 cgrp=apps
| state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=3
".smp.musicspeed" sysTid=21507 nice=0 sched=0/0 cgrp=apps
| state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=3
".smp.musicspeed" sysTid=21508 nice=0 sched=0/0 cgrp=apps
| state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=3
".smp.musicspeed" sysTid=21517 nice=-6 sched=0/0 cgrp=apps
| state=S schedstat=( 0 0 0 ) utm=1 stm=1 core=0
EDIT 1:
ANRs are triggered by either of the following conditions.
No response to an input event (such as key press or screen touch events) within 5 seconds.
A BroadcastReceiver hasn't finished executing within 10 seconds.
Since your timeout is set to a sub-second value, it's not likely to be the direct source of your problem. The problem is more likely to be a result of the synchronization blocks. If you have code running on the main thread that's being delayed due to thread synchronization, that could easily trigger one of the ANR conditions.
I'll take a look at your actual code a bit later tonight if nobody else has already determined the problem.
EDIT 2:
Looking at the ANR dump in the question and the code, the issue appears to be caused by lock-contention on decodeLock when trying to do a seek. The thread holding the lock is a native thread gotten to by the path SoundTouchPlayable.run()->SoundTouchPlayable.playFile()->MediaCodecAudioDecoder.decodeChunk()->MediaCodecAudioDecoder.advanceInput().
To arrive at that, I looked for "waiting" in the ANR dump. Those that are on Object.wait aren't a problem; they're just waiting for more messages. The only one that's different is waiting to lock <0x422cfb18> (a java.lang.Object) held by tid=20. Then it's just a matter of looking to see which threads has tid=20.
I suggest determining how/why those two different threads could be running at the same time. Then working out a plan to keep them from do so or if it's OK that they run at the same time, changing the synchronization locks to allow it.
To address the fact that you have to do an uninstall to recover, consider that a simple force-stop might be leaving some process running. An uninstall will be more aggressive about finding and killing all processes running under that user id (each app has its own).
Our app sometimes locks up with ANR after it has been in device foreground for a long time, say over night. The app starts, but only shows black screen. Back and home buttons don't respond until about 10 seconds after they were pressed.
Running the app in strict mode, doesn't highlight any problems. All network activity, and long running tasks are done on background threads.
Looking at the traces file for our app, I can't identify the "main" thread, so I can't diagnose what is locking up the UI.
This question sounds like the same symptoms, but our app doesn't use the offending library: JmDNS.
----- pid 21220 at 2013-11-26 08:32:09 -----
Cmd line: com.mygreatapp.reptile
DALVIK THREADS:
(mutexes: tll=0 tsl=0 tscl=0 ghl=0)
"java.lang.ProcessManager" daemon prio=5 tid=11 WAIT
| group="main" sCount=1 dsCount=0 obj=0x4242b590 self=0x60d506f0
| sysTid=21305 nice=0 sched=0/0 cgrp=apps handle=1626388752
| schedstat=( 1686960 1679167 34 ) utm=0 stm=0 core=0
at java.lang.Object.wait(Native Method)
- waiting on <0x42413810> (a java.util.HashMap)
at java.lang.Object.wait(Object.java:364)
at java.lang.ProcessManager.waitForMoreChildren(ProcessManager.java:140)
at java.lang.ProcessManager.watchChildren(ProcessManager.java:105)
at java.lang.ProcessManager.access$000(ProcessManager.java:40)
at java.lang.ProcessManager$1.run(ProcessManager.java:58)
"Thread-30992" prio=5 tid=1 VMWAIT
| group="main" sCount=1 dsCount=0 obj=0x4528c3f8 self=0x60f0e488
| sysTid=21220 nice=0 sched=0/0 cgrp=apps handle=1074544432
| schedstat=( 500594685618 30706953168 460765 ) utm=44353 stm=5705 core=3
#00 pc 0000dca0 /system/lib/libc.so (__futex_syscall3+8)
#01 pc 00012e44 /system/lib/libc.so (__pthread_cond_timedwait_relative+48)
#02 pc 00012ea0 /system/lib/libc.so (__pthread_cond_timedwait+60)
#03 pc 0004a1af /system/lib/libdvm.so
#04 pc 0003a4a1 /system/lib/libdvm.so
#05 pc 0004d585 /system/lib/libandroid_runtime.so (android::AndroidRuntime::start(char const*, char const*)+452)
#06 pc 00000dcf /system/bin/app_process
#07 pc 00017123 /system/lib/libc.so (__libc_init+38)
#08 pc 00000b34 /system/bin/app_process
at dalvik.system.NativeStart.run(Native Method)
"pool-4-thread-1" prio=5 tid=15 WAIT
| group="main" sCount=1 dsCount=0 obj=0x41e20c58 self=0x410e1520
| sysTid=21281 nice=0 sched=0/0 cgrp=apps handle=1089112720
| schedstat=( 102424840 33825634 517 ) utm=6 stm=3 core=3
at java.lang.Object.wait(Native Method)
- waiting on <0x41cc4b30> (a java.lang.VMThread) held by tid=15 (pool-4-thread-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)
"Thread-30976" prio=5 tid=29 WAIT
| group="main" sCount=1 dsCount=0 obj=0x41e407c8 self=0x60b1cdf0
| sysTid=21279 nice=0 sched=0/0 cgrp=apps handle=1466754424
| schedstat=( 22878231471 2961981162 8385 ) utm=2103 stm=184 core=0
at java.lang.Object.wait(Native Method)
- waiting on <0x41d189a8> (a java.lang.VMThread) held by tid=29 (Thread-30976)
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 crittercism.android.cq.a((null):-1)
at crittercism.android.cv.run((null):-1)
at java.lang.Thread.run(Thread.java:856)
"android.hardware.SystemSensorManager$SensorThread" prio=5 tid=28 NATIVE
| group="main" sCount=1 dsCount=0 obj=0x41f7d9c8 self=0x60b5f5d0
| sysTid=21277 nice=-8 sched=0/0 cgrp=apps handle=1466031464
| schedstat=( 629417858 226101457 2481 ) utm=62 stm=0 core=0
#00 pc 0000da70 /system/lib/libc.so (epoll_wait+12)
#01 pc 00014899 /system/lib/libutils.so (android::Looper::pollInner(int)+96)
#02 pc 00014b01 /system/lib/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+104)
#03 pc 00023f5d /system/lib/libgui.so (android::SensorEventQueue::waitForEvent() const+36)
#04 pc 0007e085 /system/lib/libandroid_runtime.so
#05 pc 0001def0 /system/lib/libdvm.so (dvmPlatformInvoke+112)
#06 pc 0004d14b /system/lib/libdvm.so (dvmCallJNIMethod(unsigned int const*, JValue*, Method const*, Thread*)+394)
#07 pc 00000214 /dev/ashmem/dalvik-jit-code-cache (deleted)
at android.hardware.SystemSensorManager.sensors_data_poll(Native Method)
at android.hardware.SystemSensorManager$SensorThread$SensorThreadRunnable.run(SystemSensorManager.java:133)
at java.lang.Thread.run(Thread.java:856)
"Binder_4" prio=5 tid=26 NATIVE
| group="main" sCount=1 dsCount=0 obj=0x41cedae0 self=0x58c98ec0
| sysTid=21272 nice=0 sched=0/0 cgrp=apps handle=1488945728
| schedstat=( 701164079 37010713 402 ) utm=66 stm=4 core=0
#00 pc 0000cb90 /system/lib/libc.so (__ioctl+8)
#01 pc 00027fcd /system/lib/libc.so (ioctl+16)
#02 pc 00016bfd /system/lib/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+124)
#03 pc 000173af /system/lib/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+154)
#04 pc 0001b171 /system/lib/libbinder.so
#05 pc 0001104f /system/lib/libutils.so (android::Thread::_threadLoop(void*)+114)
#06 pc 0004ba7b /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+66)
#07 pc 00010bb5 /system/lib/libutils.so
#08 pc 00012e00 /system/lib/libc.so (__thread_entry+48)
#09 pc 00012558 /system/lib/libc.so (pthread_create+172)
at dalvik.system.NativeStart.run(Native Method)
"Binder_3" prio=5 tid=25 NATIVE
| group="main" sCount=1 dsCount=0 obj=0x41cfbe58 self=0x58ca4e68
| sysTid=21271 nice=0 sched=0/0 cgrp=apps handle=1485257944
| schedstat=( 29564295 25159912 195 ) utm=1 stm=1 core=0
#00 pc 0000cb90 /system/lib/libc.so (__ioctl+8)
#01 pc 00027fcd /system/lib/libc.so (ioctl+16)
#02 pc 00016bfd /system/lib/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+124)
#03 pc 000173af /system/lib/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+154)
#04 pc 0001b171 /system/lib/libbinder.so
#05 pc 0001104f /system/lib/libutils.so (android::Thread::_threadLoop(void*)+114)
#06 pc 0004ba7b /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+66)
#07 pc 00010bb5 /system/lib/libutils.so
#08 pc 00012e00 /system/lib/libc.so (__thread_entry+48)
#09 pc 00012558 /system/lib/libc.so (pthread_create+172)
at dalvik.system.NativeStart.run(Native Method)
"AsyncTask #5" prio=5 tid=24 WAIT
| group="main" sCount=1 dsCount=0 obj=0x41cf26f0 self=0x57682458
| sysTid=21266 nice=10 sched=0/0 cgrp=apps/bg_non_interactive handle=1464170168
| schedstat=( 135820845754 105683034246 2907951 ) utm=10204 stm=3378 core=2
at java.lang.Object.wait(Native Method)
- waiting on <0x41d1d280> (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=0x41edc388 self=0x57682008
| sysTid=21265 nice=10 sched=0/0 cgrp=apps/bg_non_interactive handle=1465817672
| schedstat=( 132577127701 105107036747 2873808 ) utm=9956 stm=3301 core=2
at java.lang.Object.wait(Native Method)
- waiting on <0x41c8dbe0> (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)
"RefQueueWorker#org.apache.http.impl.conn.tsccm.ConnPoolByRoute#41eff7c8" daemon prio=5 tid=22 WAIT
| group="main" sCount=1 dsCount=0 obj=0x41e2ac40 self=0x576129a8
| sysTid=21262 nice=0 sched=0/0 cgrp=apps handle=1465983376
| schedstat=( 211376 507582 7 ) utm=0 stm=0 core=2
at java.lang.Object.wait(Native Method)
- waiting on <0x41f00830> (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 #3" prio=5 tid=21 WAIT
| group="main" sCount=1 dsCount=0 obj=0x41ea3cd8 self=0x40e8a150
| sysTid=21261 nice=10 sched=0/0 cgrp=apps/bg_non_interactive handle=1088988576
| schedstat=( 147758360521 113209347880 3132414 ) utm=11120 stm=3655 core=0
at java.lang.Object.wait(Native Method)
- waiting on <0x41eb3510> (a java.lang.VMThread) held by tid=21 (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.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 roboguice.util.SafeAsyncTask$Task.postToUiThreadAndWait(SafeAsyncTask.java:285)
at roboguice.util.SafeAsyncTask$Task.doFinally(SafeAsyncTask.java:248)
at roboguice.util.SafeAsyncTask$Task.call(SafeAsyncTask.java:188)
at roboguice.util.SafeAsyncTask$Task.call(SafeAsyncTask.java:158)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
at java.util.concurrent.FutureTask.run(FutureTask.java:137)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
at java.lang.Thread.run(Thread.java:856)
"AsyncTask #2" prio=5 tid=20 WAIT
| group="main" sCount=1 dsCount=0 obj=0x41f6d6c0 self=0x57600af0
| sysTid=21260 nice=10 sched=0/0 cgrp=apps/bg_non_interactive handle=1465924288
| schedstat=( 137061046899 106138943361 2940968 ) utm=10317 stm=3388 core=0
at java.lang.Object.wait(Native Method)
- waiting on <0x41f6d990> (a java.lang.VMThread) held by tid=20 (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)
"pool-3-thread-1" prio=5 tid=19 WAIT
| group="main" sCount=1 dsCount=0 obj=0x41ec84e8 self=0x57600688
| sysTid=21259 nice=0 sched=0/0 cgrp=apps handle=1089548880
| schedstat=( 333892046105 50531397520 395232 ) utm=24001 stm=9387 core=3
at java.lang.Object.wait(Native Method)
- waiting on <0x41cd3cb0> (a java.lang.VMThread) held by tid=19 (pool-3-thread-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)
"AsyncTask #1" prio=5 tid=18 WAIT
| group="main" sCount=1 dsCount=0 obj=0x41e43190 self=0x57600238
| sysTid=21258 nice=10 sched=0/0 cgrp=apps/bg_non_interactive handle=1093436480
| schedstat=( 122133361244 94201913504 2662437 ) utm=9133 stm=3079 core=3
at java.lang.Object.wait(Native Method)
- waiting on <0x41e93b30> (a java.lang.VMThread) held by tid=18 (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)
"pool-1-thread-1" prio=5 tid=17 WAIT
| group="main" sCount=1 dsCount=0 obj=0x41d8d558 self=0x40018928
| sysTid=21257 nice=0 sched=0/0 cgrp=apps handle=1073843576
| schedstat=( 538748652 44112875 1633 ) utm=30 stm=23 core=2
at java.lang.Object.wait(Native Method)
- waiting on <0x41d958b8> (a java.lang.VMThread) held by tid=17 (pool-1-thread-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)
"com.google.inject.internal.util.$Finalizer" daemon prio=5 tid=14 WAIT
| group="main" sCount=1 dsCount=0 obj=0x41d82388 self=0x40ea8430
| sysTid=21248 nice=0 sched=0/0 cgrp=apps handle=1089147888
| schedstat=( 135958 26125 2 ) utm=0 stm=0 core=2
at java.lang.Object.wait(Native Method)
- waiting on <0x41d824a8> (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 com.google.inject.internal.util.$Finalizer.run(Finalizer.java:114)
"OPTMZ" prio=5 tid=12 WAIT
| group="main" sCount=1 dsCount=0 obj=0x41ce5b60 self=0x40f1c8c8
| sysTid=21243 nice=0 sched=0/0 cgrp=apps handle=1089677856
| schedstat=( 241167 3985041 22 ) utm=0 stm=0 core=1
at java.lang.Object.wait(Native Method)
- waiting on <0x41ce5530> (a android.os.ConditionVariable)
at java.lang.Object.wait(Object.java:364)
at android.os.ConditionVariable.block(ConditionVariable.java:97)
at crittercism.android.f.run((null):-1)
at crittercism.android.cq.a((null):-1)
at crittercism.android.cv.run((null):-1)
at java.lang.Thread.run(Thread.java:856)
"Binder_2" prio=5 tid=10 NATIVE
| group="main" sCount=1 dsCount=0 obj=0x41c97448 self=0x40f17500
| sysTid=21232 nice=0 sched=0/0 cgrp=apps handle=1089092880
| schedstat=( 35924382 39652369 228 ) utm=1 stm=2 core=0
#00 pc 0000cb90 /system/lib/libc.so (__ioctl+8)
#01 pc 00027fcd /system/lib/libc.so (ioctl+16)
#02 pc 00016bfd /system/lib/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+124)
#03 pc 000173af /system/lib/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+154)
#04 pc 0001b171 /system/lib/libbinder.so
#05 pc 0001104f /system/lib/libutils.so (android::Thread::_threadLoop(void*)+114)
#06 pc 0004ba7b /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+66)
#07 pc 00010bb5 /system/lib/libutils.so
#08 pc 00012e00 /system/lib/libc.so (__thread_entry+48)
#09 pc 00012558 /system/lib/libc.so (pthread_create+172)
at dalvik.system.NativeStart.run(Native Method)
"Binder_1" prio=5 tid=9 NATIVE
| group="main" sCount=1 dsCount=0 obj=0x41c971b8 self=0x40eb0008
| sysTid=21231 nice=0 sched=0/0 cgrp=apps handle=1088983768
| schedstat=( 41858044 25543380 342 ) utm=2 stm=2 core=0
#00 pc 0000cb90 /system/lib/libc.so (__ioctl+8)
#01 pc 00027fcd /system/lib/libc.so (ioctl+16)
#02 pc 00016bfd /system/lib/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+124)
#03 pc 000173af /system/lib/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+154)
#04 pc 0001b171 /system/lib/libbinder.so
#05 pc 0001104f /system/lib/libutils.so (android::Thread::_threadLoop(void*)+114)
#06 pc 0004ba7b /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+66)
#07 pc 00010bb5 /system/lib/libutils.so
#08 pc 00012e00 /system/lib/libc.so (__thread_entry+48)
#09 pc 00012558 /system/lib/libc.so (pthread_create+172)
at dalvik.system.NativeStart.run(Native Method)
"FinalizerWatchdogDaemon" daemon prio=5 tid=8 WAIT
| group="system" sCount=1 dsCount=0 obj=0x41c94180 self=0x40e096f0
| sysTid=21230 nice=0 sched=0/0 cgrp=apps handle=1089149536
| schedstat=( 193951857 409607638 3031 ) utm=8 stm=10 core=0
at java.lang.Object.wait(Native Method)
- waiting on <0x41311cf8> (a java.lang.Daemons$FinalizerWatchdogDaemon)
at java.lang.Object.wait(Object.java:364)
at java.lang.Daemons$FinalizerWatchdogDaemon.run(Daemons.java:214)
at java.lang.Thread.run(Thread.java:856)
"FinalizerDaemon" daemon prio=5 tid=7 WAIT
| group="system" sCount=1 dsCount=0 obj=0x41c93fd0 self=0x40ea38c0
| sysTid=21229 nice=0 sched=0/0 cgrp=apps handle=1074231352
| schedstat=( 2874811820 653275129 6681 ) utm=224 stm=62 core=3
at java.lang.Object.wait(Native Method)
- waiting on <0x413005d0> (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:169)
at java.lang.Thread.run(Thread.java:856)
"ReferenceQueueDaemon" daemon prio=5 tid=6 WAIT
| group="system" sCount=1 dsCount=0 obj=0x41c93e68 self=0x40ea78a8
| sysTid=21228 nice=0 sched=0/0 cgrp=apps handle=1089109240
| schedstat=( 579457779 268872517 10279 ) utm=44 stm=13 core=0
at java.lang.Object.wait(Native Method)
- waiting on <0x413004f8>
at java.lang.Object.wait(Object.java:364)
at java.lang.Daemons$ReferenceQueueDaemon.run(Daemons.java:129)
at java.lang.Thread.run(Thread.java:856)
"Compiler" daemon prio=5 tid=5 VMWAIT
| group="system" sCount=1 dsCount=0 obj=0x41c93d78 self=0x40ed3568
| sysTid=21227 nice=0 sched=0/0 cgrp=apps handle=1089689680
| schedstat=( 13840664945 2175691525 62372 ) utm=829 stm=555 core=3
#00 pc 0000dca0 /system/lib/libc.so (__futex_syscall3+8)
#01 pc 00012e44 /system/lib/libc.so (__pthread_cond_timedwait_relative+48)
#02 pc 00012ea0 /system/lib/libc.so (__pthread_cond_timedwait+60)
#03 pc 0006f955 /system/lib/libdvm.so
#04 pc 00053b8f /system/lib/libdvm.so
#05 pc 00012e00 /system/lib/libc.so (__thread_entry+48)
#06 pc 00012558 /system/lib/libc.so (pthread_create+172)
at dalvik.system.NativeStart.run(Native Method)
"JDWP" daemon prio=5 tid=4 VMWAIT
| group="system" sCount=1 dsCount=0 obj=0x41c93c90 self=0x40dcf718
| sysTid=21226 nice=0 sched=0/0 cgrp=apps handle=1087520184
| schedstat=( 164604246 215945407 747 ) utm=14 stm=1 core=1
#00 pc 0000d758 /system/lib/libc.so (recvmsg+8)
#01 pc 00060383 /system/lib/libdvm.so
#02 pc 00060581 /system/lib/libdvm.so
#03 pc 0006327b /system/lib/libdvm.so
#04 pc 00053b8f /system/lib/libdvm.so
#05 pc 00012e00 /system/lib/libc.so (__thread_entry+48)
#06 pc 00012558 /system/lib/libc.so (pthread_create+172)
at dalvik.system.NativeStart.run(Native Method)
"Signal Catcher" daemon prio=5 tid=3 RUNNABLE
| group="system" sCount=0 dsCount=0 obj=0x41c93b98 self=0x40f01ca8
| sysTid=21224 nice=0 sched=0/0 cgrp=apps handle=1089261720
| schedstat=( 89234254 24155125 31 ) utm=4 stm=4 core=0
at dalvik.system.NativeStart.run(Native Method)
"GC" daemon prio=5 tid=2 VMWAIT
| group="system" sCount=1 dsCount=0 obj=0x41c93ab8 self=0x410cfde0
| sysTid=21222 nice=0 sched=0/0 cgrp=apps handle=1464184336
| schedstat=( 75670018971 4421244466 25704 ) utm=7432 stm=135 core=3
#00 pc 0000dca0 /system/lib/libc.so (__futex_syscall3+8)
#01 pc 00012e44 /system/lib/libc.so (__pthread_cond_timedwait_relative+48)
#02 pc 00012ea0 /system/lib/libc.so (__pthread_cond_timedwait+60)
#03 pc 0006e65b /system/lib/libdvm.so
#04 pc 00053b8f /system/lib/libdvm.so
#05 pc 00012e00 /system/lib/libc.so (__thread_entry+48)
#06 pc 00012558 /system/lib/libc.so (pthread_create+172)
at dalvik.system.NativeStart.run(Native Method)
NATIVE THREADS:
"ekeeper.reptile" sysTid=21267 nice=0 sched=0/0 cgrp=apps
| schedstat=( 18500 0 1 ) utm=0 stm=0 core=0
"ekeeper.reptile" sysTid=21268 nice=0 sched=0/0 cgrp=apps
| schedstat=( 572297498 198605347 10711 ) utm=25 stm=32 core=1
"ekeeper.reptile" sysTid=21269 nice=0 sched=0/0 cgrp=apps
| schedstat=( 1489497433 692708683 24726 ) utm=39 stm=109 core=2
----- end 21220 -----
Some more info in dumpstate file. (Retrieved from device after ANR at /data/log/dumpstate_app_anr.txt.gz) Process ID of app is 16042 with Unix user app_112. Looking at the more detailed logcat (search for MAIN LOG in the file), it looks like OutOfMemoryException. But I would expect the JVM to crash and restart, not lockup in this zombie state. What is keeping the app from crashing successfully?
More info of /proc/PID/ folder in zip file of frozen Android app.
I haven't seen the main thread stack in your ANR trace, where is it?
And, from the "java.lang.ProcessManager" stack, I am guessing you are doing something by forking child processes?
I have met this issue before, it is very strange bug that the the Java process wrapper sometimes got blocked when waiting for the child process to quit.
I am not sure it is a bug, in my case, my child process is already gone, but the main process is still waiting for it in the main thread. Then ANR happened.
Finally, I write some JNI code to wrap C library "system("cmd")" to workaround this issue.