AndroidFastScroll icon indicating copy to clipboard operation
AndroidFastScroll copied to clipboard

在 Android 10 及 Android 11 上会闪退?

Open liyujiang-gzu opened this issue 4 years ago • 20 comments

在 Android 10 及 Android 11 上会闪退,闪退日志很奇怪,说是“JNI DETECTED ERROR IN APPLICATION ... java.lang.IllegalStateException: Unable to create layer for View ... ”,分析很久也找不出原因,最后去掉FastScroll的调用才不闪退。

使用这个方案在 Android 10 及 Android 11 上是正常的:https://github.com/Mixiaoxiao/FastScroll-Everywhere

liyujiang-gzu avatar Oct 09 '20 08:10 liyujiang-gzu

+1,曾经也遇到这个问题。

drakeet avatar Oct 09 '20 08:10 drakeet

请问机型是什么?以及样例程序也会崩溃吗?

zhanghai avatar Oct 09 '20 08:10 zhanghai

请问机型是什么?以及样例程序也会崩溃吗?

试过AS自带模拟器、夜深模拟器、ViVo x27,Android 10+都会崩溃,用法1照搬你的例子直接使用FastScrollWebView,用法2是用FastScrollScrollView嵌套TextView。

    <me.zhanghai.android.fastscroll.FastScrollScrollView
        android:id="@+id/text_reader_scroller"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@+id/text_reader_progress"
        android:fillViewport="true"
        android:scrollbars="none">

        <TextView
            android:id="@+id/text_reader_content"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:gravity="start|top"
            android:padding="20dp"
            android:scrollbars="none"
            android:textColor="@android:color/black"
            android:textIsSelectable="true" />

    </me.zhanghai.android.fastscroll.FastScrollScrollView>
        FastScrollScrollView scrollView = findViewById(R.id.text_reader_scroller);
        Drawable drawable = getResources().getDrawable(R.drawable.fast_scrolling_thumb);
        new FastScrollerBuilder(scrollView)
                .setTrackDrawable(new ColorDrawable(Color.TRANSPARENT))
                .setThumbDrawable(DrawableUtils.createTint(drawable, 0xff33b5e5))
                .build();

liyujiang-gzu avatar Oct 09 '20 09:10 liyujiang-gzu

在 Pixel 4 XL Android 11 上运行 FastScroll Sample 一切正常,FastScrollScrollViewFastScrollNestedScrollViewFastScrollWebView都没有发生崩溃。可能和你的具体代码有关。你能使用样例程序来重现这个问题吗?

搜索了一下这个错误消息,和 Transition、过大的 wrap_content、硬件加速等都可能有关系。你可以看一看以下链接:

  • https://stackoverflow.com/questions/43748222/java-lang-illegalstateexception-unable-to-create-layer-for-v
  • https://stackoverflow.com/questions/63792063/java-lang-illegalstateexception-unable-to-create-layer-for-recyclerview
  • https://www.codeleading.com/article/77423991167/

zhanghai avatar Oct 09 '20 11:10 zhanghai

在 Pixel 4 XL Android 11 上运行 FastScroll Sample 一切正常,FastScrollScrollViewFastScrollNestedScrollViewFastScrollWebView都没有发生崩溃。可能和你的具体代码有关。你能使用样例程序来重现这个问题吗?

搜索了一下这个错误消息,和 Transition、过大的 wrap_content、硬件加速等都可能有关系。你可以看一看以下链接:

  • https://stackoverflow.com/questions/43748222/java-lang-illegalstateexception-unable-to-create-layer-for-v
  • https://stackoverflow.com/questions/63792063/java-lang-illegalstateexception-unable-to-create-layer-for-recyclerview
  • https://www.codeleading.com/article/77423991167/

可能是,我使用了overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);

liyujiang-gzu avatar Oct 10 '20 02:10 liyujiang-gzu

在 Pixel 4 XL Android 11 上运行 FastScroll Sample 一切正常,FastScrollScrollViewFastScrollNestedScrollViewFastScrollWebView都没有发生崩溃。可能和你的具体代码有关。你能使用样例程序来重现这个问题吗? 搜索了一下这个错误消息,和 Transition、过大的 wrap_content、硬件加速等都可能有关系。你可以看一看以下链接:

  • https://stackoverflow.com/questions/43748222/java-lang-illegalstateexception-unable-to-create-layer-for-v
  • https://stackoverflow.com/questions/63792063/java-lang-illegalstateexception-unable-to-create-layer-for-recyclerview
  • https://www.codeleading.com/article/77423991167/

可能是,我使用了overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);

然而去掉overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);的调用闪退还是复现:

2020-10-10 10:49:40.743 23612-23724/com.github.gzuliyujiang.jiapufan.dailonggong A/fan.dailonggon: java_vm_ext.cc:577] JNI DETECTED ERROR IN APPLICATION: JNI CallVoidMethodV called with pending exception java.lang.IllegalStateException: Unable to create layer for View, size 0x1600 max size 8192 color type 4 has context 1
    java_vm_ext.cc:577] (Throwable with empty stack trace)
    java_vm_ext.cc:577] 
    java_vm_ext.cc:577]     in call to CallVoidMethodV
2020-10-10 10:49:40.985 23612-23724/com.github.gzuliyujiang.jiapufan.dailonggong A/fan.dailonggon: runtime.cc:655] Runtime aborting...
    runtime.cc:655] Dumping all threads without mutator lock held
    runtime.cc:655] All threads:
    runtime.cc:655] DALVIK THREADS (27):
    runtime.cc:655] "Jit thread pool worker thread 0" prio=5 tid=10 Runnable
    runtime.cc:655]   | group="" sCount=0 dsCount=0 flags=0 obj=0x12ec0390 self=0xe39ce010
    runtime.cc:655]   | sysTid=23626 nice=0 cgrp=top-app sched=0/0 handle=0xc3cacd60
    runtime.cc:655]   | state=R schedstat=( 750082086 437787770 561 ) utm=6 stm=68 core=2 HZ=100
    runtime.cc:655]   | stack=0xc3bae000-0xc3bb0000 stackSize=1023KB
    runtime.cc:655]   | held mutexes= "mutator lock"(shared held)
    runtime.cc:655]   native: #00 pc 00542d7e  /apex/com.android.art/lib/libart.so (art::DumpNativeStack(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, int, BacktraceMap*, char const*, art::ArtMethod*, void*, bool)+110)
    runtime.cc:655]   native: #01 pc 006a0877  /apex/com.android.art/lib/libart.so (art::Thread::DumpStack(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, bool, BacktraceMap*, bool) const+1015)
    runtime.cc:655]   native: #02 pc 0069a151  /apex/com.android.art/lib/libart.so (art::Thread::Dump(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, bool, BacktraceMap*, bool) const+65)
    runtime.cc:655]   native: #03 pc 006c6194  /apex/com.android.art/lib/libart.so (art::DumpCheckpoint::Run(art::Thread*)+1172)
    runtime.cc:655]   native: #04 pc 006a1bdb  /apex/com.android.art/lib/libart.so (art::Thread::RunCheckpointFunction()+187)
    runtime.cc:655]   native: #05 pc 003b71df  /apex/com.android.art/lib/libart.so (art::jit::JitCompileTask::Run(art::Thread*)+1423)
    runtime.cc:655]   native: #06 pc 006c73ab  /apex/com.android.art/lib/libart.so (art::ThreadPoolWorker::Run()+107)
    runtime.cc:655]   native: #07 pc 006c6e7d  /apex/com.android.art/lib/libart.so (art::ThreadPoolWorker::Callback(void*)+269)
    runtime.cc:655]   native: #08 pc 000e6964  /apex/com.android.runtime/lib/bionic/libc.so (__pthread_start(void*)+100)
    runtime.cc:655]   native: #09 pc 00078567  /apex/com.android.runtime/lib/bionic/libc.so (__start_thread+71)
    runtime.cc:655]   (no managed stack frames)
    runtime.cc:655] 
    runtime.cc:655] "RenderThread" prio=10 tid=3 Runnable
    runtime.cc:655]   | group="" sCount=0 dsCount=0 flags=0 obj=0x12ec0d08 self=0xe39d5e10
    runtime.cc:655]   | sysTid=23724 nice=-10 cgrp=top-app sched=0/0 handle=0xc27fc1e0
    runtime.cc:655]   | state=R schedstat=( 4051810606 1168923001 1907 ) utm=8 stm=396 core=3 HZ=100
    runtime.cc:655]   | stack=0xc2701000-0xc2703000 stackSize=1008KB
    runtime.cc:655]   | held mutexes= "abort lock" "mutator lock"(shared held)
    runtime.cc:655]   native: #00 pc 00542d7e  /apex/com.android.art/lib/libart.so (art::DumpNativeStack(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, int, BacktraceMap*, char const*, art::ArtMethod*, void*, bool)+110)
    runtime.cc:655]   native: #01 pc 006a0877  /apex/com.android.art/lib/libart.so (art::Thread::DumpStack(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, bool, BacktraceMap*, bool) const+1015)
    runtime.cc:655]   native: #02 pc 0069a151  /apex/com.android.art/lib/libart.so (art::Thread::Dump(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, bool, BacktraceMap*, bool) const+65)
    runtime.cc:655]   native: #03 pc 006c6194  /apex/com.android.art/lib/libart.so (art::DumpCheckpoint::Run(art::Thread*)+1172)
    runtime.cc:655]   native: #04 pc 006bf246  /apex/com.android.art/lib/libart.so (art::ThreadList::RunCheckpoint(art::Closure*, art::Closure*)+630)
    runtime.cc:655]   native: #05 pc 006be1ae  /apex/com.android.art/lib/libart.so (art::ThreadList::Dump(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, bool)+2446)
    runtime.cc:655]   native: #06 pc 0065225d  /apex/com.android.art/lib/libart.so (art::AbortState::DumpAllThreads(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, art::Thread*) const+445)
    runtime.cc:655]   native: #07 pc 0063982f  /apex/com.android.art/lib/libart.so (art::Runtime::Abort(char const*)+1967)
2020-10-10 10:49:40.985 23612-23724/com.github.gzuliyujiang.jiapufan.dailonggong A/fan.dailonggon: runtime.cc:655]   native: #08 pc 00025a23  /apex/com.android.art/lib/libartbase.so (std::__1::__function::__func<void (*)(char const*), std::__1::allocator<void (*)(char const*)>, void (char const*)>::operator()(char const*&&)+35)
    runtime.cc:655]   native: #09 pc 0001588f  /system/lib/libbase.so (android::base::SetAborter(std::__1::function<void (char const*)>&&)::$_3::__invoke(char const*)+79)
    runtime.cc:655]   native: #10 pc 00006291  /system/lib/liblog.so (__android_log_call_aborter+33)
    runtime.cc:655]   native: #11 pc 00014d14  /system/lib/libbase.so (android::base::LogMessage::~LogMessage()+436)
    runtime.cc:655]   native: #12 pc 00405db0  /apex/com.android.art/lib/libart.so (art::JavaVMExt::JniAbort(char const*, char const*)+2912)
    runtime.cc:655]   native: #13 pc 00405e44  /apex/com.android.art/lib/libart.so (art::JavaVMExt::JniAbortV(char const*, char const*, char*)+116)
    runtime.cc:655]   native: #14 pc 003f60b3  /apex/com.android.art/lib/libart.so (art::(anonymous namespace)::ScopedCheck::AbortF(char const*, ...)+67)
    runtime.cc:655]   native: #15 pc 003f4c1d  /apex/com.android.art/lib/libart.so (art::(anonymous namespace)::ScopedCheck::CheckPossibleHeapValue(art::ScopedObjectAccess&, char, art::(anonymous namespace)::JniValueType)+3837)
    runtime.cc:655]   native: #16 pc 003f34c9  /apex/com.android.art/lib/libart.so (art::(anonymous namespace)::ScopedCheck::Check(art::ScopedObjectAccess&, bool, char const*, art::(anonymous namespace)::JniValueType*)+969)
    runtime.cc:655]   native: #17 pc 003f9212  /apex/com.android.art/lib/libart.so (art::(anonymous namespace)::CheckJNI::CheckCallArgs(art::ScopedObjectAccess&, art::(anonymous namespace)::ScopedCheck&, _JNIEnv*, _jobject*, _jclass*, _jmethodID*, art::InvokeType, art::(anonymous namespace)::VarArgs const*)+306)
    runtime.cc:655]   native: #18 pc 003f82d1  /apex/com.android.art/lib/libart.so (art::(anonymous namespace)::CheckJNI::CallMethodV(char const*, _JNIEnv*, _jobject*, _jclass*, _jmethodID*, char*, art::Primitive::Type, art::InvokeType)+865)
    runtime.cc:655]   native: #19 pc 003e3e79  /apex/com.android.art/lib/libart.so (art::(anonymous namespace)::CheckJNI::CallVoidMethodV(_JNIEnv*, _jobject*, _jmethodID*, char*)+73)
    runtime.cc:655]   native: #20 pc 001d2dfe  /system/lib/libhwui.so (_JNIEnv::CallVoidMethod(_jobject*, _jmethodID*, ...)+62)
    runtime.cc:655]   native: #21 pc 0023b7ec  /system/lib/libhwui.so (_ZNSt3__110__function6__funcIZN7androidL54android_view_ThreadedRenderer_setFrameCompleteCallbackEP7_JNIEnvP8_jobjectxS6_E3$_2NS_9allocatorIS7_EEFvxEEclEOx$78790a34cc3fbcbe13dc6089df1d560d+156)
    runtime.cc:655]   native: #22 pc 002584a0  /system/lib/libhwui.so (android::uirenderer::renderthread::CanvasContext::draw()+2672)
    runtime.cc:655]   native: #23 pc 0025ab6f  /system/lib/libhwui.so (_ZNSt3__110__function6__funcIZN7android10uirenderer12renderthread13DrawFrameTask11postAndWaitEvE3$_0NS_9allocatorIS6_EEFvvEEclEv$c303f2d2360db58ed70a2d0ac7ed911b+767)
    runtime.cc:655]   native: #24 pc 0024543d  /system/lib/libhwui.so (android::uirenderer::WorkQueue::process()+285)
    runtime.cc:655]   native: #25 pc 0026cacf  /system/lib/libhwui.so (android::uirenderer::renderthread::RenderThread::threadLoop()+127)
    runtime.cc:655]   native: #26 pc 00015116  /system/lib/libutils.so (android::Thread::_threadLoop(void*)+374)
    runtime.cc:655]   native: #27 pc 000147d9  /system/lib/libutils.so (thread_data_t::trampoline(thread_data_t const*)+457)
    runtime.cc:655]   native: #28 pc 000e6964  /apex/com.android.runtime/lib/bionic/libc.so (__pthread_start(void*)+100)
    runtime.cc:655]   native: #29 pc 00078567  /apex/com.android.runtime/lib/bionic/libc.so (__start_thread+71)
    runtime.cc:655]   (no managed stack frames)
    runtime.cc:655] 
    runtime.cc:655] "main" prio=10 tid=1 Native
    runtime.cc:655]   | group="" sCount=1 dsCount=0 flags=1 obj=0x70f543f0 self=0xe39c0010
    runtime.cc:655]   | sysTid=23612 nice=-10 cgrp=top-app sched=0/0 handle=0xf1ef8478
2020-10-10 10:49:40.985 23612-23724/com.github.gzuliyujiang.jiapufan.dailonggong A/fan.dailonggon: runtime.cc:655]   | state=S schedstat=( 1590868121 675155710 1258 ) utm=52 stm=106 core=1 HZ=100
    runtime.cc:655]   | stack=0xff54f000-0xff551000 stackSize=8192KB
    runtime.cc:655]   | held mutexes=
    runtime.cc:655]   native: #00 pc 00000b97  [vdso] (__kernel_vsyscall+7)
    runtime.cc:655]   native: #01 pc 0005ad68  /apex/com.android.runtime/lib/bionic/libc.so (syscall+40)
    runtime.cc:655]   native: #02 pc 0007725e  /apex/com.android.runtime/lib/bionic/libc.so (__futex_wait_ex(void volatile*, bool, int, bool, timespec const*)+142)
    runtime.cc:655]   native: #03 pc 000e5b1e  /apex/com.android.runtime/lib/bionic/libc.so (pthread_cond_wait+62)
    runtime.cc:655]   native: #04 pc 000569cf  /system/lib/libc++.so (std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&)+47)
    runtime.cc:655]   native: #05 pc 0005999f  /system/lib/libc++.so (std::__1::__assoc_sub_state::copy()+95)
    runtime.cc:655]   native: #06 pc 00059cca  /system/lib/libc++.so (std::__1::future<void>::get()+42)
    runtime.cc:655]   native: #07 pc 00262081  /system/lib/libhwui.so (android::uirenderer::renderthread::RenderProxy::setStopped(bool)+225)
    runtime.cc:655]   native: #08 pc 00238f6a  /system/lib/libhwui.so (android::android_view_ThreadedRenderer_setStopped(_JNIEnv*, _jobject*, long long, unsigned char)+42)
    runtime.cc:655]   at android.graphics.HardwareRenderer.nSetStopped(Native method)
    runtime.cc:655]   at android.graphics.HardwareRenderer.setStopped(HardwareRenderer.java:474)
    runtime.cc:655]   at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:3863)
    runtime.cc:655]   at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:3099)
    runtime.cc:655]   at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1952)
    runtime.cc:655]   at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:8171)
    runtime.cc:655]   at android.view.Choreographer$CallbackRecord.run(Choreographer.java:972)
    runtime.cc:655]   at android.view.Choreographer.doCallbacks(Choreographer.java:796)
    runtime.cc:655]   at android.view.Choreographer.doFrame(Choreographer.java:731)
    runtime.cc:655]   at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:957)
    runtime.cc:655]   at android.os.Handler.handleCallback(Handler.java:938)
    runtime.cc:655]   at android.os.Handler.dispatchMessage(Handler.java:99)
    runtime.cc:655]   at android.os.Looper.loop(Looper.java:223)
    runtime.cc:655]   at android.app.ActivityThread.main(ActivityThread.java:7656)
    runtime.cc:655]   at java.lang.reflect.Method.invoke(Native method)
    runtime.cc:655]   at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
    runtime.cc:655]   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
    runtime.cc:655] 
    runtime.cc:655] "Signal Catcher" prio=10 tid=4 WaitingInMainSignalCatcherLoop
    runtime.cc:655]   | group="" sCount=1 dsCount=0 flags=1 obj=0x12ec0228 self=0xe39cb610
    runtime.cc:655]   | sysTid=23622 nice=-20 cgrp=top-app sched=0/0 handle=0xd8c2a1e0
    runtime.cc:655]   | state=S schedstat=( 541211 7837832 2 ) utm=0 stm=0 core=2 HZ=100
    runtime.cc:655]   | stack=0xd8b2f000-0xd8b31000 stackSize=1008KB
    runtime.cc:655]   | held mutexes=
    runtime.cc:655]   native: #00 pc 00000b99  [vdso] (__kernel_vsyscall+9)
    runtime.cc:655]   native: #01 pc 000ce811  /apex/com.android.runtime/lib/bionic/libc.so (__rt_sigtimedwait+33)
    runtime.cc:655]   native: #02 pc 00086c55  /apex/com.android.runtime/lib/bionic/libc.so (sigwait+69)
    runtime.cc:655]   native: #03 pc 00665efd  /apex/com.android.art/lib/libart.so (art::SignalCatcher::WaitForSignal(art::Thread*, art::SignalSet&)+461)
    runtime.cc:655]   native: #04 pc 006648df  /apex/com.android.art/lib/libart.so (art::SignalCatcher::Run(void*)+479)
    runtime.cc:655]   native: #05 pc 000e6964  /apex/com.android.runtime/lib/bionic/libc.so (__pthread_start(void*)+100)
    runtime.cc:655]   native: #06 pc 00078567  /apex/com.android.runtime/lib/bionic/libc.so (__start_thread+71)
    runtime.cc:655]   (no managed stack frames)
    runtime.cc:655] 
2020-10-10 10:49:40.985 23612-23724/com.github.gzuliyujiang.jiapufan.dailonggong A/fan.dailonggon: runtime.cc:655] "perfetto_hprof_listener" prio=10 tid=6 Native (still starting up)
    runtime.cc:655]   | group="" sCount=1 dsCount=0 flags=1 obj=0x0 self=0xe39c5410
    runtime.cc:655]   | sysTid=23623 nice=-20 cgrp=top-app sched=0/0 handle=0xd8b291e0
    runtime.cc:655]   | state=S schedstat=( 627205 3385498 6 ) utm=0 stm=0 core=0 HZ=100
    runtime.cc:655]   | stack=0xd8a2e000-0xd8a30000 stackSize=1008KB
    runtime.cc:655]   | held mutexes=
    runtime.cc:655]   native: #00 pc 00000b97  [vdso] (__kernel_vsyscall+7)
    runtime.cc:655]   native: #01 pc 000ccf8c  /apex/com.android.runtime/lib/bionic/libc.so (read+28)
    runtime.cc:655]   native: #02 pc 0001aca2  /apex/com.android.art/lib/libperfetto_hprof.so (void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, ArtPlugin_Initialize::$_29> >(void*)+306)
    runtime.cc:655]   native: #03 pc 000e6964  /apex/com.android.runtime/lib/bionic/libc.so (__pthread_start(void*)+100)
    runtime.cc:655]   native: #04 pc 00078567  /apex/com.android.runtime/lib/bionic/libc.so (__start_thread+71)
    runtime.cc:655]   (no managed stack frames)
    runtime.cc:655] 
    runtime.cc:655] "ADB-JDWP Connection Control Thread" prio=10 tid=8 WaitingInMainDebuggerLoop
    runtime.cc:655]   | group="" sCount=1 dsCount=0 flags=1 obj=0x12ec02a0 self=0xe39ca810
    runtime.cc:655]   | sysTid=23624 nice=-20 cgrp=top-app sched=0/0 handle=0xd8a281e0
    runtime.cc:655]   | state=S schedstat=( 3111552 3908553 13 ) utm=0 stm=0 core=1 HZ=100
    runtime.cc:655]   | stack=0xd892d000-0xd892f000 stackSize=1008KB
    runtime.cc:655]   | held mutexes=
    runtime.cc:655]   native: #00 pc 00000b99  [vdso] (__kernel_vsyscall+9)
    runtime.cc:655]   native: #01 pc 000cf486  /apex/com.android.runtime/lib/bionic/libc.so (__ppoll+38)
    runtime.cc:655]   native: #02 pc 00083979  /apex/com.android.runtime/lib/bionic/libc.so (poll+105)
    runtime.cc:655]   native: #03 pc 0000a493  /apex/com.android.art/lib/libadbconnection.so (adbconnection::AdbConnectionState::RunPollLoop(art::Thread*)+1171)
    runtime.cc:655]   native: #04 pc 000086d2  /apex/com.android.art/lib/libadbconnection.so (adbconnection::CallbackFunction(void*)+1666)
    runtime.cc:655]   native: #05 pc 000e6964  /apex/com.android.runtime/lib/bionic/libc.so (__pthread_start(void*)+100)
    runtime.cc:655]   native: #06 pc 00078567  /apex/com.android.runtime/lib/bionic/libc.so (__start_thread+71)
    runtime.cc:655]   (no managed stack frames)
    runtime.cc:655] 
    runtime.cc:655] "FinalizerDaemon" prio=5 tid=9 Waiting
    runtime.cc:655]   | group="" sCount=1 dsCount=0 flags=1 obj=0x12ec0318 self=0xe39cc410
    runtime.cc:655]   | sysTid=23629 nice=4 cgrp=top-app sched=0/0 handle=0xc39961e0
    runtime.cc:655]   | state=S schedstat=( 3182278 3550411 11 ) utm=0 stm=0 core=2 HZ=100
    runtime.cc:655]   | stack=0xc3893000-0xc3895000 stackSize=1040KB
    runtime.cc:655]   | held mutexes=
    runtime.cc:655]   native: #00 pc 00000b97  [vdso] (__kernel_vsyscall+7)
    runtime.cc:655]   native: #01 pc 0005ad68  /apex/com.android.runtime/lib/bionic/libc.so (syscall+40)
    runtime.cc:655]   native: #02 pc 001d82ec  /apex/com.android.art/lib/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+108)
    runtime.cc:655]   native: #03 pc 001d8273  /apex/com.android.art/lib/libart.so (art::ConditionVariable::Wait(art::Thread*)+35)
    runtime.cc:655]   native: #04 pc 0053d3b7  /apex/com.android.art/lib/libart.so (art::Monitor::Wait(art::Thread*, long long, int, bool, art::ThreadState)+599)
    runtime.cc:655]   native: #05 pc 0053f04a  /apex/com.android.art/lib/libart.so (art::Monitor::Wait(art::Thread*, art::ObjPtr<art::mirror::Object>, long long, int, bool, art::ThreadState)+282)
    runtime.cc:655]   native: #06 pc 0056b9d0  /apex/com.android.art/lib/libart.so (art::Object_waitJI(_JNIEnv*, _jobject*, long long, int)+96)
    runtime.cc:655]   at java.lang.Object.wait(Native method)
    runtime.cc:655]   - waiting on <0x05742aa3> (a java.lang.Object)
    runtime.cc:655]   at java.lang.Object.wait(Object.java:442)
2020-10-10 10:49:40.985 23612-23724/com.github.gzuliyujiang.jiapufan.dailonggong A/fan.dailonggon: runtime.cc:655]   at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:190)
    runtime.cc:655]   - locked <0x05742aa3> (a java.lang.Object)
    runtime.cc:655]   at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:211)
    runtime.cc:655]   at java.lang.Daemons$FinalizerDaemon.runInternal(Daemons.java:273)
    runtime.cc:655]   at java.lang.Daemons$Daemon.run(Daemons.java:139)
    runtime.cc:655]   at java.lang.Thread.run(Thread.java:923)
    runtime.cc:655] 
    runtime.cc:655] "ReferenceQueueDaemon" prio=5 tid=11 Waiting
    runtime.cc:655]   | group="" sCount=1 dsCount=0 flags=1 obj=0x12ec0408 self=0xe39c7e10
    runtime.cc:655]   | sysTid=23628 nice=4 cgrp=top-app sched=0/0 handle=0xc3a9f1e0
    runtime.cc:655]   | state=S schedstat=( 7290422 1641347 11 ) utm=0 stm=0 core=2 HZ=100
    runtime.cc:655]   | stack=0xc399c000-0xc399e000 stackSize=1040KB
    runtime.cc:655]   | held mutexes=
    runtime.cc:655]   native: #00 pc 00000b97  [vdso] (__kernel_vsyscall+7)
    runtime.cc:655]   native: #01 pc 0005ad68  /apex/com.android.runtime/lib/bionic/libc.so (syscall+40)
    runtime.cc:655]   native: #02 pc 001d82ec  /apex/com.android.art/lib/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+108)
    runtime.cc:655]   native: #03 pc 001d8273  /apex/com.android.art/lib/libart.so (art::ConditionVariable::Wait(art::Thread*)+35)
    runtime.cc:655]   native: #04 pc 0053d3b7  /apex/com.android.art/lib/libart.so (art::Monitor::Wait(art::Thread*, long long, int, bool, art::ThreadState)+599)
    runtime.cc:655]   native: #05 pc 0053f04a  /apex/com.android.art/lib/libart.so (art::Monitor::Wait(art::Thread*, art::ObjPtr<art::mirror::Object>, long long, int, bool, art::ThreadState)+282)
    runtime.cc:655]   native: #06 pc 0056b9d0  /apex/com.android.art/lib/libart.so (art::Object_waitJI(_JNIEnv*, _jobject*, long long, int)+96)
    runtime.cc:655]   at java.lang.Object.wait(Native method)
    runtime.cc:655]   - waiting on <0x048601a0> (a java.lang.Class<java.lang.ref.ReferenceQueue>)
    runtime.cc:655]   at java.lang.Object.wait(Object.java:442)
    runtime.cc:655]   at java.lang.Object.wait(Object.java:568)
    runtime.cc:655]   at java.lang.Daemons$ReferenceQueueDaemon.runInternal(Daemons.java:217)
    runtime.cc:655]   - locked <0x048601a0> (a java.lang.Class<java.lang.ref.ReferenceQueue>)
    runtime.cc:655]   at java.lang.Daemons$Daemon.run(Daemons.java:139)
    runtime.cc:655]   at java.lang.Thread.run(Thread.java:923)
    runtime.cc:655] 
    runtime.cc:655] "HeapTaskDaemon" prio=5 tid=12 WaitingForTaskProcessor
    runtime.cc:655]   | group="" sCount=1 dsCount=0 flags=1 obj=0x12ec0f28 self=0xe39c0e10
    runtime.cc:655]   | sysTid=23627 nice=4 cgrp=top-app sched=0/0 handle=0xc3ba81e0
    runtime.cc:655]   | state=S schedstat=( 124319850 61176562 74 ) utm=3 stm=8 core=2 HZ=100
    runtime.cc:655]   | stack=0xc3aa5000-0xc3aa7000 stackSize=1040KB
    runtime.cc:655]   | held mutexes=
    runtime.cc:655]   native: #00 pc 00000b99  [vdso] (__kernel_vsyscall+9)
    runtime.cc:655]   native: #01 pc 0005ad68  /apex/com.android.runtime/lib/bionic/libc.so (syscall+40)
    runtime.cc:655]   native: #02 pc 001d8713  /apex/com.android.art/lib/libart.so (art::ConditionVariable::TimedWait(art::Thread*, long long, int)+163)
    runtime.cc:655]   native: #03 pc 0034a017  /apex/com.android.art/lib/libart.so (art::gc::TaskProcessor::GetTask(art::Thread*)+599)
    runtime.cc:655]   native: #04 pc 0034aa64  /apex/com.android.art/lib/libart.so (art::gc::TaskProcessor::RunAllTasks(art::Thread*)+84)
    runtime.cc:655]   native: #05 pc 005591d5  /apex/com.android.art/lib/libart.so (art::VMRuntime_runHeapTasks(_JNIEnv*, _jobject*)+53)
    runtime.cc:655]   at dalvik.system.VMRuntime.runHeapTasks(Native method)
    runtime.cc:655]   at java.lang.Daemons$HeapTaskDaemon.runInternal(Daemons.java:531)
    runtime.cc:655]   at java.lang.Daemons$Daemon.run(Daemons.java:139)
    runtime.cc:655]   at java.lang.Thread.run(Thread.java:923)
    runtime.cc:655] 
    runtime.cc:655] "FinalizerWatchdogDaemon" prio=5 tid=13 Waiting
    runtime.cc:655]   | group="" sCount=1 dsCount=0 flags=1 obj=0x12ec0480 self=0xe39c8c10
2020-10-10 10:49:40.985 23612-23724/com.github.gzuliyujiang.jiapufan.dailonggong A/fan.dailonggon: runtime.cc:655]   | sysTid=23630 nice=4 cgrp=top-app sched=0/0 handle=0xc388d1e0
    runtime.cc:655]   | state=S schedstat=( 1162393 40796086 13 ) utm=0 stm=0 core=2 HZ=100
    runtime.cc:655]   | stack=0xc378a000-0xc378c000 stackSize=1040KB
    runtime.cc:655]   | held mutexes=
    runtime.cc:655]   native: #00 pc 00000b97  [vdso] (__kernel_vsyscall+7)
    runtime.cc:655]   native: #01 pc 0005ad68  /apex/com.android.runtime/lib/bionic/libc.so (syscall+40)
    runtime.cc:655]   native: #02 pc 001d82ec  /apex/com.android.art/lib/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+108)
    runtime.cc:655]   native: #03 pc 001d8273  /apex/com.android.art/lib/libart.so (art::ConditionVariable::Wait(art::Thread*)+35)
    runtime.cc:655]   native: #04 pc 0053d3b7  /apex/com.android.art/lib/libart.so (art::Monitor::Wait(art::Thread*, long long, int, bool, art::ThreadState)+599)
    runtime.cc:655]   native: #05 pc 0053f04a  /apex/com.android.art/lib/libart.so (art::Monitor::Wait(art::Thread*, art::ObjPtr<art::mirror::Object>, long long, int, bool, art::ThreadState)+282)
    runtime.cc:655]   native: #06 pc 0056b9d0  /apex/com.android.art/lib/libart.so (art::Object_waitJI(_JNIEnv*, _jobject*, long long, int)+96)
    runtime.cc:655]   at java.lang.Object.wait(Native method)
    runtime.cc:655]   - waiting on <0x034da159> (a java.lang.Daemons$FinalizerWatchdogDaemon)
    runtime.cc:655]   at java.lang.Object.wait(Object.java:442)
    runtime.cc:655]   at java.lang.Object.wait(Object.java:568)
    runtime.cc:655]   at java.lang.Daemons$FinalizerWatchdogDaemon.sleepUntilNeeded(Daemons.java:341)
    runtime.cc:655]   - locked <0x034da159> (a java.lang.Daemons$FinalizerWatchdogDaemon)
    runtime.cc:655]   at java.lang.Daemons$FinalizerWatchdogDaemon.runInternal(Daemons.java:321)
    runtime.cc:655]   at java.lang.Daemons$Daemon.run(Daemons.java:139)
    runtime.cc:655]   at java.lang.Thread.run(Thread.java:923)
    runtime.cc:655] 
    runtime.cc:655] "Binder:23612_1" prio=5 tid=14 Native
    runtime.cc:655]   | group="" sCount=1 dsCount=0 flags=1 obj=0x12ec04f8 self=0xe39d2610
    runtime.cc:655]   | sysTid=23631 nice=0 cgrp=top-app sched=0/0 handle=0xc36861e0
    runtime.cc:655]   | state=S schedstat=( 4239251 6164606 18 ) utm=0 stm=0 core=1 HZ=100
    runtime.cc:655]   | stack=0xc358b000-0xc358d000 stackSize=1008KB
    runtime.cc:655]   | held mutexes=
    runtime.cc:655]   native: #00 pc 00000b97  [vdso] (__kernel_vsyscall+7)
    runtime.cc:655]   native: #01 pc 000cd45c  /apex/com.android.runtime/lib/bionic/libc.so (__ioctl+28)
    runtime.cc:655]   native: #02 pc 00080e6a  /apex/com.android.runtime/lib/bionic/libc.so (ioctl+58)
    runtime.cc:655]   native: #03 pc 00050edb  /system/lib/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+331)
    runtime.cc:655]   native: #04 pc 0005117a  /system/lib/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+42)
    runtime.cc:655]   native: #05 pc 00051cb8  /system/lib/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+72)
    runtime.cc:655]   native: #06 pc 0007e309  /system/lib/libbinder.so (android::PoolThread::threadLoop()+41)
    runtime.cc:655]   native: #07 pc 00015116  /system/lib/libutils.so (android::Thread::_threadLoop(void*)+374)
    runtime.cc:655]   native: #08 pc 00098fee  /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+174)
    runtime.cc:655]   native: #09 pc 000147d9  /system/lib/libutils.so (thread_data_t::trampoline(thread_data_t const*)+457)
    runtime.cc:655]   native: #10 pc 000e6964  /apex/com.android.runtime/lib/bionic/libc.so (__pthread_start(void*)+100)
    runtime.cc:655]   native: #11 pc 00078567  /apex/com.android.runtime/lib/bionic/libc.so (__start_thread+71)
    runtime.cc:655]   (no managed stack frames)
    runtime.cc:655] 
    runtime.cc:655] "Binder:23612_2" prio=5 tid=15 Native
    runtime.cc:655]   | group="" sCount=1 dsCount=0 flags=1 obj=0x12ec0570 self=0xe39c1c10
    runtime.cc:655]   | sysTid=23632 nice=0 cgrp=top-app sched=0/0 handle=0xc35851e0
    runtime.cc:655]   | state=S schedstat=( 7254117 17019166 13 ) utm=0 stm=0 core=1 HZ=100
2020-10-10 10:49:40.985 23612-23724/com.github.gzuliyujiang.jiapufan.dailonggong A/fan.dailonggon: runtime.cc:655]   | stack=0xc348a000-0xc348c000 stackSize=1008KB
    runtime.cc:655]   | held mutexes=
    runtime.cc:655]   native: #00 pc 00000b97  [vdso] (__kernel_vsyscall+7)
    runtime.cc:655]   native: #01 pc 000cd45c  /apex/com.android.runtime/lib/bionic/libc.so (__ioctl+28)
    runtime.cc:655]   native: #02 pc 00080e6a  /apex/com.android.runtime/lib/bionic/libc.so (ioctl+58)
    runtime.cc:655]   native: #03 pc 00050edb  /system/lib/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+331)
    runtime.cc:655]   native: #04 pc 0005117a  /system/lib/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+42)
    runtime.cc:655]   native: #05 pc 00051cb8  /system/lib/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+72)
    runtime.cc:655]   native: #06 pc 0007e309  /system/lib/libbinder.so (android::PoolThread::threadLoop()+41)
    runtime.cc:655]   native: #07 pc 00015116  /system/lib/libutils.so (android::Thread::_threadLoop(void*)+374)
    runtime.cc:655]   native: #08 pc 00098fee  /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+174)
    runtime.cc:655]   native: #09 pc 000147d9  /system/lib/libutils.so (thread_data_t::trampoline(thread_data_t const*)+457)
    runtime.cc:655]   native: #10 pc 000e6964  /apex/com.android.runtime/lib/bionic/libc.so (__pthread_start(void*)+100)
    runtime.cc:655]   native: #11 pc 00078567  /apex/com.android.runtime/lib/bionic/libc.so (__start_thread+71)
    runtime.cc:655]   (no managed stack frames)
    runtime.cc:655] 
    runtime.cc:655] "Profile Saver" prio=5 tid=16 Native
    runtime.cc:655]   | group="" sCount=1 dsCount=0 flags=1 obj=0x12ec05e8 self=0xe39d4210
    runtime.cc:655]   | sysTid=23639 nice=9 cgrp=top-app sched=0/0 handle=0xc2bab1e0
    runtime.cc:655]   | state=S schedstat=( 6932018 87131152 28 ) utm=0 stm=0 core=0 HZ=100
    runtime.cc:655]   | stack=0xc2ab0000-0xc2ab2000 stackSize=1008KB
    runtime.cc:655]   | held mutexes=
    runtime.cc:655]   native: #00 pc 00000b99  [vdso] (__kernel_vsyscall+9)
    runtime.cc:655]   native: #01 pc 0005ad68  /apex/com.android.runtime/lib/bionic/libc.so (syscall+40)
    runtime.cc:655]   native: #02 pc 001d8713  /apex/com.android.art/lib/libart.so (art::ConditionVariable::TimedWait(art::Thread*, long long, int)+163)
    runtime.cc:655]   native: #03 pc 003cc976  /apex/com.android.art/lib/libart.so (art::ProfileSaver::Run()+998)
    runtime.cc:655]   native: #04 pc 003d2e6f  /apex/com.android.art/lib/libart.so (art::ProfileSaver::RunProfileSaverThread(void*)+175)
    runtime.cc:655]   native: #05 pc 000e6964  /apex/com.android.runtime/lib/bionic/libc.so (__pthread_start(void*)+100)
    runtime.cc:655]   native: #06 pc 00078567  /apex/com.android.runtime/lib/bionic/libc.so (__start_thread+71)
    runtime.cc:655]   (no managed stack frames)
    runtime.cc:655] 
    runtime.cc:655] "xcrash_crash_cb" prio=5 tid=17 Native
    runtime.cc:655]   | group="" sCount=1 dsCount=0 flags=1 obj=0x12ec0660 self=0xe39cee10
    runtime.cc:655]   | sysTid=23641 nice=0 cgrp=top-app sched=0/0 handle=0xc2a4d1e0
    runtime.cc:655]   | state=S schedstat=( 397015 0 1 ) utm=0 stm=0 core=1 HZ=100
    runtime.cc:655]   | stack=0xc2952000-0xc2954000 stackSize=1008KB
    runtime.cc:655]   | held mutexes=
    runtime.cc:655]   native: #00 pc 00000b97  [vdso] (__kernel_vsyscall+7)
    runtime.cc:655]   native: #01 pc 000ccf8c  /apex/com.android.runtime/lib/bionic/libc.so (read+28)
    runtime.cc:655]   native: #02 pc 0000483d  /data/app/~~ANWecRyZ5oqQA5eFAfBahA==/com.github.gzuliyujiang.jiapufan.dailonggong-lWZai_eWKma5YolXGQl54A==/lib/x86/libxcrash.so (???)
    runtime.cc:655]   native: #03 pc 000e6964  /apex/com.android.runtime/lib/bionic/libc.so (__pthread_start(void*)+100)
    runtime.cc:655]   native: #04 pc 00078567  /apex/com.android.runtime/lib/bionic/libc.so (__start_thread+71)
    runtime.cc:655]   (no managed stack frames)
    runtime.cc:655] 
    runtime.cc:655] "xcrash_trace_dp" prio=5 tid=19 Native
    runtime.cc:655]   | group="" sCount=1 dsCount=0 flags=1 obj=0x12ec06d8 self=0xe39cfc10
    runtime.cc:655]   | sysTid=23642 nice=0 cgrp=top-app sched=0/0 handle=0xc294c1e0
2020-10-10 10:49:40.985 23612-23724/com.github.gzuliyujiang.jiapufan.dailonggong A/fan.dailonggon: runtime.cc:655]   | state=S schedstat=( 312226 3898175 1 ) utm=0 stm=0 core=2 HZ=100
    runtime.cc:655]   | stack=0xc2851000-0xc2853000 stackSize=1008KB
    runtime.cc:655]   | held mutexes=
    runtime.cc:655]   native: #00 pc 00000b97  [vdso] (__kernel_vsyscall+7)
    runtime.cc:655]   native: #01 pc 000ccf8c  /apex/com.android.runtime/lib/bionic/libc.so (read+28)
    runtime.cc:655]   native: #02 pc 00004dad  /data/app/~~ANWecRyZ5oqQA5eFAfBahA==/com.github.gzuliyujiang.jiapufan.dailonggong-lWZai_eWKma5YolXGQl54A==/lib/x86/libxcrash.so (???)
    runtime.cc:655]   native: #03 pc 000e6964  /apex/com.android.runtime/lib/bionic/libc.so (__pthread_start(void*)+100)
    runtime.cc:655]   native: #04 pc 00078567  /apex/com.android.runtime/lib/bionic/libc.so (__start_thread+71)
    runtime.cc:655]   (no managed stack frames)
    runtime.cc:655] 
    runtime.cc:655] "Chrome_ProcessLauncherThread" prio=5 tid=23 Native
    runtime.cc:655]   | group="" sCount=1 dsCount=0 flags=1 obj=0x12ec0750 self=0xe39d7a10
    runtime.cc:655]   | sysTid=23651 nice=0 cgrp=top-app sched=0/0 handle=0xc1df31e0
    runtime.cc:655]   | state=S schedstat=( 7926203 5891395 17 ) utm=0 stm=0 core=2 HZ=100
    runtime.cc:655]   | stack=0xc1cf0000-0xc1cf2000 stackSize=1040KB
    runtime.cc:655]   | held mutexes=
    runtime.cc:655]   native: #00 pc 00000b99  [vdso] (__kernel_vsyscall+9)
    runtime.cc:655]   native: #01 pc 000cf2bb  /apex/com.android.runtime/lib/bionic/libc.so (__epoll_pwait+43)
    runtime.cc:655]   native: #02 pc 00088f9d  /apex/com.android.runtime/lib/bionic/libc.so (epoll_wait+45)
    runtime.cc:655]   native: #03 pc 0001a003  /system/lib/libutils.so (android::Looper::pollInner(int)+259)
    runtime.cc:655]   native: #04 pc 00019e96  /system/lib/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+118)
    runtime.cc:655]   native: #05 pc 0010ef8b  /system/lib/libandroid_runtime.so (android::android_os_MessageQueue_nativePollOnce(_JNIEnv*, _jobject*, long long, int)+59)
    runtime.cc:655]   at android.os.MessageQueue.nativePollOnce(Native method)
    runtime.cc:655]   at android.os.MessageQueue.next(MessageQueue.java:335)
    runtime.cc:655]   at android.os.Looper.loop(Looper.java:183)
    runtime.cc:655]   at android.os.HandlerThread.run(HandlerThread.java:67)
    runtime.cc:655] 
    runtime.cc:655] "GoogleApiHandler" prio=5 tid=25 Native
    runtime.cc:655]   | group="" sCount=1 dsCount=0 flags=1 obj=0x12ec0870 self=0xe39d9610
    runtime.cc:655]   | sysTid=23653 nice=9 cgrp=top-app sched=0/0 handle=0xc1be11e0
    runtime.cc:655]   | state=S schedstat=( 15719345 18720896 37 ) utm=0 stm=1 core=3 HZ=100
    runtime.cc:655]   | stack=0xc1ade000-0xc1ae0000 stackSize=1040KB
    runtime.cc:655]   | held mutexes=
    runtime.cc:655]   native: #00 pc 00000b99  [vdso] (__kernel_vsyscall+9)
    runtime.cc:655]   native: #01 pc 000cf2bb  /apex/com.android.runtime/lib/bionic/libc.so (__epoll_pwait+43)
    runtime.cc:655]   native: #02 pc 00088f9d  /apex/com.android.runtime/lib/bionic/libc.so (epoll_wait+45)
    runtime.cc:655]   native: #03 pc 0001a003  /system/lib/libutils.so (android::Looper::pollInner(int)+259)
    runtime.cc:655]   native: #04 pc 00019e96  /system/lib/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+118)
    runtime.cc:655]   native: #05 pc 0010ef8b  /system/lib/libandroid_runtime.so (android::android_os_MessageQueue_nativePollOnce(_JNIEnv*, _jobject*, long long, int)+59)
    runtime.cc:655]   at android.os.MessageQueue.nativePollOnce(Native method)
    runtime.cc:655]   at android.os.MessageQueue.next(MessageQueue.java:335)
    runtime.cc:655]   at android.os.Looper.loop(Looper.java:183)
    runtime.cc:655]   at android.os.HandlerThread.run(HandlerThread.java:67)
    runtime.cc:655] 
    runtime.cc:655] "Chrome_IOThread" prio=7 tid=26 Native
    runtime.cc:655]   | group="" sCount=1 dsCount=0 flags=1 obj=0x12ec0990 self=0xe39db210
    runtime.cc:655]   | sysTid=23666 nice=-4 cgrp=top-app sched=0/0 handle=0xc12b81e0
    runtime.cc:655]   | state=S schedstat=( 16537335 2575912 31 ) utm=0 stm=1 core=2 HZ=100
    runtime.cc:655]   | stack=0xc11bd000-0xc11bf000 stackSize=1008KB
    runtime.cc:655]   | held mutexes=
2020-10-10 10:49:40.985 23612-23724/com.github.gzuliyujiang.jiapufan.dailonggong A/fan.dailonggon: runtime.cc:655]   native: #00 pc 00000b99  [vdso] (__kernel_vsyscall+9)
    runtime.cc:655]   native: #01 pc 000cf2bb  /apex/com.android.runtime/lib/bionic/libc.so (__epoll_pwait+43)
    runtime.cc:655]   native: #02 pc 00088f9d  /apex/com.android.runtime/lib/bionic/libc.so (epoll_wait+45)
    runtime.cc:655]   native: #03 pc 01234d88  /product/app/TrichromeLibrary/TrichromeLibrary.apk!libmonochrome.so (offset 637000) (???)
    runtime.cc:655]   (no managed stack frames)
    runtime.cc:655] 
    runtime.cc:655] "ThreadPoolForeg" prio=5 tid=27 Native
    runtime.cc:655]   | group="" sCount=1 dsCount=0 flags=1 obj=0x12ec0a08 self=0xe39d6c10
    runtime.cc:655]   | sysTid=23674 nice=0 cgrp=top-app sched=0/0 handle=0xc0fb51e0
    runtime.cc:655]   | state=S schedstat=( 3772095 3182177 17 ) utm=0 stm=0 core=0 HZ=100
    runtime.cc:655]   | stack=0xc0eba000-0xc0ebc000 stackSize=1008KB
    runtime.cc:655]   | held mutexes=
    runtime.cc:655]   native: #00 pc 00000b99  [vdso] (__kernel_vsyscall+9)
    runtime.cc:655]   native: #01 pc 0005ad68  /apex/com.android.runtime/lib/bionic/libc.so (syscall+40)
    runtime.cc:655]   native: #02 pc 0007725e  /apex/com.android.runtime/lib/bionic/libc.so (__futex_wait_ex(void volatile*, bool, int, bool, timespec const*)+142)
    runtime.cc:655]   native: #03 pc 000e5c4a  /apex/com.android.runtime/lib/bionic/libc.so (pthread_cond_timedwait_monotonic_np+90)
    runtime.cc:655]   native: #04 pc 010e18cf  /product/app/TrichromeLibrary/TrichromeLibrary.apk!libmonochrome.so (offset 637000) (???)
    runtime.cc:655]   (no managed stack frames)
    runtime.cc:655] 
    runtime.cc:655] "PlatformServiceBridgeHandlerThread" prio=5 tid=28 Native
    runtime.cc:655]   | group="" sCount=1 dsCount=0 flags=1 obj=0x12ec0a80 self=0xe39d5010
    runtime.cc:655]   | sysTid=23685 nice=0 cgrp=top-app sched=0/0 handle=0xc06ac1e0
    runtime.cc:655]   | state=S schedstat=( 3022565 3291655 8 ) utm=0 stm=0 core=2 HZ=100
    runtime.cc:655]   | stack=0xc05a9000-0xc05ab000 stackSize=1040KB
    runtime.cc:655]   | held mutexes=
    runtime.cc:655]   native: #00 pc 00000b99  [vdso] (__kernel_vsyscall+9)
    runtime.cc:655]   native: #01 pc 000cf2bb  /apex/com.android.runtime/lib/bionic/libc.so (__epoll_pwait+43)
    runtime.cc:655]   native: #02 pc 00088f9d  /apex/com.android.runtime/lib/bionic/libc.so (epoll_wait+45)
    runtime.cc:655]   native: #03 pc 0001a003  /system/lib/libutils.so (android::Looper::pollInner(int)+259)
    runtime.cc:655]   native: #04 pc 00019e96  /system/lib/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+118)
    runtime.cc:655]   native: #05 pc 0010ef8b  /system/lib/libandroid_runtime.so (android::android_os_MessageQueue_nativePollOnce(_JNIEnv*, _jobject*, long long, int)+59)
    runtime.cc:655]   at android.os.MessageQueue.nativePollOnce(Native method)
    runtime.cc:655]   at android.os.MessageQueue.next(MessageQueue.java:335)
    runtime.cc:655]   at android.os.Looper.loop(Looper.java:183)
    runtime.cc:655]   at android.os.HandlerThread.run(HandlerThread.java:67)
    runtime.cc:655] 
    runtime.cc:655] "Binder:23612_3" prio=5 tid=29 Native
    runtime.cc:655]   | group="" sCount=1 dsCount=0 flags=1 obj=0x12ec0ba0 self=0xe39ddc10
    runtime.cc:655]   | sysTid=23688 nice=0 cgrp=top-app sched=0/0 handle=0xc05a31e0
    runtime.cc:655]   | state=S schedstat=( 19912762 25007545 46 ) utm=0 stm=1 core=2 HZ=100
    runtime.cc:655]   | stack=0xc04a8000-0xc04aa000 stackSize=1008KB
    runtime.cc:655]   | held mutexes=
    runtime.cc:655]   native: #00 pc 00000b97  [vdso] (__kernel_vsyscall+7)
    runtime.cc:655]   native: #01 pc 000cd45c  /apex/com.android.runtime/lib/bionic/libc.so (__ioctl+28)
    runtime.cc:655]   native: #02 pc 00080e6a  /apex/com.android.runtime/lib/bionic/libc.so (ioctl+58)
    runtime.cc:655]   native: #03 pc 00050edb  /system/lib/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+331)
    runtime.cc:655]   native: #04 pc 0005117a  /system/lib/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+42)
    runtime.cc:655]   native: #05 pc 00051cb8  /system/lib/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+72)
2020-10-10 10:49:40.985 23612-23724/com.github.gzuliyujiang.jiapufan.dailonggong A/fan.dailonggon: runtime.cc:655]   native: #06 pc 0007e309  /system/lib/libbinder.so (android::PoolThread::threadLoop()+41)
    runtime.cc:655]   native: #07 pc 00015116  /system/lib/libutils.so (android::Thread::_threadLoop(void*)+374)
    runtime.cc:655]   native: #08 pc 00098fee  /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+174)
    runtime.cc:655]   native: #09 pc 000147d9  /system/lib/libutils.so (thread_data_t::trampoline(thread_data_t const*)+457)
    runtime.cc:655]   native: #10 pc 000e6964  /apex/com.android.runtime/lib/bionic/libc.so (__pthread_start(void*)+100)
    runtime.cc:655]   native: #11 pc 00078567  /apex/com.android.runtime/lib/bionic/libc.so (__start_thread+71)
    runtime.cc:655]   (no managed stack frames)
    runtime.cc:655] 
    runtime.cc:655] "ThreadPoolForeg" prio=5 tid=30 Native
    runtime.cc:655]   | group="" sCount=1 dsCount=0 flags=1 obj=0x12ec0c18 self=0xe39e2210
    runtime.cc:655]   | sysTid=23684 nice=0 cgrp=top-app sched=0/0 handle=0xc07ad1e0
    runtime.cc:655]   | state=S schedstat=( 4574948 279813 23 ) utm=0 stm=0 core=0 HZ=100
    runtime.cc:655]   | stack=0xc06b2000-0xc06b4000 stackSize=1008KB
    runtime.cc:655]   | held mutexes=
    runtime.cc:655]   native: #00 pc 00000b99  [vdso] (__kernel_vsyscall+9)
    runtime.cc:655]   native: #01 pc 0005ad68  /apex/com.android.runtime/lib/bionic/libc.so (syscall+40)
    runtime.cc:655]   native: #02 pc 0007725e  /apex/com.android.runtime/lib/bionic/libc.so (__futex_wait_ex(void volatile*, bool, int, bool, timespec const*)+142)
    runtime.cc:655]   native: #03 pc 000e5c4a  /apex/com.android.runtime/lib/bionic/libc.so (pthread_cond_timedwait_monotonic_np+90)
    runtime.cc:655]   native: #04 pc 010e18cf  /product/app/TrichromeLibrary/TrichromeLibrary.apk!libmonochrome.so (offset 637000) (???)
    runtime.cc:655]   (no managed stack frames)
    runtime.cc:655] 
    runtime.cc:655] "MemoryInfra" prio=5 tid=2 Native
    runtime.cc:655]   | group="" sCount=1 dsCount=0 flags=1 obj=0x12ec0c90 self=0xe39da410
    runtime.cc:655]   | sysTid=23671 nice=0 cgrp=top-app sched=0/0 handle=0xc11b71e0
    runtime.cc:655]   | state=S schedstat=( 12329607 1059158 8 ) utm=0 stm=0 core=3 HZ=100
    runtime.cc:655]   | stack=0xc10bc000-0xc10be000 stackSize=1008KB
    runtime.cc:655]   | held mutexes=
    runtime.cc:655]   native: #00 pc 00000b97  [vdso] (__kernel_vsyscall+7)
    runtime.cc:655]   native: #01 pc 0005ad68  /apex/com.android.runtime/lib/bionic/libc.so (syscall+40)
    runtime.cc:655]   native: #02 pc 0007725e  /apex/com.android.runtime/lib/bionic/libc.so (__futex_wait_ex(void volatile*, bool, int, bool, timespec const*)+142)
    runtime.cc:655]   native: #03 pc 000e5b1e  /apex/com.android.runtime/lib/bionic/libc.so (pthread_cond_wait+62)
    runtime.cc:655]   native: #04 pc 01313075  /product/app/TrichromeLibrary/TrichromeLibrary.apk!libmonochrome.so (offset 637000) (???)
    runtime.cc:655]   (no managed stack frames)
    runtime.cc:655] 
    runtime.cc:655] "AsyncTask #4" prio=5 tid=5 TimedWaiting
    runtime.cc:655]   | group="" sCount=1 dsCount=0 flags=1 obj=0x12ec0d80 self=0xe39d3410
    runtime.cc:655]   | sysTid=23730 nice=0 cgrp=top-app sched=0/0 handle=0xc1cea1e0
    runtime.cc:655]   | state=S schedstat=( 68491479 155914417 181 ) utm=1 stm=5 core=0 HZ=100
    runtime.cc:655]   | stack=0xc1be7000-0xc1be9000 stackSize=1040KB
    runtime.cc:655]   | held mutexes=
    runtime.cc:655]   native: #00 pc 00000b99  [vdso] (__kernel_vsyscall+9)
    runtime.cc:655]   native: #01 pc 0005ad68  /apex/com.android.runtime/lib/bionic/libc.so (syscall+40)
    runtime.cc:655]   native: #02 pc 00695c82  /apex/com.android.art/lib/libart.so (art::Thread::Park(bool, long long)+1394)
    runtime.cc:655]   native: #03 pc 00590272  /apex/com.android.art/lib/libart.so (art::Unsafe_park(_JNIEnv*, _jobject*, unsigned char, long long)+738)
    runtime.cc:655]   at sun.misc.Unsafe.park(Native method)
    runtime.cc:655]   - waiting on an unknown object
    runtime.cc:655]   at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230)
2020-10-10 10:49:40.985 23612-23724/com.github.gzuliyujiang.jiapufan.dailonggong A/fan.dailonggon: runtime.cc:655]   at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:461)
    runtime.cc:655]   at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362)
    runtime.cc:655]   at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:937)
    runtime.cc:655]   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1091)
    runtime.cc:655]   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    runtime.cc:655]   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    runtime.cc:655]   at java.lang.Thread.run(Thread.java:923)
    runtime.cc:655] 
    runtime.cc:655] "queued-work-looper" prio=6 tid=18 Native
    runtime.cc:655]   | group="" sCount=1 dsCount=0 flags=1 obj=0x12ec0e48 self=0xe39d8810
    runtime.cc:655]   | sysTid=23777 nice=-2 cgrp=top-app sched=0/0 handle=0xc02bc1e0
    runtime.cc:655]   | state=S schedstat=( 330284 4570592 4 ) utm=0 stm=0 core=0 HZ=100
    runtime.cc:655]   | stack=0xc01b9000-0xc01bb000 stackSize=1040KB
    runtime.cc:655]   | held mutexes=
    runtime.cc:655]   native: #00 pc 00000b99  [vdso] (__kernel_vsyscall+9)
    runtime.cc:655]   native: #01 pc 000cf2bb  /apex/com.android.runtime/lib/bionic/libc.so (__epoll_pwait+43)
    runtime.cc:655]   native: #02 pc 00088f9d  /apex/com.android.runtime/lib/bionic/libc.so (epoll_wait+45)
    runtime.cc:655]   native: #03 pc 0001a003  /system/lib/libutils.so (android::Looper::pollInner(int)+259)
    runtime.cc:655]   native: #04 pc 00019e96  /system/lib/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+118)
    runtime.cc:655]   native: #05 pc 0010ef8b  /system/lib/libandroid_runtime.so (android::android_os_MessageQueue_nativePollOnce(_JNIEnv*, _jobject*, long long, int)+59)
    runtime.cc:655]   at android.os.MessageQueue.nativePollOnce(Native method)
    runtime.cc:655]   at android.os.MessageQueue.next(MessageQueue.java:335)
    runtime.cc:655]   at android.os.Looper.loop(Looper.java:183)
    runtime.cc:655]   at android.os.HandlerThread.run(HandlerThread.java:67)
    runtime.cc:655] 
    runtime.cc:655] "Binder:23612_4" prio=5 tid=7 Native
    runtime.cc:655]   | group="" sCount=1 dsCount=0 flags=1 obj=0x12e80f88 self=0xe39d1810
    runtime.cc:655]   | sysTid=23789 nice=0 cgrp=top-app sched=0/0 handle=0xc25c01e0
    runtime.cc:655]   | state=S schedstat=( 3979386 8624252 17 ) utm=0 stm=0 core=3 HZ=100
    runtime.cc:655]   | stack=0xc24c5000-0xc24c7000 stackSize=1008KB
    runtime.cc:655]   | held mutexes=
    runtime.cc:655]   native: #00 pc 00000b97  [vdso] (__kernel_vsyscall+7)
    runtime.cc:655]   native: #01 pc 000cd45c  /apex/com.android.runtime/lib/bionic/libc.so (__ioctl+28)
    runtime.cc:655]   native: #02 pc 00080e6a  /apex/com.android.runtime/lib/bionic/libc.so (ioctl+58)
    runtime.cc:655]   native: #03 pc 00050edb  /system/lib/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+331)
    runtime.cc:655]   native: #04 pc 0005117a  /system/lib/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+42)
    runtime.cc:655]   native: #05 pc 00051cb8  /system/lib/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+72)
    runtime.cc:655]   native: #06 pc 0007e309  /system/lib/libbinder.so (android::PoolThread::threadLoop()+41)
    runtime.cc:655]   native: #07 pc 00015116  /system/lib/libutils.so (android::Thread::_threadLoop(void*)+374)
    runtime.cc:655]   native: #08 pc 00098fee  /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+174)
    runtime.cc:655]   native: #09 pc 000147d9  /system/lib/libutils.so (thread_data_t::trampoline(thread_data_t const*)+457)
    runtime.cc:655]   native: #10 pc 000e6964  /apex/com.android.runtime/lib/bionic/libc.so (__pthread_start(void*)+100)
    runtime.cc:655]   native: #11 pc 00078567  /apex/com.android.runtime/lib/bionic/libc.so (__start_thread+71)
    runtime.cc:655]   (no managed stack frames)
    runtime.cc:655] 
    runtime.cc:655] "AsyncTask #7" prio=4 tid=21 TimedWaiting
    runtime.cc:655]   | group="" sCount=1 dsCount=0 flags=1 obj=0x12e40630 self=0xe39cd210
2020-10-10 10:49:40.985 23612-23724/com.github.gzuliyujiang.jiapufan.dailonggong A/fan.dailonggon: runtime.cc:655]   | sysTid=23799 nice=10 cgrp=top-app sched=0/0 handle=0xbd3a11e0
    runtime.cc:655]   | state=S schedstat=( 25887906 23682948 66 ) utm=0 stm=2 core=2 HZ=100
    runtime.cc:655]   | stack=0xbd29e000-0xbd2a0000 stackSize=1040KB
    runtime.cc:655]   | held mutexes=
    runtime.cc:655]   native: #00 pc 00000b99  [vdso] (__kernel_vsyscall+9)
    runtime.cc:655]   native: #01 pc 0005ad68  /apex/com.android.runtime/lib/bionic/libc.so (syscall+40)
    runtime.cc:655]   native: #02 pc 00695c82  /apex/com.android.art/lib/libart.so (art::Thread::Park(bool, long long)+1394)
    runtime.cc:655]   native: #03 pc 00590272  /apex/com.android.art/lib/libart.so (art::Unsafe_park(_JNIEnv*, _jobject*, unsigned char, long long)+738)
    runtime.cc:655]   at sun.misc.Unsafe.park(Native method)
    runtime.cc:655]   - waiting on an unknown object
    runtime.cc:655]   at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230)
    runtime.cc:655]   at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:461)
    runtime.cc:655]   at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362)
    runtime.cc:655]   at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:937)
    runtime.cc:655]   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1091)
    runtime.cc:655]   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    runtime.cc:655]   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    runtime.cc:655]   at java.lang.Thread.run(Thread.java:923)
    runtime.cc:655] 
    runtime.cc:655] Aborting thread:
    runtime.cc:655] "RenderThread" prio=10 tid=3 Native
    runtime.cc:655]   | group="" sCount=0 dsCount=0 flags=0 obj=0x12ec0d08 self=0xe39d5e10
    runtime.cc:655]   | sysTid=23724 nice=-10 cgrp=top-app sched=0/0 handle=0xc27fc1e0
    runtime.cc:655]   | state=R schedstat=( 4211271486 1169366720 2025 ) utm=11 stm=410 core=3 HZ=100
    runtime.cc:655]   | stack=0xc2701000-0xc2703000 stackSize=1008KB
    runtime.cc:655]   | held mutexes= "abort lock"
    runtime.cc:655]   native: #00 pc 00542d7e  /apex/com.android.art/lib/libart.so (art::DumpNativeStack(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, int, BacktraceMap*, char const*, art::ArtMethod*, void*, bool)+110)
    runtime.cc:655]   native: #01 pc 006a0877  /apex/com.android.art/lib/libart.so (art::Thread::DumpStack(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, bool, BacktraceMap*, bool) const+1015)
    runtime.cc:655]   native: #02 pc 0069a151  /apex/com.android.art/lib/libart.so (art::Thread::Dump(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, bool, BacktraceMap*, bool) const+65)
    runtime.cc:655]   native: #03 pc 006522a5  /apex/com.android.art/lib/libart.so (art::AbortState::DumpThread(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, art::Thread*) const+53)
    runtime.cc:655]   native: #04 pc 00639a9b  /apex/com.android.art/lib/libart.so (art::Runtime::Abort(char const*)+2587)
    runtime.cc:655]   native: #05 pc 00025a23  /apex/com.android.art/lib/libartbase.so (std::__1::__function::__func<void (*)(char const*), std::__1::allocator<void (*)(char const*)>, void (char const*)>::operator()(char const*&&)+35)
    runtime.cc:655]   native: #06 pc 0001588f  /system/lib/libbase.so (android::base::SetAborter(std::__1::function<void (char const*)>&&)::$_3::__invoke(char const*)+79)
    runtime.cc:655]   native: #07 pc 00006291  /system/lib/liblog.so (__android_log_call_aborter+33)
    runtime.cc:655]   native: #08 pc 00014d14  /system/lib/libbase.so (android::base::LogMessage::~LogMessage()+436)
    runtime.cc:655]   native: #09 pc 00405db0  /apex/com.android.art/lib/libart.so (art::JavaVMExt::JniAbort(char const*, char const*)+2912)
    runtime.cc:655]   native: #10 pc 00405e44  /apex/com.android.art/lib/libart.so (art::JavaVMExt::JniAbortV(char const*, char const*, char*)+116)
2020-10-10 10:49:40.985 23612-23724/com.github.gzuliyujiang.jiapufan.dailonggong A/fan.dailonggon: runtime.cc:655]   native: #11 pc 003f60b3  /apex/com.android.art/lib/libart.so (art::(anonymous namespace)::ScopedCheck::AbortF(char const*, ...)+67)
    runtime.cc:655]   native: #12 pc 003f4c1d  /apex/com.android.art/lib/libart.so (art::(anonymous namespace)::ScopedCheck::CheckPossibleHeapValue(art::ScopedObjectAccess&, char, art::(anonymous namespace)::JniValueType)+3837)
    runtime.cc:655]   native: #13 pc 003f34c9  /apex/com.android.art/lib/libart.so (art::(anonymous namespace)::ScopedCheck::Check(art::ScopedObjectAccess&, bool, char const*, art::(anonymous namespace)::JniValueType*)+969)
    runtime.cc:655]   native: #14 pc 003f9212  /apex/com.android.art/lib/libart.so (art::(anonymous namespace)::CheckJNI::CheckCallArgs(art::ScopedObjectAccess&, art::(anonymous namespace)::ScopedCheck&, _JNIEnv*, _jobject*, _jclass*, _jmethodID*, art::InvokeType, art::(anonymous namespace)::VarArgs const*)+306)
    runtime.cc:655]   native: #15 pc 003f82d1  /apex/com.android.art/lib/libart.so (art::(anonymous namespace)::CheckJNI::CallMethodV(char const*, _JNIEnv*, _jobject*, _jclass*, _jmethodID*, char*, art::Primitive::Type, art::InvokeType)+865)
    runtime.cc:655]   native: #16 pc 003e3e79  /apex/com.android.art/lib/libart.so (art::(anonymous namespace)::CheckJNI::CallVoidMethodV(_JNIEnv*, _jobject*, _jmethodID*, char*)+73)
    runtime.cc:655]   native: #17 pc 001d2dfe  /system/lib/libhwui.so (_JNIEnv::CallVoidMethod(_jobject*, _jmethodID*, ...)+62)
    runtime.cc:655]   native: #18 pc 0023b7ec  /system/lib/libhwui.so (_ZNSt3__110__function6__funcIZN7androidL54android_view_ThreadedRenderer_setFrameCompleteCallbackEP7_JNIEnvP8_jobjectxS6_E3$_2NS_9allocatorIS7_EEFvxEEclEOx$78790a34cc3fbcbe13dc6089df1d560d+156)
    runtime.cc:655]   native: #19 pc 002584a0  /system/lib/libhwui.so (android::uirenderer::renderthread::CanvasContext::draw()+2672)
    runtime.cc:655]   native: #20 pc 0025ab6f  /system/lib/libhwui.so (_ZNSt3__110__function6__funcIZN7android10uirenderer12renderthread13DrawFrameTask11postAndWaitEvE3$_0NS_9allocatorIS6_EEFvvEEclEv$c303f2d2360db58ed70a2d0ac7ed911b+767)
    runtime.cc:655]   native: #21 pc 0024543d  /system/lib/libhwui.so (android::uirenderer::WorkQueue::process()+285)
    runtime.cc:655]   native: #22 pc 0026cacf  /system/lib/libhwui.so (android::uirenderer::renderthread::RenderThread::threadLoop()+127)
    runtime.cc:655]   native: #23 pc 00015116  /system/lib/libutils.so (android::Thread::_threadLoop(void*)+374)
    runtime.cc:655]   native: #24 pc 000147d9  /system/lib/libutils.so (thread_data_t::trampoline(thread_data_t const*)+457)
    runtime.cc:655]   native: #25 pc 000e6964  /apex/com.android.runtime/lib/bionic/libc.so (__pthread_start(void*)+100)
    runtime.cc:655]   native: #26 pc 00078567  /apex/com.android.runtime/lib/bionic/libc.so (__start_thread+71)
    runtime.cc:655]   (no managed stack frames)
    runtime.cc:655] Pending exception java.lang.IllegalStateException: Unable to create layer for View, size 0x1600 max size 8192 color type 4 has context 1
    runtime.cc:655] (Throwable with empty stack trace)
    runtime.cc:655] 
2020-10-10 10:49:40.986 23612-23724/com.github.gzuliyujiang.jiapufan.dailonggong A/fan.dailonggon: runtime.cc:663] JNI DETECTED ERROR IN APPLICATION: JNI CallVoidMethodV called with pending exception java.lang.IllegalStateException: Unable to create layer for View, size 0x1600 max size 8192 color type 4 has context 1
    runtime.cc:663] (Throwable with empty stack trace)
    runtime.cc:663] 
    runtime.cc:663]     in call to CallVoidMethodV
2020-10-10 10:49:41.176 23612-23641/com.github.gzuliyujiang.jiapufan.dailonggong E/memtrack: Couldn't load memtrack module
    
    --------- beginning of crash
2020-10-10 10:49:41.228 23612-23724/com.github.gzuliyujiang.jiapufan.dailonggong A/libc: Fatal signal 6 (SIGABRT), code -6 (SI_TKILL) in tid 23724 (RenderThread), pid 23612 (fan.dailonggong)

liyujiang-gzu avatar Oct 10 '20 02:10 liyujiang-gzu

你的demo是没问题的,和我的应用场景有关,我是基于io.noties.markwon实现了一个Markdown解析器,启动Markdown解析器Activity是正常的,但是点击里面的链接再启动新的Activity就闪退了。…………然而,我基于你的demo同样实现一个Markdown解析器并不会闪退,看来闪退复现的场景还是特定的啊。

liyujiang-gzu avatar Oct 10 '20 03:10 liyujiang-gzu

+1,曾经也遇到这个问题。

老哥,那你当初是怎么搞定的?

liyujiang-gzu avatar Oct 10 '20 03:10 liyujiang-gzu

@liyujiang-gzu 如果可以的话,请提供一个最小化的可复现工程,这样便于我们确定问题和验证修复。

我记得我曾经也遇到这个问题,而且是 native 级别的崩溃,所以当时还很难捕捉到它,于是我改为自己实现的另一个 FastScroller 解决了(实际上我本来就做过这方面的工作,只是当时有一个新场景未能直接使用原有的,于是就尝试使用 zhanghai/AndroidFastScroll 这个版本),也就是说,其实并没有直接解决 zhanghai/AndroidFastScroll 的这个问题。具体问题我记不太清楚了,可能需要找一下 commit 记录,待确认。

drakeet avatar Oct 10 '20 03:10 drakeet

我想起我曾经还为此开了一个 issue,只是当时我并没有找到它的准确 root cause,所以就自行关闭了,现在既然有人遇到和我一样的问题,有必要切实排查一下了: onPreDraw is called indefinitely, causing ANR and exception #23

@zhanghai 看起来这位朋友遇到的错误栈和我当时的到的是一样的,而且都是 native 级别的 crash——这样的 crash 往往更加难以发现和捕捉,可能会导致使用了这个库的项目发生错误而找不到根源。

drakeet avatar Oct 10 '20 03:10 drakeet

@liyujiang-gzu 如果可以的话,请提供一个最小化的可复现工程,这样便于我们确定问题和验证修复。

我记得我曾经也遇到这个问题,而且是 native 级别的崩溃,所以当时还很难捕捉到它,于是我改为自己实现的另一个 FastScroller 解决了(实际上我本来就做过这方面的工作,只是当时有一个新场景未能直接使用原有的,于是就尝试使用 zhanghai/AndroidFastScroll 这个版本),也就是说,其实并没有直接解决 zhanghai/AndroidFastScroll 的这个问题。具体问题我记不太清楚了,可能需要找一下 commit 记录,待确认。

我尝试建立一个简单的demo来复现闪退场景,但是没如预期一样复现。从闪退日志来看是native级别的,很难分析出触发的原因,要构建一个最小化的可复现工程也就不好办啊

liyujiang-gzu avatar Oct 10 '20 05:10 liyujiang-gzu

错误的来源在 SkiaPipeline::createOrUpdateLayer,调用 node->getLayerSurface() 返回了 nullptr,也就是说稍早时的 SkSurface::MakeRenderTarget 失败了。比较让人在意的是错误消息里的 size: 0x1600,你的代码里有宽度为 0 的控件吗?

Pending exception java.lang.IllegalStateException: Unable to create layer for View, size 0x1600 max size 8192 color type 4 has context 1

以及,我自己的应用 zhanghai/MaterialFiles 也用了这个库,但是并没有在 Android 10+ 遇到这个问题,所以应该是有什么我不知道的触发条件。

zhanghai avatar Oct 10 '20 05:10 zhanghai

往 Skia 里看了几层,发现确实是 width0 导致的问题,在 GrCaps::validateSurfaceParamsdimensions.width() < 1 会导致验证失败最终 SkSurface::MakeRenderTarget 失败。

zhanghai avatar Oct 10 '20 06:10 zhanghai

错误的来源在 SkiaPipeline::createOrUpdateLayer,调用 node->getLayerSurface() 返回了 nullptr,也就是说稍早时的 SkSurface::MakeRenderTarget 失败了。比较让人在意的是错误消息里的 size: 0x1600,你的代码里有宽度为 0 的控件吗?

Pending exception java.lang.IllegalStateException: Unable to create layer for View, size 0x1600 max size 8192 color type 4 has context 1

以及,我自己的应用 zhanghai/MaterialFiles 也用了这个库,但是并没有在 Android 10+ 遇到这个问题,所以应该是有什么我不知道的触发条件。

代码里没有明示的宽度为0的,只有wrap_content的不可见的RelativeLayout占位控件,以及固定宽度32dp的ProgressBar,其他的宽度都是match_parent

liyujiang-gzu avatar Oct 10 '20 06:10 liyujiang-gzu

应该需要搭配 https://github.com/noties/Markwon 这个项目进行复现,我当时也是使用到 Markwon 才遇到这个问题。当承载 Markdown 的 TextView 长度一变,就可能触发 FastScroller 异常。

drakeet avatar Oct 10 '20 07:10 drakeet

应该需要搭配 https://github.com/noties/Markwon 这个项目进行复现,我当时也是使用到 Markwon 才遇到这个问题。当承载 Markdown 的 TextView 长度一变,就可能触发 FastScroller 异常。

@zhanghai @drakeet 我重新建立了个demo,基于noties/Markwon及zhanghai/AndroidFastScrolll,可以重现了,下载这个附件: AndroidFastScroll.zip

liyujiang-gzu avatar Oct 10 '20 07:10 liyujiang-gzu

触发奔溃的条件貌似是:Activity+noties/Markwon+zhanghai/AndroidFastScrolll

liyujiang-gzu avatar Oct 10 '20 07:10 liyujiang-gzu

.setTrackDrawable(new ColorDrawable(Color.TRANSPARENT))

The source of the bug is here, creating a TRANSPARENT track layer is what is causing this problem. Remove this line and see if the error persists.

More insight I would like to add, but I have not read the code yet, but setting a blank transparent color creates a full screen bound for the view which consequently consumes too much memory. If possible, use a static width and height parameters for the track drawable with transparent color parameter.

Hamza417 avatar Jun 20 '21 09:06 Hamza417

@Hamza417 Thanks for this great observation! Yes, a ColorDrawable has an intrinsic width of -1, which would result in the manual layout code trying to layout with left > right and View.layout() doesn't seem to be checking against this. I'll add a check in FastScroller for this.

@liyujiang-gzu @drakeet Could you verify if setting the track to a transparent shape fixes the issue?

zhanghai avatar Jun 20 '21 10:06 zhanghai

@drakeet @liyujiang-gzu This may have been fixed by #39 and I've released 1.1.8. Could you check if this issue has been fixed?

zhanghai avatar Apr 26 '22 09:04 zhanghai