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

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

Just once.

@britzl any decision here?
I forked ironsource ext

Also for comfort using divided into several exts with ironsource adapters

After release we got ANR Broadcast of Intent { act=android.intent.action.SCREEN_OFF flg=0x58200010 }

Last week ANR stats for this issue:
image

Any decision on what specifically?

:+1:

Makes a lot of sense!

ANRs are notoriously hard to avoid completely. Can these ANRs be directly traced to the extension? At a specific time when using the extension?

Decision on this ANR, possible ways of emmerging?

No other minor changes were made, this is the only new native extention and ANR’s appeared after new release, can’t reproduse on my devices.

An ANR, as you know, means that something is blocking the UI/main thread for too long. We’ve seen numerous ANRs caused by various ad integrations, analytics services etc. It is very likely that this is caused by something in IronSource or one of the adapters.

We have not made any changes to the Android runtime, BUT we have migrated from the old deprecated DX dex tool to the new D8 tool. This will have an impact on how the APK is constructed and it could potential explain why you are seeing a problem now and not before. You can verify this by testing with 1.2.184 which was the release prior to the move to D8.

2 Likes