DSAppTeam / Anchors

:white_check_mark: Anchors 是一个基于图结构,支持同异步依赖任务初始化 Android 启动框架。其锚点提供 "勾住" 依赖的功能,能灵活解决初始化过程中复杂的同步问题。参考 alpha 并改进其部分细节, 更贴合 Android 启动的场景, 同时支持优化依赖初始化流程, 自动选择较优的路径进行初始化。
Apache License 2.0
820 stars 79 forks source link

AnchorsRuntime.kt line 106 com.effective.android.anchors.AnchorsRuntime.tryRunBlockTask$anchors_release #41

Open billdizl opened 2 years ago

billdizl commented 2 years ago

此问题引发了 2 次 ANR 事件,影响了 2 位用户 设备 品牌:samsung 型号:Galaxy A52s 5G 屏幕方向: 未知 可用 RAM: Unknown 可用磁盘空间: Unknown 操作系统 版本:Android 12 屏幕方向: 未知 是否已取得 root 权限:否 ANR 日期:2022年11月9日 04:51:42 main (waiting):tid=1 systid=14263 at java.lang.Object.wait(Native method) at java.lang.Object.wait(Object.java:442) at java.lang.Object.wait(Object.java:568) at com.effective.android.anchors.AnchorsRuntime.tryRunBlockTask$anchors_release(AnchorsRuntime.kt:106) at com.effective.android.anchors.AnchorsManager.start(AnchorsManager.kt:111) at com.包名.view.BaseApplication.onCreate(BaseApplication.java:189) at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1211) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:7506) at android.app.ActivityThread.access$1600(ActivityThread.java:310) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2281) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loopOnce(Looper.java:226) at android.os.Looper.loop(Looper.java:313) at android.app.ActivityThread.main(ActivityThread.java:8669) at java.lang.reflect.Method.invoke(Native method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:571) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135)

Signal Catcher (runnable):tid=6 systid=14272

00 pc 0x53a6e0 libart.so (art::DumpNativeStack(std::__1::basic_ostream<char, std::__1::char_traits >&, int, BacktraceMap, char const, art::ArtMethod, void, bool) + 128)

01 pc 0x6f0e04 libart.so (art::Thread::DumpStack(std::__1::basic_ostream<char, std::__1::char_traits >&, bool, BacktraceMap*, bool) const + 236)

02 pc 0x6fe690 libart.so (art::DumpCheckpoint::Run(art::Thread*) + 208)

03 pc 0x364248 libart.so (art::ThreadList::RunCheckpoint(art::Closure, art::Closure) + 440)

04 pc 0x6fce30 libart.so (art::ThreadList::Dump(std::__1::basic_ostream<char, std::__1::char_traits >&, bool) + 280)

05 pc 0x6fc824 libart.so (art::ThreadList::DumpForSigQuit(std::__1::basic_ostream<char, std::__1::char_traits >&) + 292)

06 pc 0x6d5974 libart.so (art::Runtime::DumpForSigQuit(std::__1::basic_ostream<char, std::__1::char_traits >&) + 184)

07 pc 0x6e1994 libart.so (art::SignalCatcher::HandleSigQuit() + 468)

08 pc 0x574230 libart.so (art::SignalCatcher::Run(void*) + 264)

09 pc 0xb6d54 libc.so (__pthread_start(void*) + 264)

10 pc 0x53370 libc.so (__start_thread + 68)

Jit thread pool worker thread 0 (native):tid=7 systid=14276

00 pc 0x4dd70 libc.so (syscall + 32)

01 pc 0x47cc80 libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*) + 140)

02 pc 0x47cb18 libart.so (art::ThreadPool::GetTask(art::Thread*) + 120)

03 pc 0x6199a4 libart.so (art::ThreadPoolWorker::Run() + 72)

04 pc 0x6198c4 libart.so (art::ThreadPoolWorker::Callback(void*) + 160)

05 pc 0xb6d54 libc.so (__pthread_start(void*) + 264)

06 pc 0x53370 libc.so (__start_thread + 68)

ReferenceQueueDaemon (waiting):tid=8 systid=14278 at java.lang.Object.wait(Native method) at java.lang.Object.wait(Object.java:442) at java.lang.Object.wait(Object.java:568) at java.lang.Daemons$ReferenceQueueDaemon.runInternal(Daemons.java:232) at java.lang.Daemons$Daemon.run(Daemons.java:140) at java.lang.Thread.run(Thread.java:1012)

Binder:14263_1 (native):tid=9 systid=14281

00 pc 0xa1fbc libc.so (__ioctl + 12)

01 pc 0x5b988 libc.so (ioctl + 156)

02 pc 0x46070 libbinder.so (android::IPCThreadState::talkWithDriver(bool) + 292)

03 pc 0x46360 libbinder.so (android::IPCThreadState::getAndExecuteCommand() + 28)

04 pc 0x46c98 libbinder.so (android::IPCThreadState::joinThreadPool(bool) + 72)

05 pc 0x6e51c libbinder.so (android::PoolThread::threadLoop() + 384)

06 pc 0x1358c libutils.so (android::Thread::_threadLoop(void*) + 264)

07 pc 0xc0564 libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*) + 148)

08 pc 0x12de8 libutils.so (thread_data_t::trampoline(thread_data_t const*) + 408)

09 pc 0xb6d54 libc.so (__pthread_start(void*) + 264)

10 pc 0x53370 libc.so (__start_thread + 68)