Blankj / AndroidUtilCode

:fire: Android developers should collect the following utils(updating).
https://blankj.com/2016/07/31/android-utils-code/
Apache License 2.0
33.32k stars 10.69k forks source link

设备熄屏后,等待较长时间,然后亮屏,出现ANR的问题 #1804

Open yangfeng1994 opened 7 months ago

yangfeng1994 commented 7 months ago

描述 Bug

简洁地描述下 Bug。

设备长时间熄屏,activity一直处于onStop状态,过了较长一段时间(1小时以上),然后亮屏,由于activity 的 window 没有就绪,获取window 会有耗时,所以会导致出现anr

相关代码

UtilsActivityLifecycleImpl.processHideSoftInputOnActivityDestroy

异常堆栈

anr traces:
generate begin time: 2024-04-10 12:22:24
[DEBUG] dump art internal: 157
[DEBUG] VMExt: 0xebdc21d0, i: 72, str: 0
[DEBUG] aborting: 0x0, 0
[DEBUG] Dump: 0x0, State: 0xeb9809f9, JavaStack: 0xeb984449
[DEBUG] current: 0xe84c2a10, pid: 13775
[DEBUG] List: 0xeb3c4330
[DEBUG] Each: 0xeb998a89
[DEBUG] err: 0xec0beee8
[DEBUG] begin each
[DEBUG] dumping 0xe84c2a10 ...
"main" prio=5 tid=1 Runnable
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x70e3a3a0 self=0xe84c2a10
  | sysTid=11187 nice=-10 cgrp=default sched=0/0 handle=0xf1208470
  | state=? schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
  | stack=0xff227000-0xff229000 stackSize=8192KB
  | held mutexes= "mutator lock"(shared held)
  at com.blankj.utilcode.util.UtilsActivityLifecycleImpl.processHideSoftInputOnActivityDestroy(UtilsActivityLifecycleImpl.java:318)
  at com.blankj.utilcode.util.UtilsActivityLifecycleImpl.onActivityResumed(UtilsActivityLifecycleImpl.java:238)
  at android.app.Application.dispatchActivityResumed(Application.java:436)
  at android.app.Activity.dispatchActivityResumed(Activity.java:1379)
  at android.app.Activity.onResume(Activity.java:1905)
  at androidx.fragment.app.FragmentActivity.onResume(FragmentActivity.java:434)
  at com.tkmk.sdk.baseapp.BaseActivity.onResume(BaseActivity.java:242)
  at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1456)
  at java.lang.reflect.Method.invoke(Method.java)
  at com.android.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:45)
  at com.android.tony.defenselib.hook.InstrumentationProxy.intercept(InstrumentationProxy.java:42)
  at com.android.cglib.proxy.MethodProxyExecuter.executeInterceptor(MethodProxyExecuter.java:15)
  at android.app.Instrumentation$Enhancer$.callActivityOnResume(Instrumentation.java:-1)
  at android.app.Activity.performResume(Activity.java:8135)
  at android.app.ActivityThread.performResumeActivity(ActivityThread.java:4470)
  at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:4512)
  at android.app.servertransaction.ResumeActivityItem.execute(ResumeActivityItem.java:52)
  at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:176)
  at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2105)
  at com.android.tony.defenselib.hook.HookHandler.lambda$hook$0(HookHandler.java:49)
  at com.android.tony.defenselib.hook.HookHandler.a(HookHandler.java:-1)
  at com.android.tony.defenselib.hook.-$$Lambda$HookHandler$e5vSKCYPeBshlqy07ebY9GZrMJ4.handleMessage(-.java:-1)
  at android.os.Handler.dispatchMessage(Handler.java:102)
  at android.os.Looper.loop(Looper.java:223)
  at android.app.ActivityThread.main(ActivityThread.java:7703)
  at java.lang.reflect.Method.invoke(Method.java)
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:612)
  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:997)

"Signal Catcher" daemon prio=10 tid=6 WaitingInMainSignalCatcherLoop
  | group="system" sCount=0 dsCount=0 flags=0 obj=0x12d401b0 self=0xe84c6210
  | sysTid=11197 nice=-20 cgrp=default sched=0/0 handle=0xd8eee1c0
  | state=? schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
  | stack=0xd8df3000-0xd8df5000 stackSize=1008KB
  | held mutexes=
  (no managed stack frames)

"Jit thread pool worker thread 0" daemon prio=5 tid=7 Runnable
  | group="system" sCount=0 dsCount=0 flags=0 obj=0x12d40228 self=0xe84c4610
  | sysTid=11198 nice=0 cgrp=default sched=0/0 handle=0xd8df0d60
  | state=? schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
  | stack=0xd8cf2000-0xd8cf4000 stackSize=1023KB
  | held mutexes= "mutator lock"(shared held)
  (no managed stack frames)

"HeapTaskDaemon" daemon prio=5 tid=8 WaitingPerformingGc
  | group="system" sCount=0 dsCount=0 flags=0 obj=0x12d4f110 self=0xe84c3810
  | sysTid=11199 nice=4 cgrp=default sched=0/0 handle=0xd8cec1c0
  | state=? schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
  | stack=0xd8be9000-0xd8beb000 stackSize=1040KB
  | held mutexes= "mutator lock"(shared held)
  at dalvik.system.VMRuntime.runHeapTasks(VMRuntime.java)
  at java.lang.Daemons$HeapTaskDaemon.runInternal(Daemons.java:531)
  at java.lang.Daemons$Daemon.run(Daemons.java:139)
  at java.lang.Thread.run(Thread.java:923)

"ReferenceQueueDaemon" daemon prio=5 tid=9 Waiting
  | group="system" sCount=0 dsCount=0 flags=0 obj=0x12d402a0 self=0xe84c7e10
  | sysTid=11200 nice=4 cgrp=default sched=0/0 handle=0xc2b3c1c0
  | state=? schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
  | stack=0xc2a39000-0xc2a3b000 stackSize=1040KB
  | held mutexes=
  at java.lang.Object.wait(Object.java)
  - waiting on <0x00b1f0bb> (a java.lang.Class<java.lang.ref.ReferenceQueue>)
  at java.lang.Object.wait(Object.java:442)
  at java.lang.Object.wait(Object.java:568)
  at java.lang.Daemons$ReferenceQueueDaemon.runInternal(Daemons.java:217)
  at java.lang.Daemons$Daemon.run(Daemons.java:139)
  at java.lang.Thread.run(Thread.java:923)

"FinalizerDaemon" daemon prio=5 tid=10 Waiting
  | group="system" sCount=0 dsCount=0 flags=0 obj=0x12d40318 self=0xe84c8c10
  | sysTid=11201 nice=4 cgrp=default sched=0/0 handle=0xc2a331c0
  | state=? schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
  | stack=0xc2930000-0xc2932000 stackSize=1040KB
  | held mutexes=
  at java.lang.Object.wait(Object.java)
  - waiting on <0x0ebea9d8> (a java.lang.Object)
  at java.lang.Object.wait(Object.java:442)
  at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:190)
  at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:211)
  at java.lang.Daemons$FinalizerDaemon.runInternal(Daemons.java:273)
  at java.lang.Daemons$Daemon.run(Daemons.java:139)
  at java.lang.Thread.run(Thread.java:923)

"FinalizerWatchdogDaemon" daemon prio=5 tid=11 Waiting
  | group="system" sCount=0 dsCount=0 flags=0 obj=0x12d40390 self=0xe84cc410
  | sysTid=11202 nice=4 cgrp=default sched=0/0 handle=0xc292a1c0
  | state=? schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
  | stack=0xc2827000-0xc2829000 stackSize=1040KB
  | held mutexes=
  at java.lang.Object.wait(Object.java)
  - waiting on <0x03fe5131> (a java.lang.Daemons$FinalizerWatchdogDaemon)
  at java.lang.Object.wait(Object.java:442)
  at java.lang.Object.wait(Object.java:568)
  at java.lang.Daemons$FinalizerWatchdogDaemon.sleepUntilNeeded(Daemons.java:341)
  at java.lang.Daemons$FinalizerWatchdogDaemon.runInternal(Daemons.java:321)
  at java.lang.Daemons$Daemon.run(Daemons.java:139)
  at java.lang.Thread.run(Thread.java:923)

"Binder:11187_1" prio=5 tid=12 Native
  | group="main" sCount=0 dsCount=0 flags=0 obj=0x12d40410 self=0xe84ce010
  | sysTid=11203 nice=0 cgrp=default sched=0/0 handle=0xc27231c0
  | state=? schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
  | stack=0xc2628000-0xc262a000 stackSize=1008KB
  | held mutexes=
  (no managed stack frames)

"Binder:11187_2" prio=5 tid=13 Native
  | group="main" sCount=0 dsCount=0 flags=0 obj=0x12d40488 self=0xe84c7010
  | sysTid=11204 nice=0 cgrp=default sched=0/0 handle=0xc26221c0
  | state=? schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
  | stack=0xc2527000-0xc2529000 stackSize=1008KB
  | held mutexes=
  (no managed stack frames)

"Binder:11187_3" prio=5 tid=14 Native
  | group="main" sCount=0 dsCount=0 flags=0 obj=0x12d40500 self=0xe84d3410
  | sysTid=11205 nice=0 cgrp=default sched=0/0 handle=0xc25211c0
  | state=? schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
  | stack=0xc2426000-0xc2428000 stackSize=1008KB
  | held mutexes=
  (no managed stack frames)

"Binder:11187_4" prio=5 tid=15 Native
  | group="main" sCount=0 dsCount=0 flags=0 obj=0x12d40578 self=0xe84cee10
  | sysTid=11206 nice=0 cgrp=default sched=0/0 handle=0xc24201c0
  | state=? schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
  | stack=0xc2325000-0xc2327000 stackSize=1008KB
  | held mutexes=
  (no managed stack frames)

"Profile Saver" daemon prio=5 tid=16 WaitingForGcToComplete
  | group="system" sCount=0 dsCount=0 flags=0 obj=0x12d405f0 self=0xe84d4210
  | sysTid=11207 nice=0 cgrp=default sched=0/0 handle=0xbfcbf1c0
  | state=? schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
  | stack=0xbfbc4000-0xbfbc6000 stackSize=1008KB
  | held mutexes=
  (no managed stack frames)

"pool-4-thread-1" prio=5 tid=17 Waiting
  | group="main" sCount=0 dsCount=0 flags=0 obj=0x12d40668 self=0xe84d2610
  | sysTid=11211 nice=0 cgrp=default sched=0/0 handle=0xbfa3c1c0
  | state=? schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
  | stack=0xbf939000-0xbf93b000 stackSize=1040KB
  | held mutexes=
  at sun.misc.Unsafe.park(Unsafe.java)
  - waiting on an unknown object
  at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
  at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
  at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
  at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
  at java.lang.Thread.run(Thread.java:923)

"Timer-0" prio=5 tid=18 Waiting
  | group="main" sCount=0 dsCount=0 flags=0 obj=0x12d407d8 self=0xe84d8810
  | sysTid=11213 nice=0 cgrp=default sched=0/0 handle=0xbf9331c0
  | state=? schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
  | stack=0xbf830000-0xbf832000 stackSize=1040KB
  | held mutexes=
  at java.lang.Object.wait(Object.java)
  - waiting on <0x0cebb016> (a java.util.TaskQueue)
  at java.lang.Object.wait(Object.java:442)
  at java.lang.Object.wait(Object.java:568)
  at java.util.TimerThread.mainLoop(TimerThread.java:533)
  at java.util.TimerThread.run(TimerThread.java:512)

"pool-4-thread-2" prio=5 tid=20 Waiting
  | group="main" sCount=0 dsCount=0 flags=0 obj=0x12d40b20 self=0xe84d5010
  | sysTid=11215 nice=0 cgrp=default sched=0/0 handle=0xbf7211c0
  | state=? schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
  | stack=0xbf61e000-0xbf620000 stackSize=1040KB
  | held mutexes=
  at sun.misc.Unsafe.park(Unsafe.java)
  - waiting on an unknown object
  at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
  at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
  at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
  at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
  at java.lang.Thread.run(Thread.java:923)

"ARouter task pool No.1, thread No.1" prio=5 tid=21 Waiting
  | group="main" sCount=0 dsCount=0 flags=0 obj=0x12d40be8 self=0xe84d0a10
  | sysTid=11217 nice=0 cgrp=default sched=0/0 handle=0xbf4811c0
  | state=? schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
  | stack=0xbf37e000-0xbf380000 stackSize=1040KB
  | held mutexes=
  at sun.misc.Unsafe.park(Unsafe.java)
  - waiting on an unknown object
  at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
  at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
  at java.util.concurrent.ArrayBlockingQueue.take(ArrayBlockingQueue.java:387)
  at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
  at java.lang.Thread.run(Thread.java:923)

"queued-work-looper" prio=5 tid=22 Native
  | group="main" sCount=0 dsCount=0 flags=0 obj=0x12d40d48 self=0xe84d1810
  | sysTid=11218 nice=-2 cgrp=default sched=0/0 handle=0xbf1fc1c0
  | state=? schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
  | stack=0xbf0f9000-0xbf0fb000 stackSize=1040KB
  | held mutexes=
  at android.os.MessageQueue.nativePollOnce(MessageQueue.java)
  at android.os.MessageQueue.next(MessageQueue.java:335)
  at android.os.Looper.loop(Looper.java:183)
  at android.os.HandlerThread.run(HandlerThread.java:67)

"ARouter task pool No.1, thread No.2" prio=5 tid=23 Waiting
  | group="main" sCount=0 dsCount=0 flags=0 obj=0x12d40e28 self=0xe84d6c10
  | sysTid=11219 nice=0 cgrp=default sched=0/0 handle=0xbf0f31c0
  | state=? schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
  | stack=0xbeff0000-0xbeff2000 stackSize=1040KB
  | held mutexes=
  at sun.misc.Unsafe.park(Unsafe.java)
  - waiting on an unknown object
  at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
  at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
  at java.util.concurrent.ArrayBlockingQueue.take(ArrayBlockingQueue.java:387)
  at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
  at java.lang.Thread.run(Thread.java:923)

"Thread-4" prio=5 tid=24 Native
  | group="main" sCount=0 dsCount=0 flags=0 obj=0x12d40ef0 self=0xe84da410
  | sysTid=11221 nice=0 cgrp=default sched=0/0 handle=0xbef621c0
  | state=? schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
  | stack=0xbee5f000-0xbee61000 stackSize=1040KB
  | held mutexes=
  at libcore.io.Linux.readBytes(Linux.java)
  at libcore.io.Linux.read(Linux.java:189)
  at libcore.io.ForwardingOs.read(ForwardingOs.java:176)
  at libcore.io.BlockGuardOs.read(BlockGuardOs.java:305)
  at libcore.io.ForwardingOs.read(ForwardingOs.java:176)
  at libcore.io.IoBridge.read(IoBridge.java:509)
  at java.io.FileInputStream.read(FileInputStream.java:320)
  at java.io.FileInputStream.read(FileInputStream.java:289)
  at tango_serialport_api.SerialHelper.readInner(SerialHelper.java:69)
  at com.feiren.frlowermachine.sdk.BaseSerialHelper$ReadThread.run(BaseSerialHelper.java:199)

"send" prio=5 tid=25 Native
  | group="main" sCount=0 dsCount=0 flags=0 obj=0x12d41638 self=0xe84d5e10
  | sysTid=11222 nice=0 cgrp=default sched=0/0 handle=0xbee591c0
  | state=? schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
  | stack=0xbed56000-0xbed58000 stackSize=1040KB
  | held mutexes=
  at android.os.MessageQueue.nativePollOnce(MessageQueue.java)
  at android.os.MessageQueue.next(MessageQueue.java:335)
  at android.os.Looper.loop(Looper.java:183)
  at android.os.HandlerThread.run(HandlerThread.java:67)

"DefaultDispatcher-worker-1" daemon prio=5 tid=26 TimedWaiting
  | group="main" sCount=0 dsCount=0 flags=0 obj=0x12d41728 self=0xe84db210
  | sysTid=11224 nice=0 cgrp=default sched=0/0 handle=0xbed501c0
  | state=? schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
  | stack=0xbec4d000-0xbec4f000 stackSize=1040KB
  | held mutexes=
  at sun.misc.Unsafe.park(Unsafe.java)
  - waiting on an unknown object
  at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:353)
  at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.park(CoroutineScheduler.java:795)
  at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.tryPark(CoroutineScheduler.java:740)
  at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.java:711)
  at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.java:664)

"DefaultDispatcher-worker-2" daemon prio=5 tid=27 TimedWaiting
  | group="main" sCount=0 dsCount=0 flags=0 obj=0x12d41940 self=0xe84d7a10
  | sysTid=11225 nice=0 cgrp=default sched=0/0 handle=0xbec471c0
  | state=? schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
  | stack=0xbeb44000-0xbeb46000 stackSize=1040KB
  | held mutexes=
  at sun.misc.Unsafe.park(Unsafe.java)
  - waiting on an unknown object
  at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:353)
  at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.park(CoroutineScheduler.java:795)
  at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.tryPark(CoroutineScheduler.java:740)
  at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.java:711)
  at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.java:664)

"DefaultDispatcher-worker-3" daemon prio=5 tid=28 TimedWaiting
  | group="main" sCount=0 dsCount=0 flags=0 obj=0x12d419e8 self=0xe84dea10
  | sysTid=11226 nice=0 cgrp=default sched=0/0 handle=0xbeb3e1c0
  | state=? schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
  | stack=0xbea3b000-0xbea3d000 stackSize=1040KB
  | held mutexes=
  at sun.misc.Unsafe.park(Unsafe.java)
  - waiting on an unknown object
  at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:353)
  at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.park(CoroutineScheduler.java:795)
  at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.tryPark(CoroutineScheduler.java:740)
  at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.java:711)
  at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.java:664)

"pool-4-thread-3" prio=5 tid=29 Waiting
  | group="main" sCount=0 dsCount=0 flags=0 obj=0x12d41a90 self=0xe84d9610
  | sysTid=11227 nice=0 cgrp=default sched=0/0 handle=0xbea351c0
  | state=? schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
  | stack=0xbe932000-0xbe934000 stackSize=1040KB
  | held mutexes=
  at sun.misc.Unsafe.park(Unsafe.java)
  - waiting on an unknown object
  at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
  at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
  at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
  at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
  at java.lang.Thread.run(Thread.java:923)

"arch_disk_io_0" daemon prio=5 tid=30 Waiting
  | group="main" sCount=0 dsCount=0 flags=0 obj=0x12d41b58 self=0xe84e1410
  | sysTid=11228 nice=0 cgrp=default sched=0/0 handle=0xbe92c1c0
  | state=? schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
  | stack=0xbe829000-0xbe82b000 stackSize=1040KB
  | held mutexes=
  at sun.misc.Unsafe.park(Unsafe.java)
  - waiting on an unknown object
  at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
  at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
  at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
  at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
  at java.lang.Thread.run(Thread.java:923)

"kotlinx.coroutines.DefaultExecutor" daemon prio=5 tid=31 TimedWaiting
  | group="main" sCount=0 dsCount=0 flags=0 obj=0x12d41cc8 self=0xe84e2210
  | sysTid=11229 nice=0 cgrp=default sched=0/0 handle=0xbe8231c0
  | state=? schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
  | stack=0xbe720000-0xbe722000 stackSize=1040KB
  | held mutexes=
  at sun.misc.Unsafe.park(Unsafe.java)
  - waiting on an unknown object
  at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230)
  at kotlinx.coroutines.DefaultExecutor.run(DefaultExecutor.java:121)
  at java.lang.Thread.run(Thread.java:923)

"pool-4-thread-4" prio=5 tid=32 Waiting
  | group="main" sCount=0 dsCount=0 flags=0 obj=0x12d41ee0 self=0xe84e0610
  | sysTid=11230 nice=0 cgrp=default sched=0/0 handle=0xbe71a1c0
  | state=? schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
  | stack=0xbe617000-0xbe619000 stackSize=1040KB
  | held mutexes=
  at sun.misc.Unsafe.park(Unsafe.java)
  - waiting on an unknown object
  at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
  at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
  at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
  at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
  at java.lang.Thread.run(Thread.java:923)

"RxSchedulerPurge-1" daemon prio=5 tid=33 TimedWaiting
  | group="main" sCount=0 dsCount=0 flags=0 obj=0x12d41fa8 self=0xe84ddc10
  | sysTid=11231 nice=0 cgrp=default sched=0/0 handle=0xbe6111c0
  | state=? schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
  | stack=0xbe50e000-0xbe510000 stackSize=1040KB
  | held mutexes=
  at sun.misc.Unsafe.park(Unsafe.java)
  - waiting on an unknown object
  at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230)
  at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2109)
  at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1132)
  at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:849)
  at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
  at java.lang.Thread.run(Thread.java:923)

"RxCachedWorkerPoolEvictor-1" daemon prio=5 tid=34 TimedWaiting
  | group="main" sCount=0 dsCount=0 flags=0 obj=0x12d42100 self=0xe84df810
  | sysTid=11232 nice=0 cgrp=default sched=0/0 handle=0xbe5081c0
  | state=? schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
  | stack=0xbe405000-0xbe407000 stackSize=1040KB
  | held mutexes=
  at sun.misc.Unsafe.park(Unsafe.java)
  - waiting on an unknown object
  at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230)
  at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2109)
  at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1132)
  at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:849)
  at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
  at java.lang.Thread.run(Thread.java:923)

"RxCachedThreadScheduler-1" daemon prio=5 tid=35 Waiting
  | group="main" sCount=0 dsCount=0 flags=0 obj=0x12d42258 self=0xe84dc010
  | sysTid=11233 nice=0 cgrp=default sched=0/0 handle=0xbe3ff1c0
  | state=? schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
  | stack=0xbe2fc000-0xbe2fe000 stackSize=1040KB
  | held mutexes=
  at sun.misc.Unsafe.park(Unsafe.java)
  - waiting on an unknown object
  at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
  at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
  at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1120)
  at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:849)
  at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
  at java.lang.Thread.run(Thread.java:923)

"RxCachedThreadScheduler-2" daemon prio=5 tid=36 Waiting
  | group="main" sCount=0 dsCount=0 flags=0 obj=0x12d423b0 self=0xe84dce10
  | sysTid=11234 nice=0 cgrp=default sched=0/0 handle=0xbe2f61c0
  | state=? schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
  | stack=0xbe1f3000-0xbe1f5000 stackSize=1040KB
  | held mutexes=
  at sun.misc.Unsafe.park(Unsafe.java)
  - waiting on an unknown object
  at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
  at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
  at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1120)
  at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:849)
  at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
  at java.lang.Thread.run(Thread.java:923)

"RxComputationThreadPool-1" daemon prio=5 tid=39 TimedWaiting
  | group="main" sCount=0 dsCount=0 flags=0 obj=0x12d427b8 self=0xe84e3010
  | sysTid=11237 nice=0 cgrp=default sched=0/0 handle=0xbdfdb1c0
  | state=? schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
  | stack=0xbded8000-0xbdeda000 stackSize=1040KB
  | held mutexes=
  at sun.misc.Unsafe.park(Unsafe.java)
  - waiting on an unknown object
  at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230)
  at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2109)
  at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1132)
  at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:849)
  at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
  at java.lang.Thread.run(Thread.java:923)

"RxComputationThreadPool-2" daemon prio=5 tid=40 Waiting
  | group="main" sCount=0 dsCount=0 flags=0 obj=0x12d42910 self=0xe84e7610
  | sysTid=11238 nice=0 cgrp=default sched=0/0 handle=0xbded21c0
  | state=? schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
  | stack=0xbddcf000-0xbddd1000 stackSize=1040KB
  | held mutexes=
  at sun.misc.Unsafe.park(Unsafe.java)
  - waiting on an unknown object
  at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
  at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
  at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1120)
  at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:849)
  at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
  at java.lang.Thread.run(Thread.java:923)

"WifiManagerThread" prio=5 tid=42 Native
  | group="main" sCount=0 dsCount=0 flags=0 obj=0x12d42a68 self=0xe84e3e10
  | sysTid=11241 nice=0 cgrp=default sched=0/0 handle=0xbdcc01c0
  | state=? schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
  | stack=0xbdbbd000-0xbdbbf000 stackSize=1040KB
  | held mutexes=
  at android.os.MessageQueue.nativePollOnce(MessageQueue.java)
  at android.os.MessageQueue.next(MessageQueue.java:335)
  at android.os.Looper.loop(Looper.java:183)
  at android.os.HandlerThread.run(HandlerThread.java:67)

"RxCachedThreadScheduler-6" daemon prio=5 tid=44 Waiting
  | group="main" sCount=0 dsCount=0 flags=0 obj=0x12d42ca0 self=0xe84ed810
  | sysTid=11243 nice=0 cgrp=default sched=0/0 handle=0xbda841c0
  | state=? schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
  | stack=0xbd981000-0xbd983000 stackSize=1040KB
  | held mutexes=
  at sun.misc.Unsafe.park(Unsafe.java)
  - waiting on an unknown object
  at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
  at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
  at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1120)
  at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:849)
  at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
  at java.lang.Thread.run(Thread.java:923)

"OkHttp ConnectionPool" daemon prio=5 tid=45 TimedWaiting
  | group="main" sCount=0 dsCount=0 flags=0 obj=0x12d42df8 self=0xe84e6810
  | sysTid=11244 nice=0 cgrp=default sched=0/0 handle=0xbd97b1c0
  | state=? schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
  | stack=0xbd878000-0xbd87a000 stackSize=1040KB
  | held mutexes=
  at java.lang.Object.wait(Object.java)
  - waiting on <0x0704dd97> (a com.android.okhttp.ConnectionPool)
  at com.android.okhttp.ConnectionPool$1.run(ConnectionPool.java:106)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
  at java.lang.Thread.run(Thread.java:923)

"pool-8-thread-1" prio=5 tid=49 Waiting
  | group="main" sCount=0 dsCount=0 flags=0 obj=0x12d431d0 self=0xe84eae10
  | sysTid=11252 nice=0 cgrp=default sched=0/0 handle=0xbd6191c0
  | state=? schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
  | stack=0xbd516000-0xbd518000 stackSize=1040KB
  | held mutexes=
  at sun.misc.Unsafe.park(Unsafe.java)
  - waiting on an unknown object
  at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
  at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
  at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
  at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
  at java.lang.Thread.run(Thread.java:923)

"newsp0" prio=5 tid=48 Native
  | group="main" sCount=0 dsCount=0 flags=0 obj=0x12d43340 self=0xe84f0210
  | sysTid=11254 nice=0 cgrp=default sched=0/0 handle=0xbd5101c0
  | state=? schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
  | stack=0xbd40d000-0xbd40f000 stackSize=1040KB
  | held mutexes=
  at android.os.MessageQueue.nativePollOnce(MessageQueue.java)
  at android.os.MessageQueue.next(MessageQueue.java:335)
  at android.os.Looper.loop(Looper.java:183)
  at android.os.HandlerThread.run(HandlerThread.java:67)

"newsp1" prio=5 tid=50 Native
  | group="main" sCount=0 dsCount=0 flags=0 obj=0x12d43420 self=0xe84ea010
  | sysTid=11255 nice=0 cgrp=default sched=0/0 handle=0xbd4071c0
  | state=? schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
  | stack=0xbd304000-0xbd306000 stackSize=1040KB
  | held mutexes=
  at android.os.MessageQueue.nativePollOnce(MessageQueue.java)
  at android.os.MessageQueue.next(MessageQueue.java:335)
  at android.os.Looper.loop(Looper.java:183)
  at android.os.HandlerThread.run(HandlerThread.java:67)

"newsp2" prio=5 tid=51 Native
  | group="main" sCount=0 dsCount=0 flags=0 obj=0x12d43500 self=0xe84ee610
  | sysTid=11256 nice=0 cgrp=default sched=0/0 handle=0xbd20c1c0
  | state=? schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
  | stack=0xbd109000-0xbd10b000 stackSize=1040KB
  | held mutexes=
  at android.os.MessageQueue.nativePollOnce(MessageQueue.java)
  at android.os.MessageQueue.next(MessageQueue.java:335)
  at android.os.Looper.loop(Looper.java:183)
  at android.os.HandlerThread.run(HandlerThread.java:67)

"CrashSDKNormalHandler" prio=5 tid=53 Runnable
  | group="main" sCount=0 dsCount=0 flags=0 obj=0x12d43718 self=0xe84f6410
  | sysTid=11258 nice=0 cgrp=default sched=0/0 handle=0xbcffa1c0
  | state=? schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
  | stack=0xbcef7000-0xbcef9000 stackSize=1040KB
  | held mutexes= "mutator lock"(shared held)
  at com.uc.crashsdk.b.a(b.java:996)
  at com.uc.crashsdk.a.e.run(e.java:101)
  at com.uc.crashsdk.a.f.a(f.java:111)
  at com.uc.crashsdk.a.e.run(e.java:93)
  at android.os.Handler.handleCallback(Handler.java:938)
  at android.os.Handler.dispatchMessage(Handler.java:99)
  at android.os.Looper.loop(Looper.java:223)
  at android.os.HandlerThread.run(HandlerThread.java:67)

"CrashSDKBkgdHandler" prio=5 tid=54 Native
  | group="main" sCount=0 dsCount=0 flags=0 obj=0x12d437f8 self=0xe84f4810
  | sysTid=11259 nice=10 cgrp=default sched=0/0 handle=0xbcef11c0
  | state=? schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
  | stack=0xbcdee000-0xbcdf0000 stackSize=1040KB
  | held mutexes=
  at android.os.MessageQueue.nativePollOnce(MessageQueue.java)
  at android.os.MessageQueue.next(MessageQueue.java:335)
  at android.os.Looper.loop(Looper.java:183)
  at android.os.HandlerThread.run(HandlerThread.java:67)

"efs-base" prio=5 tid=56 Native
  | group="main" sCount=0 dsCount=0 flags=0 obj=0x12d43950 self=0xe84f2c10
  | sysTid=11263 nice=10 cgrp=default sched=0/0 handle=0xbc77c1c0
  | state=? schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
  | stack=0xbc679000-0xbc67b000 stackSize=1040KB
  | held mutexes=
  at android.os.MessageQueue.nativePollOnce(MessageQueue.java)
  at android.os.MessageQueue.next(MessageQueue.java:335)
  at android.os.Looper.loop(Looper.java:183)
  at android.os.HandlerThread.run(HandlerThread.java:67)

"pool-8-thread-2" prio=5 tid=57 Waiting
  | group="main" sCount=0 dsCount=0 flags=0 obj=0x12d43a30 self=0xe84f7210
  | sysTid=11264 nice=0 cgrp=default sched=0/0 handle=0xbc6731c0
  | state=? schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
  | stack=0xbc570000-0xbc572000 stackSize=1040KB
  | held mutexes=
  at sun.misc.Unsafe.park(Unsafe.java)
  - waiting on an unknown object
  at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
  at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
  at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
  at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
  at java.lang.Thread.run(Thread.java:923)

"ANR HANDLER THREAD" prio=5 tid=59 Native
  | group="main" sCount=0 dsCount=0 flags=0 obj=0x12d43af8 self=0xe84ef410
  | sysTid=11266 nice=0 cgrp=default sched=0/0 handle=0xbc56a1c0
  | state=? schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
  | stack=0xbc467000-0xbc469000 stackSize=1040KB
  | held mutexes=
  at dalvik.system.VMStack.getThreadStackTrace(VMStack.java)
  at java.lang.Thread.getStackTrace(Thread.java:1736)
  at com.efs.sdk.pa.a.a.a(a.java:202)
  at com.efs.sdk.pa.a.a$1.run(a.java:17226)
  at android.os.Handler.handleCallback(Handler.java:938)
  at android.os.Handler.dispatchMessage(Handler.java:99)
  at android.os.Looper.loop(Looper.java:223)
  at android.os.HandlerThread.run(HandlerThread.java:67)

"LaunchThreadPoolExecutor1" prio=5 tid=58 Waiting
  | group="main" sCount=0 dsCount=0 flags=0 obj=0x12d43bd8 self=0xe84f1e10
  | sysTid=11268 nice=0 cgrp=default sched=0/0 handle=0xbc4611c0
  | state=? schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
  | stack=0xbc35e000-0xbc360000 stackSize=1040KB
  | held mutexes=
  at sun.misc.Unsafe.park(Unsafe.java)
  - waiting on an unknown object
  at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
  at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
  at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1120)
  at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:849)
  at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
  at java.lang.Thread.run(Thread.java:923)

"FileObserver" prio=5 tid=60 Native
  | group="main" sCount=0 dsCount=0 flags=0 obj=0x12d43d30 self=0xe84fe210
  | sysTid=11269 nice=0 cgrp=default sched=0/0 handle=0xbc3581c0
  | state=? schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
  | stack=0xbc255000-0xbc257000 stackSize=1040KB
  | held mutexes=
  at android.os.FileObserver$ObserverThread.observe(FileObserver.java)
  at android.os.FileObserver$ObserverThread.run(FileObserver.java:113)

"work_thread" prio=5 tid=61 Native
  | group="main" sCount=0 dsCount=0 flags=0 obj=0x12d43db0 self=0xe84f9c10
  | sysTid=11270 nice=0 cgrp=default sched=0/0 handle=0xbc24f1c0
  | state=? schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
  | stack=0xbc14c000-0xbc14e000 stackSize=1040KB
  | held mutexes=
  at android.os.MessageQueue.nativePollOnce(MessageQueue.java)
  at android.os.MessageQueue.next(MessageQueue.java:335)
  at android.os.Looper.loop(Looper.java:183)
  at android.os.HandlerThread.run(HandlerThread.java:67)

"NetWorkSender" prio=5 tid=62 Native
  | group="main" sCount=0 dsCount=0 flags=0 obj=0x12d43e90 self=0xe84fb810
  | sysTid=11271 nice=0 cgrp=default sched=0/0 handle=0xbc0fc1c0
  | state=? schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
  | stack=0xbbff9000-0xbbffb000 stackSize=1040KB
  | held mutexes=
  at android.os.MessageQueue.nativePollOnce(MessageQueue.java)
  at android.os.MessageQueue.next(MessageQueue.java:335)
  at android.os.Looper.loop(Looper.java:183)
  at android.os.HandlerThread.run(HandlerThread.java:67)

"ZIDThreadPoolExecutor1" prio=5 tid=63 Waiting
  | group="main" sCount=0 dsCount=0 flags=0 obj=0x12d43f70 self=0xe84f8e10
  | sysTid=11280 nice=0 cgrp=default sched=0/0 handle=0xbbff31c0
  | state=? schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
  | stack=0xbbef0000-0xbbef2000 stackSize=1040KB
  | held mutexes=
  at sun.misc.Unsafe.park(Unsafe.java)
  - waiting on an unknown object
  at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
  at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
  at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1120)
  at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:849)
  at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
  at java.lang.Thread.run(Thread.java:923)

"pool-2-thread-1" prio=5 tid=66 Waiting
  | group="main" sCount=0 dsCount=0 flags=0 obj=0x12d44220 self=0xe84faa10
  | sysTid=11288 nice=0 cgrp=default sched=0/0 handle=0xbbac61c0
  | state=? schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
  | stack=0xbb9c3000-0xbb9c5000 stackSize=1040KB
  | held mutexes=
  at sun.misc.Unsafe.park(Unsafe.java)
  - waiting on an unknown object
  at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
  at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
  at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
  at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
  at java.lang.Thread.run(Thread.java:923)

"Okio Watchdog" daemon prio=5 tid=67 Waiting
  | group="main" sCount=0 dsCount=0 flags=0 obj=0x12d44390 self=0xbb641c10
  | sysTid=11292 nice=0 cgrp=default sched=0/0 handle=0xbb63c1c0
  | state=? schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
  | stack=0xbb539000-0xbb53b000 stackSize=1040KB
  | held mutexes=
  at java.lang.Object.wait(Object.java)
  - waiting on <0x02608b84> (a java.lang.Class<com.android.okhttp.okio.AsyncTimeout>)
  at java.lang.Object.wait(Object.java:442)
  at java.lang.Object.wait(Object.java:568)
  at com.android.okhttp.okio.AsyncTimeout.awaitTimeout(AsyncTimeout.java:313)
  at com.android.okhttp.okio.AsyncTimeout.access$000(AsyncTimeout.java:42)
  at com.android.okhttp.okio.AsyncTimeout$Watchdog.run(AsyncTimeout.java:288)

"RenderThread" daemon prio=7 tid=70 Native
  | group="main" sCount=0 dsCount=0 flags=0 obj=0x12d44438 self=0xbb645410
  | sysTid=11293 nice=-10 cgrp=default sched=0/0 handle=0xbb5331c0
  | state=? schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
  | stack=0xbb438000-0xbb43a000 stackSize=1008KB
  | held mutexes=
  (no managed stack frames)

"DefaultDispatcher-worker-5" daemon prio=5 tid=71 TimedWaiting
  | group="main" sCount=0 dsCount=0 flags=0 obj=0x12d444b0 self=0xbb642a10
  | sysTid=11296 nice=0 cgrp=default sched=0/0 handle=0xbb2981c0
  | state=? schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
  | stack=0xbb195000-0xbb197000 stackSize=1040KB
  | held mutexes=
  at sun.misc.Unsafe.park(Unsafe.java)
  - waiting on an unknown object
  at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:353)
  at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.park(CoroutineScheduler.java:795)
  at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.tryPark(CoroutineScheduler.java:740)
  at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.java:711)
  at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.java:664)