ANR: Broadcast of Intent android.intent.action.SCREEN_OFF

I have a lot of ANR in my project with next error message:
(first part of the log, full log is huge, but I’m sure that your games has this bug too)

Broadcast of Intent { act=android.intent.action.SCREEN_OFF flg=0x50000010 (has extras) }

"main" prio=5 tid=1 Native
  | group="main" sCount=1 dsCount=0 obj=0x76d7ff48 self=0xb8459e68
  | sysTid=15376 nice=-4 cgrp=bg_non_interactive sched=0/0 handle=0xb6f62bec
  | state=S schedstat=( 6275909428 1884074543 19538 ) utm=396 stm=231 core=1 HZ=100
  | stack=0xbe28f000-0xbe291000 stackSize=8MB
  | held mutexes=
  #00  pc 000000000000f9a8  /system/lib/libc.so (syscall+28)
  #01  pc 00000000000131f9  /system/lib/libc.so (_Z33__pthread_cond_timedwait_relativeP14pthread_cond_tP15pthread_mutex_tPK8timespec+56)
  #02  pc 000000000015b22c  /data/app/com.potatojam.onet.minions.crush-2/lib/arm/libMonsters_Crush.so (???)
  #03  pc 0000000000063ef7  /system/lib/libandroid_runtime.so (???)
  #04  pc 0000000000240647  /system/framework/arm/boot.oat (Java_android_app_NativeActivity_onPauseNative__J+90)
  at android.app.NativeActivity.onPauseNative (Native method)
  at android.app.NativeActivity.onPause (NativeActivity.java:209)
  at com.dynamo.android.DefoldActivity.onPause (DefoldActivity.java:229)
  at android.app.Activity.performPause (Activity.java:6336)
  at android.app.Instrumentation.callActivityOnPause (Instrumentation.java:1322)
  at android.app.ActivityThread.performPauseActivity (ActivityThread.java:3691)
  at android.app.ActivityThread.performPauseActivity (ActivityThread.java:3664)
  at android.app.ActivityThread.handlePauseActivity (ActivityThread.java:3639)
  at android.app.ActivityThread.access$1100 (ActivityThread.java:177)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1445)
  at android.os.Handler.dispatchMessage (Handler.java:102)
  at android.os.Looper.loop (Looper.java:135)
  at android.app.ActivityThread.main (ActivityThread.java:5930)
  at java.lang.reflect.Method.invoke! (Native method)
  at java.lang.reflect.Method.invoke (Method.java:372)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:1405)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1200)

I tried to find the reason, and found only one relevant link:

Maybe it’s possible to change onReceive method in BroadcastReceiver to avoid this?

After latest update of Google Play a count of ANR became more important and may be a reason of lower place in a search and other organic traffic sources.

Docs: https://developer.android.com/topic/performance/vitals/anr

2 Likes

vote for this
The same thing - a lot of ANR like this

1 Like

It looks similar to this SO post: https://stackoverflow.com/a/20164998/468516

It would be interesting to see what function it is calling at 0x15b22c: /data/app/com.potatojam.onet.minions.crush-2/lib/arm/libMonsters_Crush.so

@insality, does your report look the same, with the same callstack?

2 Likes

@Mathias_Westerdahl looks very similar

"main" prio=5 tid=1 Native
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x72a1f618 self=0xf19dd000
  | sysTid=30900 nice=0 cgrp=default sched=0/0 handle=0xf64f64bc
  | state=S schedstat=( 5748132693 465711711 25622 ) utm=354 stm=220 core=5 HZ=100
  | stack=0xff5af000-0xff5b1000 stackSize=8MB
  | held mutexes=
  #00  pc 0000000000018e9c  /system/lib/libc.so (syscall+28)
  #01  pc 0000000000048515  /system/lib/libc.so (_ZL24__pthread_cond_timedwaitP23pthread_cond_internal_tP15pthread_mutex_tbPK8timespec+102)
  #02  pc 0000000000161c74  /data/app/com.test.familyage-2RcLh8tEQnaq3Yw_SbeoUw==/lib/arm/libFamily_Age.so (???)
  #03  pc 00000000001a8443  /system/framework/arm/boot-framework.oat (Java_android_app_NativeActivity_onPauseNative__J+82)
  at android.app.NativeActivity.onPauseNative (Native method)
  at android.app.NativeActivity.onPause (NativeActivity.java:202)
  at com.dynamo.android.DefoldActivity.onPause (DefoldActivity.java:227)
  at android.app.Activity.performPause (Activity.java:7391)
  at android.app.Instrumentation.callActivityOnPause (Instrumentation.java:1414)
  at android.app.ActivityThread.performPauseActivityIfNeeded (ActivityThread.java:4113)
  at android.app.ActivityThread.performPauseActivity (ActivityThread.java:4090)
  at android.app.ActivityThread.performPauseActivity (ActivityThread.java:4064)
  at android.app.ActivityThread.handlePauseActivity (ActivityThread.java:4038)
  at android.app.ActivityThread.-wrap16 (ActivityThread.java)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1708)
  at android.os.Handler.dispatchMessage (Handler.java:105)
  at android.os.Looper.loop (Looper.java:164)
  at android.app.ActivityThread.main (ActivityThread.java:6938)
  at java.lang.reflect.Method.invoke (Native method)
  at com.android.internal.os.Zygote$MethodAndArgsCaller.run (Zygote.java:327)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1374)
3 Likes

Would either of you mind giving me one of the executables to me? (so I can try to lookup what function it is calling in the engine)

4 Likes

apk 100.apk.zip (9.7 MB)

yesterday’s log received from user with this apk:

Broadcast of Intent { act=android.intent.action.SCREEN_OFF flg=0x50200010 }, InvisibleToUser

"main" tid=1 Native 
"main" prio=5 tid=1 Native
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x7293e620 self=0xb2ab5000
  | sysTid=31912 nice=0 cgrp=default sched=0/0 handle=0xb6bac4a8
  | state=S schedstat=( 10061309413 7131975187 45296 ) utm=651 stm=353 core=3 HZ=100
  | stack=0xbe4de000-0xbe4e0000 stackSize=8MB
  | held mutexes=
  #00  pc 0000000000018e58  /system/lib/libc.so (syscall+28)
  #01  pc 00000000000477c7  /system/lib/libc.so (_ZL24__pthread_cond_timedwaitP23pthread_cond_internal_tP15pthread_mutex_tbPK8timespec+102)
  #02  pc 000000000015b438  /data/app/com.potatojam.onet.minions.crush-DjziDaTmZzi_3zX1atlubg==/lib/arm/libMonsters_Crush.so (???)
  #03  pc 000000000007d283  /system/lib/libandroid_runtime.so (???)
  #04  pc 000000000007cd55  /system/lib/libandroid_runtime.so (???)
  #05  pc 00000000001a560b  /system/framework/arm/boot-framework.oat (Java_android_app_NativeActivity_unloadNativeCode__J+82)
  at android.app.NativeActivity.unloadNativeCode (Native method)
  at android.app.NativeActivity.onDestroy (NativeActivity.java:195)
  at android.app.Activity.performDestroy (Activity.java:7191)
  at android.app.Instrumentation.callActivityOnDestroy (Instrumentation.java:1270)
  at android.app.ActivityThread.performDestroyActivity (ActivityThread.java:4534)
  at android.app.ActivityThread.handleDestroyActivity (ActivityThread.java:4565)
  at android.app.ActivityThread.handleRelaunchActivity (ActivityThread.java:4839)
  at android.app.ActivityThread.-wrap18 (ActivityThread.java)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1672)
  at android.os.Handler.dispatchMessage (Handler.java:105)
  at android.os.Looper.loop (Looper.java:164)
  at android.app.ActivityThread.main (ActivityThread.java:6695)
  at java.lang.reflect.Method.invoke (Native method)
  at com.android.internal.os.Zygote$MethodAndArgsCaller.run (Zygote.java:240)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:772)
2 Likes

Thx @AGulev (and @Insality) , some questions:

  • Do you use WebP compression?
  • Do you use Native Extensions?

I think it’s interesting that it hangs when it’s already trying to shutdown?

Currently, we have no real leads as to why this is happening.

1 Like

Yes.

Yes:
DefVideoAds
DefAppsFlyer
Other app with the same ANR only DefVideoAds (webP too)

Do you use WebP compression? – idk
Do you use Native Extensions? – yes : defAppsFlyer, defUnityAds + (facebook)

More info:

  1. Broadcast of Intent { act=android.intent.action.SCREEN_OFF flg=0x50000010 launchParam=MultiScreenLaunchParams { mDisplayId=0 mBaseDisplayId=0 mFlags=0 } (has extras) }
    with :
    #03 pc 0000000000133ddf /system/framework/arm/boot-framework.oat (Java_android_app_NativeActivity_onStopNative__J+82)
    at android.app.NativeActivity.onStopNative (Native method)
    at android.app.NativeActivity.onStop (NativeActivity.java:237)
    at android.app.Instrumentation.callActivityOnStop (Instrumentation.java:1297)
    at android.app.Activity.performStop (Activity.java:7195)

  2. Broadcast of Intent { act=android.intent.action.SCREEN_OFF flg=0x50000010 launchParam=MultiScreenLaunchParams { mDisplayId=0 mFlags=0 } (has extras) }
    with :
    #05 pc 0000000000130d17 /system/framework/arm/boot-framework.oat (Java_android_app_NativeActivity_unloadNativeCode__J+82)
    at android.app.NativeActivity.unloadNativeCode (Native method)
    at android.app.NativeActivity.onDestroy (NativeActivity.java:203)

1 Like

Those call stacks look truncated? I’d like to see the #00-#02 in the first one, and #00-#04 in the second one.

Regarding WebP: Do you use texture profiles with WebP Compression?

DefAppsflyer has no finalize method, but DefVideoAds has: https://github.com/AGulev/DefVideoAds/blob/643faae4bb673b3eefdfdfa29a3622c3d7ceda75/defunityads/src/DefUnityCallback.cpp#L26

Broadcast of Intent { act=android.intent.action.SCREEN_OFF flg=0x50000010 launchParam=MultiScreenLaunchParams { mDisplayId=0 mFlags=0 } (has extras) }
(no location available)
"main" prio=5 tid=1 Native
  | group="main" sCount=1 dsCount=0 obj=0x75e7c730 self=0xeff05900
  | sysTid=13986 nice=-4 cgrp=default sched=0/0 handle=0xf344f534
  | state=S schedstat=( 4868703975 927298695 21048 ) utm=336 stm=150 core=5 HZ=100
  | stack=0xff167000-0xff169000 stackSize=8MB
  | held mutexes=
  #00  pc 0000000000017728  /system/lib/libc.so (syscall+28)
  #01  pc 0000000000046d1d  /system/lib/libc.so (_ZL24__pthread_cond_timedwaitP23pthread_cond_internal_tP15pthread_mutex_tbPK8timespec+102)
  #02  pc 0000000000161e80  /data/app/com.test.familyage-2/lib/arm/libFamily_Age.so (???)
  #03  pc 000000000006ca75  /system/lib/libandroid_runtime.so (???)
  #04  pc 000000000006cb35  /system/lib/libandroid_runtime.so (???)
  #05  pc 0000000000130d17  /system/framework/arm/boot-framework.oat (Java_android_app_NativeActivity_unloadNativeCode__J+82)
  at android.app.NativeActivity.unloadNativeCode (Native method)
  at android.app.NativeActivity.onDestroy (NativeActivity.java:203)
  at android.app.Activity.performDestroy (Activity.java:7186)

and


Broadcast of Intent { act=android.intent.action.SCREEN_OFF flg=0x50000010 launchParam=MultiScreenLaunchParams { mDisplayId=0 mBaseDisplayId=0 mFlags=0 } (has extras) }
(no location available)
"main" prio=5 tid=1 Native
  | group="main" sCount=1 dsCount=0 obj=0x758e3728 self=0xeb805400
  | sysTid=16066 nice=-4 cgrp=default sched=0/0 handle=0xeea31534
  | state=S schedstat=( 7474764823 1032494442 28966 ) utm=515 stm=232 core=0 HZ=100
  | stack=0xff54f000-0xff551000 stackSize=8MB
  | held mutexes=
  #00  pc 0000000000017530  /system/lib/libc.so (syscall+28)
  #01  pc 0000000000047b1b  /system/lib/libc.so (_ZL24__pthread_cond_timedwaitP23pthread_cond_internal_tP15pthread_mutex_tbPK8timespec+102)
  #02  pc 0000000000161c74  /data/app/com.test.familyage-1/lib/arm/libFamily_Age.so (???)
  #03  pc 0000000000133ddf  /system/framework/arm/boot-framework.oat (Java_android_app_NativeActivity_onStopNative__J+82)
  at android.app.NativeActivity.onStopNative (Native method)
  at android.app.NativeActivity.onStop (NativeActivity.java:237)
  at android.app.Instrumentation.callActivityOnStop (Instrumentation.java:1297)
  at android.app.Activity.performStop (Activity.java:7195)
1 Like

Solitaire with WebP compression and has no NEs - count of ANR like this is zero (here is only "
Input dispatching timed out"), looks like the reason is DefVideoAds then.
If you told that it happens when app is closing - something with this method in finalize.

I’m trying to see a pattern from the java part of the callstack, and you see above, there’s onPause(), onStop(), onDestroy().

The WebP compression question stems from the fact that the addr2line gives me WebPCopyPixels (a function I don’t think we even use!). SO no real clue there I think.

We do not use WebP compression

1 Like

@Mathias_Westerdahl I see the same thing on our internal Google Play Console as well for some of our games. Let’s see if we can together with the data collected in this post and from our own games figure out what this is.

3 Likes

Unlike the topicstarter with SCREEN_OFF my favorite ANR is "
Broadcast of Intent { act=android.intent.action.SCREEN_ON …}"

2019-01-11_11-50-26

Broadcast of Intent { act=android.intent.action.SCREEN_ON flg=0x58200010 }
Android 9, 6 users impacted 

"main" prio=5 tid=1 Native
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x74aeb550 self=0xec1cd000
  | sysTid=11578 nice=0 cgrp=default sched=0/0 handle=0xf032a494
  | state=S schedstat=( 3655555365 2721586037 13274 ) utm=270 stm=95 core=0 HZ=100
  | stack=0xff6f6000-0xff6f8000 stackSize=8MB
  | held mutexes=
  #00  pc 0000000000019d3c  /system/lib/libc.so (syscall+28)
  #01  pc 000000000001d1e7  /system/lib/libc.so (__futex_wait_ex(void volatile*, bool, int, bool, timespec const*)+86)
  #02  pc 0000000000062d57  /system/lib/libc.so (pthread_cond_wait+32)
  #03  pc 0000000000140754  /data/app/com.dragosha.hamster-lchKpf1g9n9PjY8vLgnVNw==/lib/arm/libLookYourLoot.so (???)
  #04  pc 000000000007a32b  /system/lib/libandroid_runtime.so (android::NativeCode::~NativeCode()+26)
  #05  pc 0000000000079d81  /system/lib/libandroid_runtime.so (android::unloadNativeCode_native(_JNIEnv*, _jobject*, long long)+16)
  at android.app.NativeActivity.unloadNativeCode (Native method)
  at android.app.NativeActivity.onDestroy (NativeActivity.java:195)
  at android.app.Activity.performDestroy (Activity.java:7417)
  at android.app.Instrumentation.callActivityOnDestroy (Instrumentation.java:1323)
  at android.app.ActivityThread.performDestroyActivity (ActivityThread.java:4579)
  at android.app.ActivityThread.handleDestroyActivity (ActivityThread.java:4612)
  at android.app.servertransaction.DestroyActivityItem.execute (DestroyActivityItem.java:39)
  at android.app.servertransaction.TransactionExecutor.executeLifecycleState (TransactionExecutor.java:145)
  at android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:70)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1906)
  at android.os.Handler.dispatchMessage (Handler.java:106)
  at android.os.Looper.loop (Looper.java:193)
  at android.app.ActivityThread.main (ActivityThread.java:6863)
  at java.lang.reflect.Method.invoke (Native method)
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:537)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:858)
Broadcast of Intent { act=android.intent.action.SCREEN_ON flg=0x50200010 }
|Android 8.0|4|66.7%|
|Android 7.0|2|33.3%|
	

"main" prio=5 tid=1 Native
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x74258488 self=0xe80f3000
  | sysTid=18446 nice=-10 cgrp=default sched=0/0 handle=0xebfe94a8
  | state=S schedstat=( 0 0 0 ) utm=198 stm=88 core=0 HZ=100
  | stack=0xff637000-0xff639000 stackSize=8MB
  | held mutexes=
  #00  pc 0000000000018e18  /system/lib/libc.so (syscall+28)
  #01  pc 00000000000492a5  /system/lib/libc.so (_ZL24__pthread_cond_timedwaitP23pthread_cond_internal_tP15pthread_mutex_tbPK8timespec+102)
  #02  pc 0000000000140548  /data/app/com.dragosha.hamster-Qc-whdz9yrtqYLasyzhv7A==/lib/arm/libLookYourLoot.so (???)
  #03  pc 00000000001b5683  /system/framework/arm/boot-framework.oat (Java_android_app_NativeActivity_onPauseNative__J+82)
  at android.app.NativeActivity.onPauseNative (Native method)
  at android.app.NativeActivity.onPause (NativeActivity.java:202)
  at com.dynamo.android.DefoldActivity.onPause (DefoldActivity.java:243)
  at android.app.Activity.performPause (Activity.java:7120)
  at android.app.Instrumentation.callActivityOnPause (Instrumentation.java:1408)
  at android.app.ActivityThread.performPauseActivityIfNeeded (ActivityThread.java:4064)
  at android.app.ActivityThread.performPauseActivity (ActivityThread.java:4041)
  at android.app.ActivityThread.performPauseActivity (ActivityThread.java:4015)
  at android.app.ActivityThread.handlePauseActivity (ActivityThread.java:3989)
  at android.app.ActivityThread.-wrap15 (ActivityThread.java)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1628)
  at android.os.Handler.dispatchMessage (Handler.java:105)
  at android.os.Looper.loop (Looper.java:164)
  at android.app.ActivityThread.main (ActivityThread.java:6759)
  at java.lang.reflect.Method.invoke (Native method)
  at com.android.internal.os.Zygote$MethodAndArgsCaller.run (Zygote.java:240)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:770)
2 Likes

Me too.
1.2.154

Samsung Galaxy J7 (j7y17lte), Android 8.1
Samsung Galaxy A8(2018) (jackpotlte), Android 8.0
Samsung Galaxy S10+ (beyond2), Android 9

Broadcast of Intent { act=android.intent.action.SCREEN_ON flg=0x50200010 (has extras) }

"main" prio=5 tid=1 Native
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x73944638 self=0xf307b000
  | sysTid=24954 nice=0 cgrp=default sched=0/0 handle=0xf72e24b8
  | state=S schedstat=( 0 0 0 ) utm=96 stm=39 core=2 HZ=100
  | stack=0xff69f000-0xff6a1000 stackSize=8MB
  | held mutexes=
  #00  pc 0000000000018e40  /system/lib/libc.so (syscall+28)
  #01  pc 0000000000048183  /system/lib/libc.so (__pthread_cond_timedwait(pthread_cond_internal_t*, pthread_mutex_t*, bool, timespec const*)+102)
  #02  pc 0000000000146af8  /data/app/com.laydaygames.serpentine-ex6OCvqI7a-41UGN8-jOfA==/lib/arm/libSerpentineTrail.so (???)
  #03  pc 0000000000175ba3  /system/framework/arm/boot-framework.oat (Java_android_app_NativeActivity_onPauseNative__J+82)
  at android.app.NativeActivity.onPauseNative (Native method)
  at android.app.NativeActivity.onPause (NativeActivity.java:202)
  at com.dynamo.android.DefoldActivity.onPause (DefoldActivity.java:246)
  at android.app.Activity.performPause (Activity.java:7487)
  at android.app.Instrumentation.callActivityOnPause (Instrumentation.java:1416)
  at android.app.ActivityThread.performPauseActivityIfNeeded (ActivityThread.java:4130)
  at android.app.ActivityThread.performPauseActivity (ActivityThread.java:4107)
  at android.app.ActivityThread.performPauseActivity (ActivityThread.java:4081)
  at android.app.ActivityThread.handlePauseActivity (ActivityThread.java:4055)
  at android.app.ActivityThread.-wrap16 (ActivityThread.java)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1736)
  at android.os.Handler.dispatchMessage (Handler.java:106)
  at android.os.Looper.loop (Looper.java:164)
  at android.app.ActivityThread.main (ActivityThread.java:7000)
  at java.lang.reflect.Method.invoke (Native method)
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:441)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1408)
"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=0x12e804a8 self=0xe8605e00
  | sysTid=24959 nice=9 cgrp=default sched=0/0 handle=0xea37f970
  | state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=2 HZ=100
  | stack=0xea281000-0xea283000 stackSize=1022KB
  | held mutexes=
  #00  pc 0000000000018e40  /system/lib/libc.so (syscall+28)
  #01  pc 00000000000b798d  /system/lib/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+88)
  #02  pc 000000000039a8e1  /system/lib/libart.so (art::ThreadPool::GetTask(art::Thread*)+172)
  #03  pc 000000000039a257  /system/lib/libart.so (art::ThreadPoolWorker::Run()+62)
  #04  pc 0000000000399e6d  /system/lib/libart.so (art::ThreadPoolWorker::Callback(void*)+92)
  #05  pc 00000000000487ef  /system/lib/libc.so (__pthread_start(void*)+22)
  #06  pc 000000000001b34d  /system/lib/libc.so (__start_thread+32)
"ReferenceQueueDaemon" tid=4 Waiting 
"ReferenceQueueDaemon" daemon prio=5 tid=4 Waiting
  | group="system" sCount=1 dsCount=0 flags=1 obj=0x12e805b8 self=0xe4e38000
  | sysTid=24961 nice=4 cgrp=default sched=0/0 handle=0xe24c4970
  | state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=3 HZ=100
  | stack=0xe23c2000-0xe23c4000 stackSize=1038KB
  | held mutexes=
  at java.lang.Object.wait (Native method)
- waiting on <0x071f3365> (a java.lang.Class<java.lang.ref.ReferenceQueue>)
  at java.lang.Daemons$ReferenceQueueDaemon.runInternal (Daemons.java:178)
- locked <0x071f3365> (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)
"FinalizerDaemon" tid=5 Waiting 
"FinalizerDaemon" daemon prio=5 tid=5 Waiting
  | group="system" sCount=1 dsCount=0 flags=1 obj=0x12e80640 self=0xe4e38600
  | sysTid=24962 nice=4 cgrp=default sched=0/0 handle=0xd61e9970
  | state=S schedstat=( 0 0 0 ) utm=0 stm=1 core=2 HZ=100
  | stack=0xd60e7000-0xd60e9000 stackSize=1038KB
  | held mutexes=
  at java.lang.Object.wait (Native method)
- waiting on <0x047ceceb> (a java.lang.Object)
  at java.lang.Object.wait (Object.java:422)
  at java.lang.ref.ReferenceQueue.remove (ReferenceQueue.java:188)
- locked <0x047ceceb> (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)
"FinalizerWatchdogDaemon" tid=6 Waiting 
"FinalizerWatchdogDaemon" daemon prio=5 tid=6 Waiting
  | group="system" sCount=1 dsCount=0 flags=1 obj=0x12e806c8 self=0xe4e38c00
  | sysTid=24963 nice=4 cgrp=default sched=0/0 handle=0xd60e4970
  | state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
  | stack=0xd5fe2000-0xd5fe4000 stackSize=1038KB
  | held mutexes=
  at java.lang.Object.wait (Native method)
- waiting on <0x0222aa48> (a java.lang.Daemons$FinalizerWatchdogDaemon)
  at java.lang.Daemons$FinalizerWatchdogDaemon.sleepUntilNeeded (Daemons.java:297)
- locked <0x0222aa48> (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)
"Binder:24954_1" tid=8 Native 
"Binder:24954_1" prio=5 tid=8 Native
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x12e80758 self=0xe8609a00
  | sysTid=24965 nice=0 cgrp=default sched=0/0 handle=0xd5ddc970
  | state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
  | stack=0xd5ce2000-0xd5ce4000 stackSize=1006KB
  | held mutexes=
  #00  pc 0000000000049f48  /system/lib/libc.so (__ioctl+8)
  #01  pc 000000000001e1f9  /system/lib/libc.so (ioctl+40)
  #02  pc 0000000000042839  /system/lib/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+204)
  #03  pc 0000000000042949  /system/lib/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+8)
  #04  pc 0000000000042ea3  /system/lib/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+38)
  #05  pc 00000000000583b5  /system/lib/libbinder.so (???)
  #06  pc 000000000000d235  /system/lib/libutils.so (android::Thread::_threadLoop(void*)+148)
  #07  pc 0000000000075119  /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+80)
  #08  pc 00000000000487ef  /system/lib/libc.so (__pthread_start(void*)+22)
  #09  pc 000000000001b34d  /system/lib/libc.so (__start_thread+32)
"Binder:24954_2" tid=9 Native 
"Binder:24954_2" prio=5 tid=9 Native
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x12e807e0 self=0xe86f4600
  | sysTid=24966 nice=0 cgrp=default sched=0/0 handle=0xd5cdf970
  | state=S schedstat=( 0 0 0 ) utm=0 stm=2 core=1 HZ=100
  | stack=0xd5be5000-0xd5be7000 stackSize=1006KB
  | held mutexes=
  #00  pc 0000000000049f48  /system/lib/libc.so (__ioctl+8)
  #01  pc 000000000001e1f9  /system/lib/libc.so (ioctl+40)
  #02  pc 0000000000042839  /system/lib/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+204)
  #03  pc 0000000000042949  /system/lib/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+8)
  #04  pc 0000000000042ea3  /system/lib/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+38)
  #05  pc 00000000000583b5  /system/lib/libbinder.so (???)
  #06  pc 000000000000d235  /system/lib/libutils.so (android::Thread::_threadLoop(void*)+148)
  #07  pc 0000000000075119  /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+80)
  #08  pc 00000000000487ef  /system/lib/libc.so (__pthread_start(void*)+22)
  #09  pc 000000000001b34d  /system/lib/libc.so (__start_thread+32)
"Profile Saver" tid=10 Native 
"Profile Saver" daemon prio=5 tid=10 Native
  | group="system" sCount=1 dsCount=0 flags=1 obj=0x12e80868 self=0xea3d4600
  | sysTid=24967 nice=9 cgrp=default sched=0/0 handle=0xd54ca970
  | state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=3 HZ=100
  | stack=0xd53d0000-0xd53d2000 stackSize=1006KB
  | held mutexes=
  #00  pc 0000000000018e40  /system/lib/libc.so (syscall+28)
  #01  pc 00000000000b798d  /system/lib/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+88)
  #02  pc 000000000027a989  /system/lib/libart.so (art::ProfileSaver::Run()+344)
  #03  pc 000000000027cca3  /system/lib/libart.so (art::ProfileSaver::RunProfileSaverThread(void*)+50)
  #04  pc 00000000000487ef  /system/lib/libc.so (__pthread_start(void*)+22)
  #05  pc 000000000001b34d  /system/lib/libc.so (__start_thread+32)
"ConnectivityThread" tid=11 Native 
"ConnectivityThread" prio=7 tid=11 Native
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x12e81718 self=0xd2fe7a00
  | sysTid=25143 nice=0 cgrp=default sched=0/0 handle=0xcce5c970
  | state=S schedstat=( 0 0 0 ) utm=5 stm=1 core=2 HZ=100
  | stack=0xccd5a000-0xccd5c000 stackSize=1038KB
  | held mutexes=
  #00  pc 0000000000049e0c  /system/lib/libc.so (__epoll_pwait+20)
  #01  pc 000000000001b77d  /system/lib/libc.so (epoll_pwait+60)
  #02  pc 000000000001b7ad  /system/lib/libc.so (epoll_wait+12)
  #03  pc 000000000001008b  /system/lib/libutils.so (android::Looper::pollInner(int)+118)
  #04  pc 000000000000ff7d  /system/lib/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+32)
  #05  pc 00000000000bb791  /system/lib/libandroid_runtime.so (android::NativeMessageQueue::pollOnce(_JNIEnv*, _jobject*, int)+24)
  #06  pc 0000000000175fd5  /system/framework/arm/boot-framework.oat (Java_android_os_MessageQueue_nativePollOnce__JI+92)
  at android.os.MessageQueue.nativePollOnce (Native method)
  at android.os.MessageQueue.next (MessageQueue.java:325)
  at android.os.Looper.loop (Looper.java:142)
  at android.os.HandlerThread.run (HandlerThread.java:65)
"Okio Watchdog" tid=13 Waiting 
"Okio Watchdog" daemon prio=10 tid=13 Waiting
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x12e80a28 self=0xea3c0a00
  | sysTid=25069 nice=-8 cgrp=default sched=0/0 handle=0xd49ff970
  | state=S schedstat=( 0 0 0 ) utm=2 stm=3 core=3 HZ=100
  | stack=0xd48fd000-0xd48ff000 stackSize=1038KB
  | held mutexes=
  at java.lang.Object.wait (Native method)
- waiting on <0x0454a0e1> (a java.lang.Class<com.android.okhttp.okio.AsyncTimeout>)
  at com.android.okhttp.okio.AsyncTimeout.awaitTimeout (AsyncTimeout.java:311)
- locked <0x0454a0e1> (a java.lang.Class<com.android.okhttp.okio.AsyncTimeout>)
  at com.android.okhttp.okio.AsyncTimeout.-wrap0 (AsyncTimeout.java)
  at com.android.okhttp.okio.AsyncTimeout$Watchdog.run (AsyncTimeout.java:286)
"Chrome_ProcessLauncherThread" tid=14 Native 
"Chrome_ProcessLauncherThread" prio=5 tid=14 Native
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x12e80ae0 self=0xd532f200
  | sysTid=25087 nice=0 cgrp=default sched=0/0 handle=0xca801970
  | state=S schedstat=( 0 0 0 ) utm=1 stm=0 core=3 HZ=100
  | stack=0xca6ff000-0xca701000 stackSize=1038KB
  | held mutexes=
  #00  pc 0000000000049e0c  /system/lib/libc.so (__epoll_pwait+20)
  #01  pc 000000000001b77d  /system/lib/libc.so (epoll_pwait+60)
  #02  pc 000000000001b7ad  /system/lib/libc.so (epoll_wait+12)
  #03  pc 000000000001008b  /system/lib/libutils.so (android::Looper::pollInner(int)+118)
  #04  pc 000000000000ff7d  /system/lib/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+32)
  #05  pc 00000000000bb791  /system/lib/libandroid_runtime.so (android::NativeMessageQueue::pollOnce(_JNIEnv*, _jobject*, int)+24)
  #06  pc 0000000000175fd5  /system/framework/arm/boot-framework.oat (Java_android_os_MessageQueue_nativePollOnce__JI+92)
  at android.os.MessageQueue.nativePollOnce (Native method)
  at android.os.MessageQueue.next (MessageQueue.java:325)
  at android.os.Looper.loop (Looper.java:142)
  at android.os.HandlerThread.run (HandlerThread.java:65)
"GoogleApiHandler" tid=17 Native 
"GoogleApiHandler" prio=5 tid=17 Native
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x12e80bc8 self=0xea3bfe00
  | sysTid=25089 nice=9 cgrp=default sched=0/0 handle=0xca4f2970
  | state=S schedstat=( 0 0 0 ) utm=0 stm=1 core=3 HZ=100
  | stack=0xca3f0000-0xca3f2000 stackSize=1038KB
  | held mutexes=
  #00  pc 0000000000049e0c  /system/lib/libc.so (__epoll_pwait+20)
  #01  pc 000000000001b77d  /system/lib/libc.so (epoll_pwait+60)
  #02  pc 000000000001b7ad  /system/lib/libc.so (epoll_wait+12)
  #03  pc 000000000001008b  /system/lib/libutils.so (android::Looper::pollInner(int)+118)
  #04  pc 000000000000ff7d  /system/lib/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+32)
  #05  pc 00000000000bb791  /system/lib/libandroid_runtime.so (android::NativeMessageQueue::pollOnce(_JNIEnv*, _jobject*, int)+24)
  #06  pc 0000000000175fd5  /system/framework/arm/boot-framework.oat (Java_android_os_MessageQueue_nativePollOnce__JI+92)
  at android.os.MessageQueue.nativePollOnce (Native method)
  at android.os.MessageQueue.next (MessageQueue.java:325)
  at android.os.Looper.loop (Looper.java:142)
  at android.os.HandlerThread.run (HandlerThread.java:65)
"Chrome_IOThread" tid=18 Native 
"Chrome_IOThread" prio=7 tid=18 Native
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x12e80cb0 self=0xcfa31c00
  | sysTid=25110 nice=-4 cgrp=default sched=0/0 handle=0xc99b2970
  | state=S schedstat=( 0 0 0 ) utm=14 stm=6 core=3 HZ=100
  | stack=0xc98b8000-0xc98ba000 stackSize=1006KB
  | held mutexes=
  #00  pc 0000000000049e0c  /system/lib/libc.so (__epoll_pwait+20)
  #01  pc 000000000001b77d  /system/lib/libc.so (epoll_pwait+60)
  #02  pc 000000000001b7ad  /system/lib/libc.so (epoll_wait+12)
  #03  pc 00000000017b3783  /data/app/com.android.chrome-sAdluQ16Kn8VM214RAb5eA==/base.apk (???)
"PlatformServiceBridgeHandlerThread" tid=19 Native 
"PlatformServiceBridgeHandlerThread" prio=5 tid=19 Native
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x12e80d38 self=0xd2fe6200
  | sysTid=25117 nice=0 cgrp=default sched=0/0 handle=0xc94c1970
  | state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=1 HZ=100
  | stack=0xc93bf000-0xc93c1000 stackSize=1038KB
  | held mutexes=
  #00  pc 0000000000049e0c  /system/lib/libc.so (__epoll_pwait+20)
  #01  pc 000000000001b77d  /system/lib/libc.so (epoll_pwait+60)
  #02  pc 000000000001b7ad  /system/lib/libc.so (epoll_wait+12)
  #03  pc 000000000001008b  /system/lib/libutils.so (android::Looper::pollInner(int)+118)
  #04  pc 000000000000ff7d  /system/lib/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+32)
  #05  pc 00000000000bb791  /system/lib/libandroid_runtime.so (android::NativeMessageQueue::pollOnce(_JNIEnv*, _jobject*, int)+24)
  #06  pc 0000000000175fd5  /system/framework/arm/boot-framework.oat (Java_android_os_MessageQueue_nativePollOnce__JI+92)
  at android.os.MessageQueue.nativePollOnce (Native method)
  at android.os.MessageQueue.next (MessageQueue.java:325)
  at android.os.Looper.loop (Looper.java:142)
  at android.os.HandlerThread.run (HandlerThread.java:65)
"GAC_Executor[0]" tid=21 Waiting 
"GAC_Executor[0]" prio=5 tid=21 Waiting
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x12e80e20 self=0xd4a72000
  | sysTid=25118 nice=0 cgrp=default sched=0/0 handle=0xc93bc970
  | state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=1 HZ=100
  | stack=0xc92ba000-0xc92bc000 stackSize=1038KB
  | held mutexes=
  at java.lang.Object.wait (Native method)
- waiting on <0x00133e06> (a java.lang.Object)
  at java.lang.Thread.parkFor$ (Thread.java:2137)
- locked <0x00133e06> (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.locks.AbstractQueuedSynchronizer$ConditionObject.await (AbstractQueuedSynchronizer.java:2059)
  at java.util.concurrent.LinkedBlockingQueue.take (LinkedBlockingQueue.java:442)
  at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1087)
  at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1147)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:636)
  at Oe.run (PG:5)
  at java.lang.Thread.run (Thread.java:764)
"CleanupReference" tid=22 Waiting 
"CleanupReference" daemon prio=5 tid=22 Waiting
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x12e81068 self=0xd2fe7400
  | sysTid=25119 nice=0 cgrp=default sched=0/0 handle=0xc92b7970
  | state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=2 HZ=100
  | stack=0xc91b5000-0xc91b7000 stackSize=1038KB
  | held mutexes=
  at java.lang.Object.wait (Native method)
- waiting on <0x03bb6cc7> (a java.lang.Object)
  at java.lang.Object.wait (Object.java:422)
  at java.lang.ref.ReferenceQueue.remove (ReferenceQueue.java:188)
- locked <0x03bb6cc7> (a java.lang.Object)
  at java.lang.ref.ReferenceQueue.remove (ReferenceQueue.java:209)
  at aJg.run (PG:3)
"AudioThread" tid=23 Native 
"AudioThread" prio=5 tid=23 Native
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x12e81320 self=0xd4a75c00
  | sysTid=25112 nice=0 cgrp=default sched=0/0 handle=0xc98b5970
  | state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=2 HZ=100
  | stack=0xc97bb000-0xc97bd000 stackSize=1006KB
  | held mutexes=
  #00  pc 0000000000018e40  /system/lib/libc.so (syscall+28)
  #01  pc 0000000000048183  /system/lib/libc.so (__pthread_cond_timedwait(pthread_cond_internal_t*, pthread_mutex_t*, bool, timespec const*)+102)
  #02  pc 00000000018ee4e1  /data/app/com.android.chrome-sAdluQ16Kn8VM214RAb5eA==/base.apk (???)
"Chrome_InProcGpuThread" tid=24 Native 
"Chrome_InProcGpuThread" prio=7 tid=24 Native
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x12e813a8 self=0xccc98400
  | sysTid=25121 nice=-4 cgrp=default sched=0/0 handle=0xccb82970
  | state=S schedstat=( 0 0 0 ) utm=12 stm=4 core=1 HZ=100
  | stack=0xcca88000-0xcca8a000 stackSize=1006KB
  | held mutexes=
  #00  pc 0000000000018e44  /system/lib/libc.so (syscall+32)
  #01  pc 0000000000048183  /system/lib/libc.so (__pthread_cond_timedwait(pthread_cond_internal_t*, pthread_mutex_t*, bool, timespec const*)+102)
  #02  pc 00000000017b81ff  /data/app/com.android.chrome-sAdluQ16Kn8VM214RAb5eA==/base.apk (???)
"TaskSchedulerFo" tid=25 Native 
"TaskSchedulerFo" prio=5 tid=25 Native
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x12e81430 self=0xc906d000
  | sysTid=25109 nice=0 cgrp=default sched=0/0 handle=0xc9aaf970
  | state=S schedstat=( 0 0 0 ) utm=0 stm=1 core=2 HZ=100
  | stack=0xc99b5000-0xc99b7000 stackSize=1006KB
  | held mutexes=
  #00  pc 0000000000018e44  /system/lib/libc.so (syscall+32)
  #01  pc 0000000000048183  /system/lib/libc.so (__pthread_cond_timedwait(pthread_cond_internal_t*, pthread_mutex_t*, bool, timespec const*)+102)
  #02  pc 00000000017b81ff  /data/app/com.android.chrome-sAdluQ16Kn8VM214RAb5eA==/base.apk (???)
"Binder:24954_3" tid=26 Native 
"Binder:24954_3" prio=5 tid=26 Native
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x12e814b8 self=0xcfa33a00
  | sysTid=25123 nice=0 cgrp=default sched=0/0 handle=0xc8f7f970
  | state=S schedstat=( 0 0 0 ) utm=1 stm=1 core=1 HZ=100
  | stack=0xc8e85000-0xc8e87000 stackSize=1006KB
  | held mutexes=
  #00  pc 0000000000049f48  /system/lib/libc.so (__ioctl+8)
  #01  pc 000000000001e1f9  /system/lib/libc.so (ioctl+40)
  #02  pc 0000000000042839  /system/lib/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+204)
  #03  pc 0000000000042949  /system/lib/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+8)
  #04  pc 0000000000042ea3  /system/lib/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+38)
  #05  pc 00000000000583b5  /system/lib/libbinder.so (???)
  #06  pc 000000000000d235  /system/lib/libutils.so (android::Thread::_threadLoop(void*)+148)
  #07  pc 0000000000075119  /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+80)
  #08  pc 00000000000487ef  /system/lib/libc.so (__pthread_start(void*)+22)
  #09  pc 000000000001b34d  /system/lib/libc.so (__start_thread+32)
"GAC_Executor[1]" tid=27 Waiting 
"GAC_Executor[1]" prio=5 tid=27 Waiting
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x12e81540 self=0xd4a72600
  | sysTid=25126 nice=0 cgrp=default sched=0/0 handle=0xc8cff970
  | state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=3 HZ=100
  | stack=0xc8bfd000-0xc8bff000 stackSize=1038KB
  | held mutexes=
  at java.lang.Object.wait (Native method)
- waiting on <0x0f196a1d> (a java.lang.Object)
  at java.lang.Thread.parkFor$ (Thread.java:2137)
- locked <0x0f196a1d> (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.locks.AbstractQueuedSynchronizer$ConditionObject.await (AbstractQueuedSynchronizer.java:2059)
  at java.util.concurrent.LinkedBlockingQueue.take (LinkedBlockingQueue.java:442)
  at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1087)
  at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1147)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:636)
  at Oe.run (PG:5)
  at java.lang.Thread.run (Thread.java:764)
"JavaBridge" tid=28 Native 
"JavaBridge" prio=7 tid=28 Native
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x12e81630 self=0xcfb64e00
  | sysTid=25141 nice=0 cgrp=default sched=0/0 handle=0xc8bfa970
  | state=S schedstat=( 0 0 0 ) utm=18 stm=3 core=2 HZ=100
  | stack=0xc8af8000-0xc8afa000 stackSize=1038KB
  | held mutexes=
  #00  pc 0000000000049e0c  /system/lib/libc.so (__epoll_pwait+20)
  #01  pc 000000000001b77d  /system/lib/libc.so (epoll_pwait+60)
  #02  pc 000000000001b7ad  /system/lib/libc.so (epoll_wait+12)
  #03  pc 000000000001008b  /system/lib/libutils.so (android::Looper::pollInner(int)+118)
  #04  pc 000000000000ff7d  /system/lib/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+32)
  #05  pc 00000000000bb791  /system/lib/libandroid_runtime.so (android::NativeMessageQueue::pollOnce(_JNIEnv*, _jobject*, int)+24)
  #06  pc 0000000000175fd5  /system/framework/arm/boot-framework.oat (Java_android_os_MessageQueue_nativePollOnce__JI+92)
  at android.os.MessageQueue.nativePollOnce (Native method)
  at android.os.MessageQueue.next (MessageQueue.java:325)
  at android.os.Looper.loop (Looper.java:142)
  at android.os.HandlerThread.run (HandlerThread.java:65)
"pool-2-thread-1" tid=29 Waiting 
"pool-2-thread-1" prio=5 tid=29 Waiting
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x12e81800 self=0xcfb65a00
  | sysTid=25144 nice=0 cgrp=default sched=0/0 handle=0xc888c970
  | state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=3 HZ=100
  | stack=0xc878a000-0xc878c000 stackSize=1038KB
  | held mutexes=
  at java.lang.Object.wait (Native method)
- waiting on <0x0b953492> (a java.lang.Object)
  at java.lang.Thread.parkFor$ (Thread.java:2137)
- locked <0x0b953492> (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.locks.AbstractQueuedSynchronizer$ConditionObject.await (AbstractQueuedSynchronizer.java:2059)
  at java.util.concurrent.LinkedBlockingQueue.take (LinkedBlockingQueue.java:442)
  at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1087)
  at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1147)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:636)
  at java.lang.Thread.run (Thread.java:764)
"pool-2-thread-2" tid=30 Waiting 
"pool-2-thread-2" prio=5 tid=30 Waiting
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x12e81988 self=0xcfe07400
  | sysTid=25145 nice=0 cgrp=default sched=0/0 handle=0xc8787970
  | state=S schedstat=( 0 0 0 ) utm=3 stm=0 core=3 HZ=100
  | stack=0xc8685000-0xc8687000 stackSize=1038KB
  | held mutexes=
  at java.lang.Object.wait (Native method)
- waiting on <0x0f780e63> (a java.lang.Object)
  at java.lang.Thread.parkFor$ (Thread.java:2137)
- locked <0x0f780e63> (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.locks.AbstractQueuedSynchronizer$ConditionObject.await (AbstractQueuedSynchronizer.java:2059)
  at java.util.concurrent.LinkedBlockingQueue.take (LinkedBlockingQueue.java:442)
  at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1087)
  at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1147)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:636)
  at java.lang.Thread.run (Thread.java:764)
"pool-2-thread-3" tid=31 Waiting 
"pool-2-thread-3" prio=5 tid=31 Waiting
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x12e81a68 self=0xcfe07a00
  | sysTid=25146 nice=0 cgrp=default sched=0/0 handle=0xc8682970
  | state=S schedstat=( 0 0 0 ) utm=3 stm=1 core=1 HZ=100
  | stack=0xc8580000-0xc8582000 stackSize=1038KB
  | held mutexes=
  at java.lang.Object.wait (Native method)
- waiting on <0x0e127a60> (a java.lang.Object)
  at java.lang.Thread.parkFor$ (Thread.java:2137)
- locked <0x0e127a60> (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.locks.AbstractQueuedSynchronizer$ConditionObject.await (AbstractQueuedSynchronizer.java:2059)
  at java.util.concurrent.LinkedBlockingQueue.take (LinkedBlockingQueue.java:442)
  at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1087)
  at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1147)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:636)
  at java.lang.Thread.run (Thread.java:764)
"pool-2-thread-4" tid=32 Waiting 
"pool-2-thread-4" prio=5 tid=32 Waiting
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x12e81b48 self=0xcfe2a000
  | sysTid=25147 nice=0 cgrp=default sched=0/0 handle=0xc857d970
  | state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=3 HZ=100
  | stack=0xc847b000-0xc847d000 stackSize=1038KB
  | held mutexes=
  at java.lang.Object.wait (Native method)
- waiting on <0x05678b19> (a java.lang.Object)
  at java.lang.Thread.parkFor$ (Thread.java:2137)
- locked <0x05678b19> (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.locks.AbstractQueuedSynchronizer$ConditionObject.await (AbstractQueuedSynchronizer.java:2059)
  at java.util.concurrent.LinkedBlockingQueue.take (LinkedBlockingQueue.java:442)
  at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1087)
  at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1147)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:636)
  at java.lang.Thread.run (Thread.java:764)
"pool-2-thread-5" tid=33 Waiting 
"pool-2-thread-5" prio=5 tid=33 Waiting
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x12e81c28 self=0xcfe2a600
  | sysTid=25148 nice=0 cgrp=default sched=0/0 handle=0xc8478970
  | state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=3 HZ=100
  | stack=0xc8376000-0xc8378000 stackSize=1038KB
  | held mutexes=
  at java.lang.Object.wait (Native method)
- waiting on <0x07ce07de> (a java.lang.Object)
  at java.lang.Thread.parkFor$ (Thread.java:2137)
- locked <0x07ce07de> (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.locks.AbstractQueuedSynchronizer$ConditionObject.await (AbstractQueuedSynchronizer.java:2059)
  at java.util.concurrent.LinkedBlockingQueue.take (LinkedBlockingQueue.java:442)
  at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1087)
  at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1147)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:636)
  at java.lang.Thread.run (Thread.java:764)
"pool-2-thread-6" tid=34 Waiting 
"pool-2-thread-6" prio=5 tid=34 Waiting
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x12e81d08 self=0xcfe2ac00
  | sysTid=25149 nice=0 cgrp=default sched=0/0 handle=0xc8373970
  | state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=3 HZ=100
  | stack=0xc8271000-0xc8273000 stackSize=1038KB
  | held mutexes=
  at java.lang.Object.wait (Native method)
- waiting on <0x0e94dc8c> (a java.lang.Object)
  at java.lang.Thread.parkFor$ (Thread.java:2137)
- locked <0x0e94dc8c> (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.locks.AbstractQueuedSynchronizer$ConditionObject.await (AbstractQueuedSynchronizer.java:2059)
  at java.util.concurrent.LinkedBlockingQueue.take (LinkedBlockingQueue.java:442)
  at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1087)
  at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1147)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:636)
  at java.lang.Thread.run (Thread.java:764)
"pool-2-thread-7" tid=35 Waiting 
"pool-2-thread-7" prio=5 tid=35 Waiting
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x12e81de8 self=0xcfe2b200
  | sysTid=25150 nice=0 cgrp=default sched=0/0 handle=0xc826e970
  | state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=3 HZ=100
  | stack=0xc816c000-0xc816e000 stackSize=1038KB
  | held mutexes=
  at java.lang.Object.wait (Native method)
- waiting on <0x00dcbfd5> (a java.lang.Object)
  at java.lang.Thread.parkFor$ (Thread.java:2137)
- locked <0x00dcbfd5> (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.locks.AbstractQueuedSynchronizer$ConditionObject.await (AbstractQueuedSynchronizer.java:2059)
  at java.util.concurrent.LinkedBlockingQueue.take (LinkedBlockingQueue.java:442)
  at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1087)
  at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1147)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run 
2 Likes

What’s the ANR percentage now? I assume it has decreased since we fixed a few ANR reasons (os.exit, sound, dns lookup).

1 Like