Filament: Updating Filament 1.8.1 to 1.9.1 causes JNI crash

Created on 24 Sep 2020  路  15Comments  路  Source: google/filament

Describe the bug
After updating Filament 1.8.1 to 1.9.1 on Android, setting irradiance will cause a SIGSEGV.
A/libc: Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x10007

To Reproduce
Here is a sample project to reproduce the issue.
https://github.com/zirman/arcore-filament-example-app/tree/irradience

Expected behavior
Should set ambient spherical harmonics for render models.

Screenshots
N/A

Desktop (please complete the following information):
N/A

Smartphone (please complete the following information):
Edit:

  • Device: Samsung S9
  • OS: Android 10
  • Device: Pixel 3
  • OS: Android 11

Additional context
N/A

android bug

Most helpful comment

Marking as closed since it's now fixed in main. We'll deliver the fix in 1.9.2.

All 15 comments

Please post the full stack trace/logs. I have not observed this issue in our own tests/samples.

Here are the logs when run on Pixel 3.

2020-09-24 11:20:44.940 26304-26304/com.example.app E/com.example.ap: JNI ERROR (app bug): accessed stale WeakGlobal 0x345f426a45592d47  (index -1537895724 in a table of size 56)
2020-09-24 11:20:44.942 26304-26304/com.example.app A/com.example.ap: java_vm_ext.cc:577] JNI DETECTED ERROR IN APPLICATION: use of deleted weak global reference 0x345f426a45592d47
    java_vm_ext.cc:577]     from boolean com.google.android.filament.Renderer.nBeginFrame(long, long, long)
2020-09-24 11:20:45.096 26304-26304/com.example.app A/com.example.ap: 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 (34):
    runtime.cc:655] "main" prio=7 tid=1 Runnable
    runtime.cc:655]   | group="" sCount=0 dsCount=0 flags=0 obj=0x722950f8 self=0x7797c037b0
    runtime.cc:655]   | sysTid=26304 nice=-4 cgrp=default sched=0/0 handle=0x78be4944f8
    runtime.cc:655]   | state=R schedstat=( 1160590879 34099010 1650 ) utm=95 stm=19 core=6 HZ=100
    runtime.cc:655]   | stack=0x7ff7477000-0x7ff7479000 stackSize=8192KB
    runtime.cc:655]   | held mutexes= "abort lock" "mutator lock"(shared held)
    runtime.cc:655]   native: #00 pc 000000000049da74  /apex/com.android.art/lib64/libart.so (art::DumpNativeStack(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, int, BacktraceMap*, char const*, art::ArtMethod*, void*, bool)+140)
    runtime.cc:655]   native: #01 pc 00000000005aabcc  /apex/com.android.art/lib64/libart.so (art::Thread::DumpStack(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, bool, BacktraceMap*, bool) const+376)
    runtime.cc:655]   native: #02 pc 00000000005c7d04  /apex/com.android.art/lib64/libart.so (art::DumpCheckpoint::Run(art::Thread*)+924)
    runtime.cc:655]   native: #03 pc 00000000005c1c44  /apex/com.android.art/lib64/libart.so (art::ThreadList::RunCheckpoint(art::Closure*, art::Closure*)+528)
    runtime.cc:655]   native: #04 pc 00000000005c0e10  /apex/com.android.art/lib64/libart.so (art::ThreadList::Dump(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, bool)+1920)
    runtime.cc:655]   native: #05 pc 000000000055ba98  /apex/com.android.art/lib64/libart.so (art::Runtime::Abort(char const*)+1864)
    runtime.cc:655]   native: #06 pc 0000000000013978  /system/lib64/libbase.so (android::base::SetAborter(std::__1::function<void (char const*)>&&)::$_3::__invoke(char const*)+76)
    runtime.cc:655]   native: #07 pc 0000000000012fa4  /system/lib64/libbase.so (android::base::LogMessage::~LogMessage()+320)
    runtime.cc:655]   native: #08 pc 00000000003851a8  /apex/com.android.art/lib64/libart.so (art::JavaVMExt::JniAbort(char const*, char const*)+2572)
    runtime.cc:655]   native: #09 pc 0000000000385318  /apex/com.android.art/lib64/libart.so (art::JavaVMExt::JniAbortF(char const*, char const*, ...)+188)
    runtime.cc:655]   native: #10 pc 00000000005b1364  /apex/com.android.art/lib64/libart.so (art::Thread::DecodeJObject(_jobject*) const+748)
    runtime.cc:655]   native: #11 pc 0000000000376388  /apex/com.android.art/lib64/libart.so (art::(anonymous namespace)::ScopedCheck::CheckInstance(art::ScopedObjectAccess&, art::(anonymous namespace)::ScopedCheck::InstanceKind, _jobject*, bool)+132)
    runtime.cc:655]   native: #12 pc 000000000037502c  /apex/com.android.art/lib64/libart.so (art::(anonymous namespace)::ScopedCheck::CheckPossibleHeapValue(art::ScopedObjectAccess&, char, art::(anonymous namespace)::JniValueType)+564)
    runtime.cc:655]   native: #13 pc 000000000037467c  /apex/com.android.art/lib64/libart.so (art::(anonymous namespace)::ScopedCheck::Check(art::ScopedObjectAccess&, bool, char const*, art::(anonymous namespace)::JniValueType*)+612)
    runtime.cc:655]   native: #14 pc 0000000000377bbc  /apex/com.android.art/lib64/libart.so (art::(anonymous namespace)::CheckJNI::DeleteRef(char const*, _JNIEnv*, _jobject*, art::IndirectRefKind)+696)
    runtime.cc:655]   native: #15 pc 00000000000332a4  /data/app/~~wwJEGxyl9iLV9CN6bnum2A==/com.example.app-1giT_LZ79wHG-YEjB_48Cg==/base.apk!libfilament-jni.so (offset 6a000) (???)
    runtime.cc:655]   at com.google.android.filament.Renderer.nBeginFrame(Native method)
    runtime.cc:655]   at com.google.android.filament.Renderer.beginFrame(Renderer.java:282)
    runtime.cc:655]   at com.example.app.renderer.FrameCallback.doFrame(FrameCallback.kt:46)
    runtime.cc:655]   at android.view.Choreographer$CallbackRecord.run(Choreographer.java:970)
    runtime.cc:655]   at android.view.Choreographer.doCallbacks(Choreographer.java:796)
2020-09-24 11:20:45.096 26304-26304/com.example.app A/com.example.ap: runtime.cc:655]   at android.view.Choreographer.doFrame(Choreographer.java:727)
    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] "Runtime worker thread 0" prio=10 tid=2 Native (still starting up)
    runtime.cc:655]   | group="" sCount=1 dsCount=0 flags=1 obj=0x0 self=0x7797c08b20
    runtime.cc:655]   | sysTid=26310 nice=-20 cgrp=default sched=0/0 handle=0x78bcfe7d00
    runtime.cc:655]   | state=S schedstat=( 206771 8125 4 ) utm=0 stm=0 core=7 HZ=100
    runtime.cc:655]   | stack=0x78bcfd9000-0x78bcfdb000 stackSize=63KB
    runtime.cc:655]   | held mutexes=
    runtime.cc:655]   native: #00 pc 000000000004aecc  /apex/com.android.runtime/lib64/bionic/libc.so (syscall+28)
    runtime.cc:655]   native: #01 pc 00000000001af92c  /apex/com.android.art/lib64/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+148)
    runtime.cc:655]   native: #02 pc 00000000005c9a2c  /apex/com.android.art/lib64/libart.so (art::ThreadPool::GetTask(art::Thread*)+120)
    runtime.cc:655]   native: #03 pc 00000000005c8c90  /apex/com.android.art/lib64/libart.so (art::ThreadPoolWorker::Run()+80)
    runtime.cc:655]   native: #04 pc 00000000005c87a0  /apex/com.android.art/lib64/libart.so (art::ThreadPoolWorker::Callback(void*)+192)
    runtime.cc:655]   native: #05 pc 00000000000af888  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+64)
    runtime.cc:655]   native: #06 pc 000000000004fe08  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64)
    runtime.cc:655]   (no managed stack frames)
    runtime.cc:655] 
    runtime.cc:655] "Runtime worker thread 1" prio=10 tid=3 Native (still starting up)
    runtime.cc:655]   | group="" sCount=1 dsCount=0 flags=1 obj=0x0 self=0x7797c00010
    runtime.cc:655]   | sysTid=26311 nice=-20 cgrp=default sched=0/0 handle=0x78bb1dad00
    runtime.cc:655]   | state=S schedstat=( 169479 0 8 ) utm=0 stm=0 core=0 HZ=100
    runtime.cc:655]   | stack=0x78bb1cc000-0x78bb1ce000 stackSize=63KB
    runtime.cc:655]   | held mutexes=
    runtime.cc:655]   native: #00 pc 000000000004aecc  /apex/com.android.runtime/lib64/bionic/libc.so (syscall+28)
    runtime.cc:655]   native: #01 pc 00000000001af92c  /apex/com.android.art/lib64/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+148)
    runtime.cc:655]   native: #02 pc 00000000005c9a2c  /apex/com.android.art/lib64/libart.so (art::ThreadPool::GetTask(art::Thread*)+120)
    runtime.cc:655]   native: #03 pc 00000000005c8c90  /apex/com.android.art/lib64/libart.so (art::ThreadPoolWorker::Run()+80)
    runtime.cc:655]   native: #04 pc 00000000005c87a0  /apex/com.android.art/lib64/libart.so (art::ThreadPoolWorker::Callback(void*)+192)
    runtime.cc:655]   native: #05 pc 00000000000af888  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+64)
    runtime.cc:655]   native: #06 pc 000000000004fe08  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64)
    runtime.cc:655]   (no managed stack frames)
    runtime.cc:655] 
    runtime.cc:655] "Runtime worker thread 2" prio=10 tid=4 Native (still starting up)
    runtime.cc:655]   | group="" sCount=1 dsCount=0 flags=1 obj=0x0 self=0x7797c0de90
    runtime.cc:655]   | sysTid=26312 nice=-20 cgrp=default sched=0/0 handle=0x78bb084d00
    runtime.cc:655]   | state=S schedstat=( 167135 7813 6 ) utm=0 stm=0 core=5 HZ=100
    runtime.cc:655]   | stack=0x78bb076000-0x78bb078000 stackSize=63KB
    runtime.cc:655]   | held mutexes=
2020-09-24 11:20:45.096 26304-26304/com.example.app A/com.example.ap: runtime.cc:655]   native: #00 pc 000000000004aecc  /apex/com.android.runtime/lib64/bionic/libc.so (syscall+28)
    runtime.cc:655]   native: #01 pc 00000000001af92c  /apex/com.android.art/lib64/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+148)
    runtime.cc:655]   native: #02 pc 00000000005c9a2c  /apex/com.android.art/lib64/libart.so (art::ThreadPool::GetTask(art::Thread*)+120)
    runtime.cc:655]   native: #03 pc 00000000005c8c90  /apex/com.android.art/lib64/libart.so (art::ThreadPoolWorker::Run()+80)
    runtime.cc:655]   native: #04 pc 00000000005c87a0  /apex/com.android.art/lib64/libart.so (art::ThreadPoolWorker::Callback(void*)+192)
    runtime.cc:655]   native: #05 pc 00000000000af888  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+64)
    runtime.cc:655]   native: #06 pc 000000000004fe08  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64)
    runtime.cc:655]   (no managed stack frames)
    runtime.cc:655] 
    runtime.cc:655] "Runtime worker thread 3" prio=10 tid=5 Native (still starting up)
    runtime.cc:655]   | group="" sCount=1 dsCount=0 flags=1 obj=0x0 self=0x7797c01be0
    runtime.cc:655]   | sysTid=26313 nice=-20 cgrp=default sched=0/0 handle=0x761fb28d00
    runtime.cc:655]   | state=S schedstat=( 211822 0 9 ) utm=0 stm=0 core=4 HZ=100
    runtime.cc:655]   | stack=0x761fb1a000-0x761fb1c000 stackSize=63KB
    runtime.cc:655]   | held mutexes=
    runtime.cc:655]   native: #00 pc 000000000004aecc  /apex/com.android.runtime/lib64/bionic/libc.so (syscall+28)
    runtime.cc:655]   native: #01 pc 00000000001af92c  /apex/com.android.art/lib64/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+148)
    runtime.cc:655]   native: #02 pc 00000000005c9a2c  /apex/com.android.art/lib64/libart.so (art::ThreadPool::GetTask(art::Thread*)+120)
    runtime.cc:655]   native: #03 pc 00000000005c8c90  /apex/com.android.art/lib64/libart.so (art::ThreadPoolWorker::Run()+80)
    runtime.cc:655]   native: #04 pc 00000000005c87a0  /apex/com.android.art/lib64/libart.so (art::ThreadPoolWorker::Callback(void*)+192)
    runtime.cc:655]   native: #05 pc 00000000000af888  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+64)
    runtime.cc:655]   native: #06 pc 000000000004fe08  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64)
    runtime.cc:655]   (no managed stack frames)
    runtime.cc:655] 
    runtime.cc:655] "Signal Catcher" prio=10 tid=6 WaitingInMainSignalCatcherLoop
    runtime.cc:655]   | group="" sCount=1 dsCount=0 flags=1 obj=0x14880308 self=0x7797c06f50
    runtime.cc:655]   | sysTid=26314 nice=-20 cgrp=default sched=0/0 handle=0x7615486cc0
    runtime.cc:655]   | state=S schedstat=( 402916 0 1 ) utm=0 stm=0 core=4 HZ=100
    runtime.cc:655]   | stack=0x761538f000-0x7615391000 stackSize=995KB
    runtime.cc:655]   | held mutexes=
    runtime.cc:655]   native: #00 pc 000000000009b4b8  /apex/com.android.runtime/lib64/bionic/libc.so (__rt_sigtimedwait+8)
    runtime.cc:655]   native: #01 pc 000000000005c7f8  /apex/com.android.runtime/lib64/bionic/libc.so (sigwait+68)
    runtime.cc:655]   native: #02 pc 0000000000581b8c  /apex/com.android.art/lib64/libart.so (art::SignalCatcher::WaitForSignal(art::Thread*, art::SignalSet&)+428)
    runtime.cc:655]   native: #03 pc 0000000000580784  /apex/com.android.art/lib64/libart.so (art::SignalCatcher::Run(void*)+272)
    runtime.cc:655]   native: #04 pc 00000000000af888  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+64)
    runtime.cc:655]   native: #05 pc 000000000004fe08  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64)
    runtime.cc:655]   (no managed stack frames)
    runtime.cc:655] 
    runtime.cc:655] "perfetto_hprof_listener" prio=10 tid=7 Native (still starting up)
    runtime.cc:655]   | group="" sCount=1 dsCount=0 flags=1 obj=0x0 self=0x7797c0a6f0
    runtime.cc:655]   | sysTid=26315 nice=-20 cgrp=default sched=0/0 handle=0x7614388cc0
    runtime.cc:655]   | state=S schedstat=( 121719 0 1 ) utm=0 stm=0 core=5 HZ=100
    runtime.cc:655]   | stack=0x7614291000-0x7614293000 stackSize=995KB
2020-09-24 11:20:45.096 26304-26304/com.example.app A/com.example.ap: runtime.cc:655]   | held mutexes=
    runtime.cc:655]   native: #00 pc 000000000009a834  /apex/com.android.runtime/lib64/bionic/libc.so (read+4)
    runtime.cc:655]   native: #01 pc 00000000000180bc  /apex/com.android.art/lib64/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*)+280)
    runtime.cc:655]   native: #02 pc 00000000000af888  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+64)
    runtime.cc:655]   native: #03 pc 000000000004fe08  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64)
    runtime.cc:655]   (no managed stack frames)
    runtime.cc:655] 
    runtime.cc:655] "Jit thread pool worker thread 0" prio=5 tid=8 Native
    runtime.cc:655]   | group="" sCount=1 dsCount=0 flags=1 obj=0x14880380 self=0x7797c11630
    runtime.cc:655]   | sysTid=26317 nice=0 cgrp=default sched=0/0 handle=0x75c8af4d00
    runtime.cc:655]   | state=S schedstat=( 26146198 2914425 59 ) utm=2 stm=0 core=4 HZ=100
    runtime.cc:655]   | stack=0x75c89f6000-0x75c89f8000 stackSize=1023KB
    runtime.cc:655]   | held mutexes=
    runtime.cc:655]   native: #00 pc 000000000004aecc  /apex/com.android.runtime/lib64/bionic/libc.so (syscall+28)
    runtime.cc:655]   native: #01 pc 00000000001af92c  /apex/com.android.art/lib64/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+148)
    runtime.cc:655]   native: #02 pc 00000000005c9a2c  /apex/com.android.art/lib64/libart.so (art::ThreadPool::GetTask(art::Thread*)+120)
    runtime.cc:655]   native: #03 pc 00000000005c8cd0  /apex/com.android.art/lib64/libart.so (art::ThreadPoolWorker::Run()+144)
    runtime.cc:655]   native: #04 pc 00000000005c87a0  /apex/com.android.art/lib64/libart.so (art::ThreadPoolWorker::Callback(void*)+192)
    runtime.cc:655]   native: #05 pc 00000000000af888  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+64)
    runtime.cc:655]   native: #06 pc 000000000004fe08  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64)
    runtime.cc:655]   (no managed stack frames)
    runtime.cc:655] 
    runtime.cc:655] "HeapTaskDaemon" prio=5 tid=9 WaitingForTaskProcessor
    runtime.cc:655]   | group="" sCount=1 dsCount=0 flags=1 obj=0x148815c0 self=0x7797c169a0
    runtime.cc:655]   | sysTid=26318 nice=4 cgrp=default sched=0/0 handle=0x75c79efcc0
    runtime.cc:655]   | state=S schedstat=( 20791460 142134 21 ) utm=1 stm=0 core=4 HZ=100
    runtime.cc:655]   | stack=0x75c78ec000-0x75c78ee000 stackSize=1043KB
    runtime.cc:655]   | held mutexes=
    runtime.cc:655]   native: #00 pc 000000000004aed0  /apex/com.android.runtime/lib64/bionic/libc.so (syscall+32)
    runtime.cc:655]   native: #01 pc 00000000001afcfc  /apex/com.android.art/lib64/libart.so (art::ConditionVariable::TimedWait(art::Thread*, long, int)+172)
    runtime.cc:655]   native: #02 pc 00000000002e52c4  /apex/com.android.art/lib64/libart.so (art::gc::TaskProcessor::GetTask(art::Thread*)+512)
    runtime.cc:655]   native: #03 pc 00000000002e5c0c  /apex/com.android.art/lib64/libart.so (art::gc::TaskProcessor::RunAllTasks(art::Thread*)+92)
    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] "ADB-JDWP Connection Control Thread" prio=10 tid=10 WaitingInMainDebuggerLoop
    runtime.cc:655]   | group="" sCount=1 dsCount=0 flags=1 obj=0x148803f8 self=0x7797c14dd0
    runtime.cc:655]   | sysTid=26316 nice=-20 cgrp=default sched=0/0 handle=0x761428acc0
    runtime.cc:655]   | state=S schedstat=( 1619009 23438 22 ) utm=0 stm=0 core=4 HZ=100
    runtime.cc:655]   | stack=0x7614193000-0x7614195000 stackSize=995KB
    runtime.cc:655]   | held mutexes=
    runtime.cc:655]   native: #00 pc 000000000009bb78  /apex/com.android.runtime/lib64/bionic/libc.so (__ppoll+8)
2020-09-24 11:20:45.096 26304-26304/com.example.app A/com.example.ap: runtime.cc:655]   native: #01 pc 0000000000059dc0  /apex/com.android.runtime/lib64/bionic/libc.so (poll+92)
    runtime.cc:655]   native: #02 pc 0000000000009efc  /apex/com.android.art/lib64/libadbconnection.so (adbconnection::AdbConnectionState::RunPollLoop(art::Thread*)+828)
    runtime.cc:655]   native: #03 pc 0000000000008578  /apex/com.android.art/lib64/libadbconnection.so (adbconnection::CallbackFunction(void*)+1508)
    runtime.cc:655]   native: #04 pc 00000000000af888  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+64)
    runtime.cc:655]   native: #05 pc 000000000004fe08  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64)
    runtime.cc:655]   (no managed stack frames)
    runtime.cc:655] 
    runtime.cc:655] "ReferenceQueueDaemon" prio=5 tid=11 Waiting
    runtime.cc:655]   | group="" sCount=1 dsCount=0 flags=1 obj=0x14880470 self=0x7797c18570
    runtime.cc:655]   | sysTid=26319 nice=4 cgrp=default sched=0/0 handle=0x75c68e5cc0
    runtime.cc:655]   | state=S schedstat=( 733231 87396 13 ) utm=0 stm=0 core=7 HZ=100
    runtime.cc:655]   | stack=0x75c67e2000-0x75c67e4000 stackSize=1043KB
    runtime.cc:655]   | held mutexes=
    runtime.cc:655]   native: #00 pc 000000000004aecc  /apex/com.android.runtime/lib64/bionic/libc.so (syscall+28)
    runtime.cc:655]   native: #01 pc 00000000001af92c  /apex/com.android.art/lib64/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+148)
    runtime.cc:655]   native: #02 pc 0000000000498c70  /apex/com.android.art/lib64/libart.so (art::Monitor::Wait(art::Thread*, long, int, bool, art::ThreadState)+544)
    runtime.cc:655]   native: #03 pc 000000000049a4c4  /apex/com.android.art/lib64/libart.so (art::Monitor::Wait(art::Thread*, art::ObjPtr<art::mirror::Object>, long, int, bool, art::ThreadState)+280)
    runtime.cc:655]   at java.lang.Object.wait(Native method)
    runtime.cc:655]   - waiting on <0x0aa3a39f> (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 <0x0aa3a39f> (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] "FinalizerDaemon" prio=5 tid=12 Waiting
    runtime.cc:655]   | group="" sCount=1 dsCount=0 flags=1 obj=0x148804e8 self=0x7797c1a140
    runtime.cc:655]   | sysTid=26320 nice=4 cgrp=default sched=0/0 handle=0x75c67dbcc0
    runtime.cc:655]   | state=S schedstat=( 1275051 1460625 9 ) utm=0 stm=0 core=4 HZ=100
    runtime.cc:655]   | stack=0x75c66d8000-0x75c66da000 stackSize=1043KB
    runtime.cc:655]   | held mutexes=
    runtime.cc:655]   native: #00 pc 000000000004aecc  /apex/com.android.runtime/lib64/bionic/libc.so (syscall+28)
    runtime.cc:655]   native: #01 pc 00000000001af92c  /apex/com.android.art/lib64/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+148)
    runtime.cc:655]   native: #02 pc 0000000000498c70  /apex/com.android.art/lib64/libart.so (art::Monitor::Wait(art::Thread*, long, int, bool, art::ThreadState)+544)
    runtime.cc:655]   native: #03 pc 000000000049a4c4  /apex/com.android.art/lib64/libart.so (art::Monitor::Wait(art::Thread*, art::ObjPtr<art::mirror::Object>, long, int, bool, art::ThreadState)+280)
    runtime.cc:655]   at java.lang.Object.wait(Native method)
    runtime.cc:655]   - waiting on <0x0f814cec> (a java.lang.Object)
    runtime.cc:655]   at java.lang.Object.wait(Object.java:442)
    runtime.cc:655]   at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:190)
    runtime.cc:655]   - locked <0x0f814cec> (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)
2020-09-24 11:20:45.096 26304-26304/com.example.app A/com.example.ap: runtime.cc:655] 
    runtime.cc:655] "FinalizerWatchdogDaemon" prio=5 tid=13 Sleeping
    runtime.cc:655]   | group="" sCount=1 dsCount=0 flags=1 obj=0x14880560 self=0x7797c1d8e0
    runtime.cc:655]   | sysTid=26321 nice=4 cgrp=default sched=0/0 handle=0x75c46d1cc0
    runtime.cc:655]   | state=S schedstat=( 220000 0 9 ) utm=0 stm=0 core=7 HZ=100
    runtime.cc:655]   | stack=0x75c45ce000-0x75c45d0000 stackSize=1043KB
    runtime.cc:655]   | held mutexes=
    runtime.cc:655]   native: #00 pc 000000000004aed0  /apex/com.android.runtime/lib64/bionic/libc.so (syscall+32)
    runtime.cc:655]   native: #01 pc 00000000001afcfc  /apex/com.android.art/lib64/libart.so (art::ConditionVariable::TimedWait(art::Thread*, long, int)+172)
    runtime.cc:655]   native: #02 pc 0000000000498c84  /apex/com.android.art/lib64/libart.so (art::Monitor::Wait(art::Thread*, long, int, bool, art::ThreadState)+564)
    runtime.cc:655]   native: #03 pc 000000000049a4c4  /apex/com.android.art/lib64/libart.so (art::Monitor::Wait(art::Thread*, art::ObjPtr<art::mirror::Object>, long, int, bool, art::ThreadState)+280)
    runtime.cc:655]   at java.lang.Thread.sleep(Native method)
    runtime.cc:655]   - sleeping on <0x0a05d8b5> (a java.lang.Object)
    runtime.cc:655]   at java.lang.Thread.sleep(Thread.java:442)
    runtime.cc:655]   - locked <0x0a05d8b5> (a java.lang.Object)
    runtime.cc:655]   at java.lang.Thread.sleep(Thread.java:358)
    runtime.cc:655]   at java.lang.Daemons$FinalizerWatchdogDaemon.sleepForNanos(Daemons.java:390)
    runtime.cc:655]   at java.lang.Daemons$FinalizerWatchdogDaemon.waitForFinalization(Daemons.java:419)
    runtime.cc:655]   at java.lang.Daemons$FinalizerWatchdogDaemon.runInternal(Daemons.java:325)
    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:26304_1" prio=5 tid=14 Native
    runtime.cc:655]   | group="" sCount=1 dsCount=0 flags=1 obj=0x148805d8 self=0x7797c21080
    runtime.cc:655]   | sysTid=26322 nice=0 cgrp=default sched=0/0 handle=0x75c34c9cc0
    runtime.cc:655]   | state=S schedstat=( 410523 0 12 ) utm=0 stm=0 core=5 HZ=100
    runtime.cc:655]   | stack=0x75c33d2000-0x75c33d4000 stackSize=995KB
    runtime.cc:655]   | held mutexes=
    runtime.cc:655]   native: #00 pc 000000000009aab4  /apex/com.android.runtime/lib64/bionic/libc.so (__ioctl+4)
    runtime.cc:655]   native: #01 pc 00000000000577e0  /apex/com.android.runtime/lib64/bionic/libc.so (ioctl+156)
    runtime.cc:655]   native: #02 pc 00000000000509e4  /system/lib64/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+296)
    runtime.cc:655]   native: #03 pc 0000000000050bd4  /system/lib64/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+24)
    runtime.cc:655]   native: #04 pc 0000000000051490  /system/lib64/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+60)
    runtime.cc:655]   native: #05 pc 00000000000773e0  /system/lib64/libbinder.so (android::PoolThread::threadLoop()+24)
    runtime.cc:655]   native: #06 pc 00000000000154b0  /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+260)
    runtime.cc:655]   native: #07 pc 00000000000a0be0  /system/lib64/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+144)
    runtime.cc:655]   native: #08 pc 0000000000014d74  /system/lib64/libutils.so (thread_data_t::trampoline(thread_data_t const*)+412)
    runtime.cc:655]   native: #09 pc 00000000000af888  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+64)
    runtime.cc:655]   native: #10 pc 000000000004fe08  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64)
    runtime.cc:655]   (no managed stack frames)
    runtime.cc:655] 
    runtime.cc:655] "Binder:26304_2" prio=5 tid=15 Native
    runtime.cc:655]   | group="" sCount=1 dsCount=0 flags=1 obj=0x14880650 self=0x7797c1bd10
    runtime.cc:655]   | sysTid=26323 nice=0 cgrp=default sched=0/0 handle=0x75c23cbcc0
    runtime.cc:655]   | state=S schedstat=( 20779216 2332139 135 ) utm=1 stm=0 core=2 HZ=100
    runtime.cc:655]   | stack=0x75c22d4000-0x75c22d6000 stackSize=995KB
2020-09-24 11:20:45.096 26304-26304/com.example.app A/com.example.ap: runtime.cc:655]   | held mutexes=
    runtime.cc:655]   native: #00 pc 000000000009aab4  /apex/com.android.runtime/lib64/bionic/libc.so (__ioctl+4)
    runtime.cc:655]   native: #01 pc 00000000000577e0  /apex/com.android.runtime/lib64/bionic/libc.so (ioctl+156)
    runtime.cc:655]   native: #02 pc 00000000000509e4  /system/lib64/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+296)
    runtime.cc:655]   native: #03 pc 0000000000050bd4  /system/lib64/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+24)
    runtime.cc:655]   native: #04 pc 0000000000051490  /system/lib64/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+60)
    runtime.cc:655]   native: #05 pc 00000000000773e0  /system/lib64/libbinder.so (android::PoolThread::threadLoop()+24)
    runtime.cc:655]   native: #06 pc 00000000000154b0  /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+260)
    runtime.cc:655]   native: #07 pc 00000000000a0be0  /system/lib64/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+144)
    runtime.cc:655]   native: #08 pc 0000000000014d74  /system/lib64/libutils.so (thread_data_t::trampoline(thread_data_t const*)+412)
    runtime.cc:655]   native: #09 pc 00000000000af888  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+64)
    runtime.cc:655]   native: #10 pc 000000000004fe08  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64)
    runtime.cc:655]   (no managed stack frames)
    runtime.cc:655] 
    runtime.cc:655] "Binder:26304_3" prio=5 tid=16 Native
    runtime.cc:655]   | group="" sCount=1 dsCount=0 flags=1 obj=0x148806c8 self=0x7797c1f4b0
    runtime.cc:655]   | sysTid=26324 nice=0 cgrp=default sched=0/0 handle=0x75c12cdcc0
    runtime.cc:655]   | state=S schedstat=( 732292 292136 5 ) utm=0 stm=0 core=2 HZ=100
    runtime.cc:655]   | stack=0x75c11d6000-0x75c11d8000 stackSize=995KB
    runtime.cc:655]   | held mutexes=
    runtime.cc:655]   native: #00 pc 000000000009aab4  /apex/com.android.runtime/lib64/bionic/libc.so (__ioctl+4)
    runtime.cc:655]   native: #01 pc 00000000000577e0  /apex/com.android.runtime/lib64/bionic/libc.so (ioctl+156)
    runtime.cc:655]   native: #02 pc 00000000000509e4  /system/lib64/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+296)
    runtime.cc:655]   native: #03 pc 0000000000050bd4  /system/lib64/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+24)
    runtime.cc:655]   native: #04 pc 0000000000051490  /system/lib64/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+60)
    runtime.cc:655]   native: #05 pc 00000000000773e0  /system/lib64/libbinder.so (android::PoolThread::threadLoop()+24)
    runtime.cc:655]   native: #06 pc 00000000000154b0  /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+260)
    runtime.cc:655]   native: #07 pc 00000000000a0be0  /system/lib64/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+144)
    runtime.cc:655]   native: #08 pc 0000000000014d74  /system/lib64/libutils.so (thread_data_t::trampoline(thread_data_t const*)+412)
    runtime.cc:655]   native: #09 pc 00000000000af888  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+64)
    runtime.cc:655]   native: #10 pc 000000000004fe08  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64)
    runtime.cc:655]   (no managed stack frames)
    runtime.cc:655] 
    runtime.cc:655] "Profile Saver" prio=5 tid=17 Native
    runtime.cc:655]   | group="" sCount=1 dsCount=0 flags=1 obj=0x14880740 self=0x7797c24820
    runtime.cc:655]   | sysTid=26326 nice=9 cgrp=default sched=0/0 handle=0x75be89acc0
    runtime.cc:655]   | state=S schedstat=( 212502 0 2 ) utm=0 stm=0 core=5 HZ=100
    runtime.cc:655]   | stack=0x75be7a3000-0x75be7a5000 stackSize=995KB
    runtime.cc:655]   | held mutexes=
    runtime.cc:655]   native: #00 pc 000000000004aed0  /apex/com.android.runtime/lib64/bionic/libc.so (syscall+32)
    runtime.cc:655]   native: #01 pc 00000000001afcfc  /apex/com.android.art/lib64/libart.so (art::ConditionVariable::TimedWait(art::Thread*, long, int)+172)
2020-09-24 11:20:45.096 26304-26304/com.example.app A/com.example.ap: runtime.cc:655]   native: #02 pc 0000000000353b2c  /apex/com.android.art/lib64/libart.so (art::ProfileSaver::Run()+188)
    runtime.cc:655]   native: #03 pc 00000000003589e0  /apex/com.android.art/lib64/libart.so (art::ProfileSaver::RunProfileSaverThread(void*)+180)
    runtime.cc:655]   native: #04 pc 00000000000af888  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+64)
    runtime.cc:655]   native: #05 pc 000000000004fe08  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64)
    runtime.cc:655]   (no managed stack frames)
    runtime.cc:655] 
    runtime.cc:655] "pool-3-thread-1" prio=5 tid=18 Waiting
    runtime.cc:655]   | group="" sCount=1 dsCount=0 flags=1 obj=0x148807b8 self=0x7797c27fc0
    runtime.cc:655]   | sysTid=26327 nice=0 cgrp=default sched=0/0 handle=0x75bd6b8cc0
    runtime.cc:655]   | state=S schedstat=( 22573702 1029221 56 ) utm=1 stm=0 core=6 HZ=100
    runtime.cc:655]   | stack=0x75bd5b5000-0x75bd5b7000 stackSize=1043KB
    runtime.cc:655]   | held mutexes=
    runtime.cc:655]   native: #00 pc 000000000004aecc  /apex/com.android.runtime/lib64/bionic/libc.so (syscall+28)
    runtime.cc:655]   native: #01 pc 00000000005a1194  /apex/com.android.art/lib64/libart.so (art::Thread::Park(bool, long)+480)
    runtime.cc:655]   native: #02 pc 00000000004da64c  /apex/com.android.art/lib64/libart.so (art::Unsafe_park(_JNIEnv*, _jobject*, unsigned char, long)+660)
    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.park(LockSupport.java:190)
    runtime.cc:655]   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    runtime.cc:655]   at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    runtime.cc:655]   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    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] "RenderThread" prio=10 tid=19 Native
    runtime.cc:655]   | group="" sCount=1 dsCount=0 flags=1 obj=0x14880928 self=0x7797c263f0
    runtime.cc:655]   | sysTid=26328 nice=-10 cgrp=default sched=0/0 handle=0x75bc0fdcc0
    runtime.cc:655]   | state=S schedstat=( 15894685 4423752 98 ) utm=1 stm=0 core=6 HZ=100
    runtime.cc:655]   | stack=0x75bc006000-0x75bc008000 stackSize=995KB
    runtime.cc:655]   | held mutexes=
    runtime.cc:655]   native: #00 pc 000000000009ba78  /apex/com.android.runtime/lib64/bionic/libc.so (__epoll_pwait+8)
    runtime.cc:655]   native: #01 pc 0000000000019ab0  /system/lib64/libutils.so (android::Looper::pollInner(int)+184)
    runtime.cc:655]   native: #02 pc 0000000000019990  /system/lib64/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+112)
    runtime.cc:655]   native: #03 pc 000000000020ec68  /system/lib64/libhwui.so (android::uirenderer::ThreadBase::waitForWork()+132)
    runtime.cc:655]   native: #04 pc 0000000000230014  /system/lib64/libhwui.so (android::uirenderer::renderthread::RenderThread::threadLoop()+80)
    runtime.cc:655]   native: #05 pc 00000000000154b0  /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+260)
    runtime.cc:655]   native: #06 pc 0000000000014d74  /system/lib64/libutils.so (thread_data_t::trampoline(thread_data_t const*)+412)
    runtime.cc:655]   native: #07 pc 00000000000af888  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+64)
    runtime.cc:655]   native: #08 pc 000000000004fe08  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64)
    runtime.cc:655]   (no managed stack frames)
    runtime.cc:655] 
    runtime.cc:655] "pool-3-thread-2" prio=5 tid=20 Waiting
    runtime.cc:655]   | group="" sCount=1 dsCount=0 flags=1 obj=0x148809a0 self=0x7797c2ef00
    runtime.cc:655]   | sysTid=26331 nice=0 cgrp=default sched=0/0 handle=0x75bafffcc0
2020-09-24 11:20:45.096 26304-26304/com.example.app A/com.example.ap: runtime.cc:655]   | state=S schedstat=( 858958 45781 3 ) utm=0 stm=0 core=5 HZ=100
    runtime.cc:655]   | stack=0x75baefc000-0x75baefe000 stackSize=1043KB
    runtime.cc:655]   | held mutexes=
    runtime.cc:655]   native: #00 pc 000000000004aecc  /apex/com.android.runtime/lib64/bionic/libc.so (syscall+28)
    runtime.cc:655]   native: #01 pc 00000000005a1194  /apex/com.android.art/lib64/libart.so (art::Thread::Park(bool, long)+480)
    runtime.cc:655]   native: #02 pc 00000000004da64c  /apex/com.android.art/lib64/libart.so (art::Unsafe_park(_JNIEnv*, _jobject*, unsigned char, long)+660)
    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.park(LockSupport.java:190)
    runtime.cc:655]   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    runtime.cc:655]   at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    runtime.cc:655]   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    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] "Thread-2" prio=10 tid=21 Native
    runtime.cc:655]   | group="" sCount=1 dsCount=0 flags=1 obj=0x14880a68 self=0x77980d7660
    runtime.cc:655]   | sysTid=26334 nice=-10 cgrp=default sched=0/0 handle=0x75b5773cc0
    runtime.cc:655]   | state=S schedstat=( 1994323 385051 16 ) utm=0 stm=0 core=7 HZ=100
    runtime.cc:655]   | stack=0x75b548c000-0x75b548e000 stackSize=2979KB
    runtime.cc:655]   | held mutexes=
    runtime.cc:655]   native: #00 pc 000000000004aecc  /apex/com.android.runtime/lib64/bionic/libc.so (syscall+28)
    runtime.cc:655]   native: #01 pc 0000000001c8e728  /data/app/~~l6qEepEUrJh8gnx4AKkVaA==/com.google.ar.core-JdEzCFarh99qdwYMBGRORw==/base.apk!libarcore_c.so (offset 71b000) (???)
    runtime.cc:655]   native: #02 pc 0000000001aab9cc  /data/app/~~l6qEepEUrJh8gnx4AKkVaA==/com.google.ar.core-JdEzCFarh99qdwYMBGRORw==/base.apk!libarcore_c.so (offset 71b000) (???)
    runtime.cc:655]   native: #03 pc 0000000001c8ef70  /data/app/~~l6qEepEUrJh8gnx4AKkVaA==/com.google.ar.core-JdEzCFarh99qdwYMBGRORw==/base.apk!libarcore_c.so (offset 71b000) (???)
    runtime.cc:655]   native: #04 pc 0000000001c8f50c  /data/app/~~l6qEepEUrJh8gnx4AKkVaA==/com.google.ar.core-JdEzCFarh99qdwYMBGRORw==/base.apk!libarcore_c.so (offset 71b000) (???)
    runtime.cc:655]   native: #05 pc 0000000001c8f448  /data/app/~~l6qEepEUrJh8gnx4AKkVaA==/com.google.ar.core-JdEzCFarh99qdwYMBGRORw==/base.apk!libarcore_c.so (offset 71b000) (???)
    runtime.cc:655]   native: #06 pc 0000000000a6e448  /data/app/~~l6qEepEUrJh8gnx4AKkVaA==/com.google.ar.core-JdEzCFarh99qdwYMBGRORw==/base.apk!libarcore_c.so (offset 71b000) (???)
    runtime.cc:655]   native: #07 pc 0000000000a6cda4  /data/app/~~l6qEepEUrJh8gnx4AKkVaA==/com.google.ar.core-JdEzCFarh99qdwYMBGRORw==/base.apk!libarcore_c.so (offset 71b000) (???)
    runtime.cc:655]   native: #08 pc 0000000001aa5bb0  /data/app/~~l6qEepEUrJh8gnx4AKkVaA==/com.google.ar.core-JdEzCFarh99qdwYMBGRORw==/base.apk!libarcore_c.so (offset 71b000) (???)
    runtime.cc:655]   native: #09 pc 00000000000af888  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+64)
    runtime.cc:655]   native: #10 pc 000000000004fe08  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64)
    runtime.cc:655]   (no managed stack frames)
    runtime.cc:655] 
    runtime.cc:655] "C2N-mgr-looper" prio=5 tid=22 Native
    runtime.cc:655]   | group="" sCount=1 dsCount=0 flags=1 obj=0x14880ae0 self=0x77980dc9d0
    runtime.cc:655]   | sysTid=26338 nice=0 cgrp=default sched=0/0 handle=0x75b1f99cc0
    runtime.cc:655]   | state=S schedstat=( 188490 0 2 ) utm=0 stm=0 core=4 HZ=100
    runtime.cc:655]   | stack=0x75b1ea2000-0x75b1ea4000 stackSize=995KB
2020-09-24 11:20:45.096 26304-26304/com.example.app A/com.example.ap: runtime.cc:655]   | held mutexes=
    runtime.cc:655]   native: #00 pc 000000000004aecc  /apex/com.android.runtime/lib64/bionic/libc.so (syscall+28)
    runtime.cc:655]   native: #01 pc 000000000004eab4  /apex/com.android.runtime/lib64/bionic/libc.so (__futex_wait_ex(void volatile*, bool, int, bool, timespec const*)+144)
    runtime.cc:655]   native: #02 pc 00000000000aec70  /apex/com.android.runtime/lib64/bionic/libc.so (pthread_cond_wait+60)
    runtime.cc:655]   native: #03 pc 0000000000018a78  /system/lib64/libstagefright_foundation.so (android::ALooper::loop()+364)
    runtime.cc:655]   native: #04 pc 00000000000154b0  /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+260)
    runtime.cc:655]   native: #05 pc 00000000000a0be0  /system/lib64/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+144)
    runtime.cc:655]   native: #06 pc 0000000000014d74  /system/lib64/libutils.so (thread_data_t::trampoline(thread_data_t const*)+412)
    runtime.cc:655]   native: #07 pc 00000000000af888  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+64)
    runtime.cc:655]   native: #08 pc 000000000004fe08  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64)
    runtime.cc:655]   (no managed stack frames)
    runtime.cc:655] 
    runtime.cc:655] "RxSchedulerPurge-1" prio=5 tid=23 TimedWaiting
    runtime.cc:655]   | group="" sCount=1 dsCount=0 flags=1 obj=0x14880b58 self=0x77980d3ec0
    runtime.cc:655]   | sysTid=26378 nice=0 cgrp=default sched=0/0 handle=0x7581329cc0
    runtime.cc:655]   | state=S schedstat=( 174166 197553 3 ) utm=0 stm=0 core=4 HZ=100
    runtime.cc:655]   | stack=0x7581226000-0x7581228000 stackSize=1043KB
    runtime.cc:655]   | held mutexes=
    runtime.cc:655]   native: #00 pc 000000000004aecc  /apex/com.android.runtime/lib64/bionic/libc.so (syscall+28)
    runtime.cc:655]   native: #01 pc 00000000001af92c  /apex/com.android.art/lib64/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+148)
    runtime.cc:655]   native: #02 pc 00000000005a16ac  /apex/com.android.art/lib64/libart.so (art::Thread::Park(bool, long)+1784)
    runtime.cc:655]   native: #03 pc 00000000004da64c  /apex/com.android.art/lib64/libart.so (art::Unsafe_park(_JNIEnv*, _jobject*, unsigned char, long)+660)
    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.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2109)
    runtime.cc:655]   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1132)
    runtime.cc:655]   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:849)
    runtime.cc:655]   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    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] "RxCachedWorkerPoolEvictor-1" prio=5 tid=24 TimedWaiting
    runtime.cc:655]   | group="" sCount=1 dsCount=0 flags=1 obj=0x14880cb0 self=0x77980f1790
    runtime.cc:655]   | sysTid=26379 nice=0 cgrp=default sched=0/0 handle=0x7580216cc0
    runtime.cc:655]   | state=S schedstat=( 144219 0 2 ) utm=0 stm=0 core=5 HZ=100
    runtime.cc:655]   | stack=0x7580113000-0x7580115000 stackSize=1043KB
    runtime.cc:655]   | held mutexes=
    runtime.cc:655]   native: #00 pc 000000000004aed0  /apex/com.android.runtime/lib64/bionic/libc.so (syscall+32)
    runtime.cc:655]   native: #01 pc 00000000005a1528  /apex/com.android.art/lib64/libart.so (art::Thread::Park(bool, long)+1396)
    runtime.cc:655]   native: #02 pc 00000000004da64c  /apex/com.android.art/lib64/libart.so (art::Unsafe_park(_JNIEnv*, _jobject*, unsigned char, long)+660)
2020-09-24 11:20:45.096 26304-26304/com.example.app A/com.example.ap: 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.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2109)
    runtime.cc:655]   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1132)
    runtime.cc:655]   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:849)
    runtime.cc:655]   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    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] "RxCachedThreadScheduler-1" prio=5 tid=25 Waiting
    runtime.cc:655]   | group="" sCount=1 dsCount=0 flags=1 obj=0x14880e08 self=0x77980efbc0
    runtime.cc:655]   | sysTid=26380 nice=0 cgrp=default sched=0/0 handle=0x757f103cc0
    runtime.cc:655]   | state=S schedstat=( 11720731 66146 13 ) utm=0 stm=0 core=4 HZ=100
    runtime.cc:655]   | stack=0x757f000000-0x757f002000 stackSize=1043KB
    runtime.cc:655]   | held mutexes=
    runtime.cc:655]   native: #00 pc 000000000004aecc  /apex/com.android.runtime/lib64/bionic/libc.so (syscall+28)
    runtime.cc:655]   native: #01 pc 00000000005a1194  /apex/com.android.art/lib64/libart.so (art::Thread::Park(bool, long)+480)
    runtime.cc:655]   native: #02 pc 00000000004da64c  /apex/com.android.art/lib64/libart.so (art::Unsafe_park(_JNIEnv*, _jobject*, unsigned char, long)+660)
    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.park(LockSupport.java:190)
    runtime.cc:655]   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
    runtime.cc:655]   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1120)
    runtime.cc:655]   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:849)
    runtime.cc:655]   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    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] "cameras_async_w" prio=10 tid=26 Native
    runtime.cc:655]   | group="" sCount=1 dsCount=0 flags=1 obj=0x14880f60 self=0x77980ff610
    runtime.cc:655]   | sysTid=26348 nice=-10 cgrp=default sched=0/0 handle=0x75a6f33cc0
    runtime.cc:655]   | state=S schedstat=( 4875099 551936 87 ) utm=0 stm=0 core=2 HZ=100
    runtime.cc:655]   | stack=0x75a6c4c000-0x75a6c4e000 stackSize=2979KB
    runtime.cc:655]   | held mutexes=
    runtime.cc:655]   native: #00 pc 000000000004aecc  /apex/com.android.runtime/lib64/bionic/libc.so (syscall+28)
    runtime.cc:655]   native: #01 pc 0000000001c8e728  /data/app/~~l6qEepEUrJh8gnx4AKkVaA==/com.google.ar.core-JdEzCFarh99qdwYMBGRORw==/base.apk!libarcore_c.so (offset 71b000) (???)
    runtime.cc:655]   native: #02 pc 0000000001aab9cc  /data/app/~~l6qEepEUrJh8gnx4AKkVaA==/com.google.ar.core-JdEzCFarh99qdwYMBGRORw==/base.apk!libarcore_c.so (offset 71b000) (???)
    runtime.cc:655]   native: #03 pc 0000000001c8ef70  /data/app/~~l6qEepEUrJh8gnx4AKkVaA==/com.google.ar.core-JdEzCFarh99qdwYMBGRORw==/base.apk!libarcore_c.so (offset 71b000) (???)
    runtime.cc:655]   native: #04 pc 0000000001c8f50c  /data/app/~~l6qEepEUrJh8gnx4AKkVaA==/com.google.ar.core-JdEzCFarh99qdwYMBGRORw==/base.apk!libarcore_c.so (offset 71b000) (???)
2020-09-24 11:20:45.096 26304-26304/com.example.app A/com.example.ap: runtime.cc:655]   native: #05 pc 0000000001c8f448  /data/app/~~l6qEepEUrJh8gnx4AKkVaA==/com.google.ar.core-JdEzCFarh99qdwYMBGRORw==/base.apk!libarcore_c.so (offset 71b000) (???)
    runtime.cc:655]   native: #06 pc 0000000000ac1b5c  /data/app/~~l6qEepEUrJh8gnx4AKkVaA==/com.google.ar.core-JdEzCFarh99qdwYMBGRORw==/base.apk!libarcore_c.so (offset 71b000) (???)
    runtime.cc:655]   native: #07 pc 0000000001aa5bb0  /data/app/~~l6qEepEUrJh8gnx4AKkVaA==/com.google.ar.core-JdEzCFarh99qdwYMBGRORw==/base.apk!libarcore_c.so (offset 71b000) (???)
    runtime.cc:655]   native: #08 pc 00000000000af888  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+64)
    runtime.cc:655]   native: #09 pc 000000000004fe08  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64)
    runtime.cc:655]   (no managed stack frames)
    runtime.cc:655] 
    runtime.cc:655] "ImageReader-640x480f23u3m16-26304-0" prio=5 tid=27 Native
    runtime.cc:655]   | group="" sCount=1 dsCount=0 flags=1 obj=0x14881010 self=0x77981011e0
    runtime.cc:655]   | sysTid=26383 nice=0 cgrp=default sched=0/0 handle=0x757c157cc0
    runtime.cc:655]   | state=S schedstat=( 7847090 3874791 64 ) utm=0 stm=0 core=1 HZ=100
    runtime.cc:655]   | stack=0x757c060000-0x757c062000 stackSize=995KB
    runtime.cc:655]   | held mutexes=
    runtime.cc:655]   native: #00 pc 000000000004aecc  /apex/com.android.runtime/lib64/bionic/libc.so (syscall+28)
    runtime.cc:655]   native: #01 pc 000000000004eab4  /apex/com.android.runtime/lib64/bionic/libc.so (__futex_wait_ex(void volatile*, bool, int, bool, timespec const*)+144)
    runtime.cc:655]   native: #02 pc 00000000000aec70  /apex/com.android.runtime/lib64/bionic/libc.so (pthread_cond_wait+60)
    runtime.cc:655]   native: #03 pc 0000000000018a78  /system/lib64/libstagefright_foundation.so (android::ALooper::loop()+364)
    runtime.cc:655]   native: #04 pc 0000000000015578  /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+460)
    runtime.cc:655]   native: #05 pc 00000000000a0be0  /system/lib64/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+144)
    runtime.cc:655]   native: #06 pc 0000000000014d74  /system/lib64/libutils.so (thread_data_t::trampoline(thread_data_t const*)+412)
    runtime.cc:655]   native: #07 pc 00000000000af888  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+64)
    runtime.cc:655]   native: #08 pc 000000000004fe08  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64)
    runtime.cc:655]   (no managed stack frames)
    runtime.cc:655] 
    runtime.cc:655] "SurfaceTexture Callback Thread" prio=5 tid=29 Native
    runtime.cc:655]   | group="" sCount=1 dsCount=0 flags=1 obj=0x14881088 self=0x7798102db0
    runtime.cc:655]   | sysTid=26385 nice=0 cgrp=default sched=0/0 handle=0x7579f5bcc0
    runtime.cc:655]   | state=S schedstat=( 1167605 762293 16 ) utm=0 stm=0 core=4 HZ=100
    runtime.cc:655]   | stack=0x7579e58000-0x7579e5a000 stackSize=1043KB
    runtime.cc:655]   | held mutexes=
    runtime.cc:655]   native: #00 pc 000000000009ba78  /apex/com.android.runtime/lib64/bionic/libc.so (__epoll_pwait+8)
    runtime.cc:655]   native: #01 pc 0000000000019ab0  /system/lib64/libutils.so (android::Looper::pollInner(int)+184)
    runtime.cc:655]   native: #02 pc 0000000000019990  /system/lib64/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+112)
    runtime.cc:655]   native: #03 pc 0000000000110f74  /system/lib64/libandroid_runtime.so (android::android_os_MessageQueue_nativePollOnce(_JNIEnv*, _jobject*, long, int)+44)
    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] "C2N-dev-looper" prio=5 tid=28 Native
    runtime.cc:655]   | group="" sCount=1 dsCount=0 flags=1 obj=0x14881168 self=0x77980e70b0
    runtime.cc:655]   | sysTid=26397 nice=0 cgrp=default sched=0/0 handle=0x757b059cc0
2020-09-24 11:20:45.096 26304-26304/com.example.app A/com.example.ap: runtime.cc:655]   | state=S schedstat=( 3593855 1606303 46 ) utm=0 stm=0 core=5 HZ=100
    runtime.cc:655]   | stack=0x757af62000-0x757af64000 stackSize=995KB
    runtime.cc:655]   | held mutexes=
    runtime.cc:655]   native: #00 pc 000000000004aecc  /apex/com.android.runtime/lib64/bionic/libc.so (syscall+28)
    runtime.cc:655]   native: #01 pc 000000000004eab4  /apex/com.android.runtime/lib64/bionic/libc.so (__futex_wait_ex(void volatile*, bool, int, bool, timespec const*)+144)
    runtime.cc:655]   native: #02 pc 00000000000aec70  /apex/com.android.runtime/lib64/bionic/libc.so (pthread_cond_wait+60)
    runtime.cc:655]   native: #03 pc 0000000000018a78  /system/lib64/libstagefright_foundation.so (android::ALooper::loop()+364)
    runtime.cc:655]   native: #04 pc 0000000000015578  /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+460)
    runtime.cc:655]   native: #05 pc 00000000000a0be0  /system/lib64/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+144)
    runtime.cc:655]   native: #06 pc 0000000000014d74  /system/lib64/libutils.so (thread_data_t::trampoline(thread_data_t const*)+412)
    runtime.cc:655]   native: #07 pc 00000000000af888  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+64)
    runtime.cc:655]   native: #08 pc 000000000004fe08  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64)
    runtime.cc:655]   (no managed stack frames)
    runtime.cc:655] 
    runtime.cc:655] "RxComputationThreadPool-1" prio=5 tid=30 TimedWaiting
    runtime.cc:655]   | group="" sCount=1 dsCount=0 flags=1 obj=0x148811e0 self=0x7798109cf0
    runtime.cc:655]   | sysTid=26401 nice=0 cgrp=default sched=0/0 handle=0x7578e51cc0
    runtime.cc:655]   | state=S schedstat=( 116041 0 1 ) utm=0 stm=0 core=4 HZ=100
    runtime.cc:655]   | stack=0x7578d4e000-0x7578d50000 stackSize=1043KB
    runtime.cc:655]   | held mutexes=
    runtime.cc:655]   native: #00 pc 000000000004aed0  /apex/com.android.runtime/lib64/bionic/libc.so (syscall+32)
    runtime.cc:655]   native: #01 pc 00000000005a1528  /apex/com.android.art/lib64/libart.so (art::Thread::Park(bool, long)+1396)
    runtime.cc:655]   native: #02 pc 00000000004da64c  /apex/com.android.art/lib64/libart.so (art::Unsafe_park(_JNIEnv*, _jobject*, unsigned char, long)+660)
    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.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2109)
    runtime.cc:655]   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1132)
    runtime.cc:655]   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:849)
    runtime.cc:655]   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
    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] "Binder:26304_4" prio=5 tid=31 Native
    runtime.cc:655]   | group="" sCount=1 dsCount=0 flags=1 obj=0x14881338 self=0x7798106550
    runtime.cc:655]   | sysTid=26403 nice=0 cgrp=default sched=0/0 handle=0x7577d47cc0
    runtime.cc:655]   | state=S schedstat=( 7944947 7814844 71 ) utm=0 stm=0 core=2 HZ=100
    runtime.cc:655]   | stack=0x7577c50000-0x7577c52000 stackSize=995KB
    runtime.cc:655]   | held mutexes=
    runtime.cc:655]   native: #00 pc 000000000009aab4  /apex/com.android.runtime/lib64/bionic/libc.so (__ioctl+4)
    runtime.cc:655]   native: #01 pc 00000000000577e0  /apex/com.android.runtime/lib64/bionic/libc.so (ioctl+156)
    runtime.cc:655]   native: #02 pc 00000000000509e4  /system/lib64/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+296)
2020-09-24 11:20:45.096 26304-26304/com.example.app A/com.example.ap: runtime.cc:655]   native: #03 pc 0000000000050bd4  /system/lib64/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+24)
    runtime.cc:655]   native: #04 pc 0000000000051490  /system/lib64/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+60)
    runtime.cc:655]   native: #05 pc 00000000000773e0  /system/lib64/libbinder.so (android::PoolThread::threadLoop()+24)
    runtime.cc:655]   native: #06 pc 00000000000154b0  /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+260)
    runtime.cc:655]   native: #07 pc 00000000000a0be0  /system/lib64/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+144)
    runtime.cc:655]   native: #08 pc 0000000000014d74  /system/lib64/libutils.so (thread_data_t::trampoline(thread_data_t const*)+412)
    runtime.cc:655]   native: #09 pc 00000000000af888  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+64)
    runtime.cc:655]   native: #10 pc 000000000004fe08  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64)
    runtime.cc:655]   (no managed stack frames)
    runtime.cc:655] 
    runtime.cc:655] "hwuiTask1" prio=6 tid=32 Native
    runtime.cc:655]   | group="" sCount=1 dsCount=0 flags=1 obj=0x148813b0 self=0x7798110c30
    runtime.cc:655]   | sysTid=26422 nice=-2 cgrp=default sched=0/0 handle=0x7576abacc0
    runtime.cc:655]   | state=S schedstat=( 527500 105416 3 ) utm=0 stm=0 core=7 HZ=100
    runtime.cc:655]   | stack=0x75769c3000-0x75769c5000 stackSize=995KB
    runtime.cc:655]   | held mutexes=
    runtime.cc:655]   native: #00 pc 000000000004aecc  /apex/com.android.runtime/lib64/bionic/libc.so (syscall+28)
    runtime.cc:655]   native: #01 pc 000000000004eab4  /apex/com.android.runtime/lib64/bionic/libc.so (__futex_wait_ex(void volatile*, bool, int, bool, timespec const*)+144)
    runtime.cc:655]   native: #02 pc 00000000000aec70  /apex/com.android.runtime/lib64/bionic/libc.so (pthread_cond_wait+60)
    runtime.cc:655]   native: #03 pc 00000000000584ec  /system/lib64/libc++.so (std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&)+20)
    runtime.cc:655]   native: #04 pc 000000000023395c  /system/lib64/libhwui.so (android::uirenderer::CommonPool::workerLoop()+84)
    runtime.cc:655]   native: #05 pc 0000000000233b84  /system/lib64/libhwui.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> >, android::uirenderer::CommonPool::CommonPool()::$_0> >(void*)+128)
    runtime.cc:655]   native: #06 pc 00000000000af888  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+64)
    runtime.cc:655]   native: #07 pc 000000000004fe08  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64)
    runtime.cc:655]   (no managed stack frames)
    runtime.cc:655] 
    runtime.cc:655] "hwuiTask0" prio=6 tid=33 Native
    runtime.cc:655]   | group="" sCount=1 dsCount=0 flags=1 obj=0x14881428 self=0x7798112800
    runtime.cc:655]   | sysTid=26421 nice=-2 cgrp=default sched=0/0 handle=0x7576bb8cc0
    runtime.cc:655]   | state=S schedstat=( 106562 432396 1 ) utm=0 stm=0 core=5 HZ=100
    runtime.cc:655]   | stack=0x7576ac1000-0x7576ac3000 stackSize=995KB
    runtime.cc:655]   | held mutexes=
    runtime.cc:655]   native: #00 pc 000000000004aecc  /apex/com.android.runtime/lib64/bionic/libc.so (syscall+28)
    runtime.cc:655]   native: #01 pc 000000000004eab4  /apex/com.android.runtime/lib64/bionic/libc.so (__futex_wait_ex(void volatile*, bool, int, bool, timespec const*)+144)
    runtime.cc:655]   native: #02 pc 00000000000aec70  /apex/com.android.runtime/lib64/bionic/libc.so (pthread_cond_wait+60)
    runtime.cc:655]   native: #03 pc 00000000000584ec  /system/lib64/libc++.so (std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&)+20)
    runtime.cc:655]   native: #04 pc 000000000023395c  /system/lib64/libhwui.so (android::uirenderer::CommonPool::workerLoop()+84)
2020-09-24 11:20:45.096 26304-26304/com.example.app A/com.example.ap: runtime.cc:655]   native: #05 pc 0000000000233b84  /system/lib64/libhwui.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> >, android::uirenderer::CommonPool::CommonPool()::$_0> >(void*)+128)
    runtime.cc:655]   native: #06 pc 00000000000af888  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+64)
    runtime.cc:655]   native: #07 pc 000000000004fe08  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64)
    runtime.cc:655]   (no managed stack frames)
    runtime.cc:655] 
    runtime.cc:655] "InsetsAnimations" prio=5 tid=34 Native
    runtime.cc:655]   | group="" sCount=1 dsCount=0 flags=1 obj=0x148814a0 self=0x779810d490
    runtime.cc:655]   | sysTid=26430 nice=0 cgrp=default sched=0/0 handle=0x757485bcc0
    runtime.cc:655]   | state=S schedstat=( 19105622 5611511 69 ) utm=1 stm=0 core=4 HZ=100
    runtime.cc:655]   | stack=0x7574758000-0x757475a000 stackSize=1043KB
    runtime.cc:655]   | held mutexes=
    runtime.cc:655]   native: #00 pc 000000000009ba78  /apex/com.android.runtime/lib64/bionic/libc.so (__epoll_pwait+8)
    runtime.cc:655]   native: #01 pc 0000000000019ab0  /system/lib64/libutils.so (android::Looper::pollInner(int)+184)
    runtime.cc:655]   native: #02 pc 0000000000019990  /system/lib64/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+112)
    runtime.cc:655]   native: #03 pc 0000000000110f74  /system/lib64/libandroid_runtime.so (android::android_os_MessageQueue_nativePollOnce(_JNIEnv*, _jobject*, long, int)+44)
    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] Aborting thread:
    runtime.cc:655] "main" prio=7 tid=1 Native
    runtime.cc:655]   | group="" sCount=0 dsCount=0 flags=0 obj=0x722950f8 self=0x7797c037b0
    runtime.cc:655]   | sysTid=26304 nice=-4 cgrp=default sched=0/0 handle=0x78be4944f8
    runtime.cc:655]   | state=R schedstat=( 1230661300 43947864 1839 ) utm=102 stm=20 core=4 HZ=100
    runtime.cc:655]   | stack=0x7ff7477000-0x7ff7479000 stackSize=8192KB
    runtime.cc:655]   | held mutexes= "abort lock"
    runtime.cc:655]   native: #00 pc 000000000049da74  /apex/com.android.art/lib64/libart.so (art::DumpNativeStack(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, int, BacktraceMap*, char const*, art::ArtMethod*, void*, bool)+140)
    runtime.cc:655]   native: #01 pc 00000000005aabcc  /apex/com.android.art/lib64/libart.so (art::Thread::DumpStack(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, bool, BacktraceMap*, bool) const+376)
    runtime.cc:655]   native: #02 pc 00000000005702fc  /apex/com.android.art/lib64/libart.so (art::AbortState::DumpThread(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, art::Thread*) const+60)
    runtime.cc:655]   native: #03 pc 000000000055bcd4  /apex/com.android.art/lib64/libart.so (art::Runtime::Abort(char const*)+2436)
    runtime.cc:655]   native: #04 pc 0000000000013978  /system/lib64/libbase.so (android::base::SetAborter(std::__1::function<void (char const*)>&&)::$_3::__invoke(char const*)+76)
    runtime.cc:655]   native: #05 pc 0000000000012fa4  /system/lib64/libbase.so (android::base::LogMessage::~LogMessage()+320)
    runtime.cc:655]   native: #06 pc 00000000003851a8  /apex/com.android.art/lib64/libart.so (art::JavaVMExt::JniAbort(char const*, char const*)+2572)
    runtime.cc:655]   native: #07 pc 0000000000385318  /apex/com.android.art/lib64/libart.so (art::JavaVMExt::JniAbortF(char const*, char const*, ...)+188)
    runtime.cc:655]   native: #08 pc 00000000005b1364  /apex/com.android.art/lib64/libart.so (art::Thread::DecodeJObject(_jobject*) const+748)
2020-09-24 11:20:45.096 26304-26304/com.example.app A/com.example.ap: runtime.cc:655]   native: #09 pc 0000000000376388  /apex/com.android.art/lib64/libart.so (art::(anonymous namespace)::ScopedCheck::CheckInstance(art::ScopedObjectAccess&, art::(anonymous namespace)::ScopedCheck::InstanceKind, _jobject*, bool)+132)
    runtime.cc:655]   native: #10 pc 000000000037502c  /apex/com.android.art/lib64/libart.so (art::(anonymous namespace)::ScopedCheck::CheckPossibleHeapValue(art::ScopedObjectAccess&, char, art::(anonymous namespace)::JniValueType)+564)
    runtime.cc:655]   native: #11 pc 000000000037467c  /apex/com.android.art/lib64/libart.so (art::(anonymous namespace)::ScopedCheck::Check(art::ScopedObjectAccess&, bool, char const*, art::(anonymous namespace)::JniValueType*)+612)
    runtime.cc:655]   native: #12 pc 0000000000377bbc  /apex/com.android.art/lib64/libart.so (art::(anonymous namespace)::CheckJNI::DeleteRef(char const*, _JNIEnv*, _jobject*, art::IndirectRefKind)+696)
    runtime.cc:655]   native: #13 pc 00000000000332a4  /data/app/~~wwJEGxyl9iLV9CN6bnum2A==/com.example.app-1giT_LZ79wHG-YEjB_48Cg==/base.apk!libfilament-jni.so (offset 6a000) (???)
    runtime.cc:655]   at com.google.android.filament.Renderer.nBeginFrame(Native method)
    runtime.cc:655]   at com.google.android.filament.Renderer.beginFrame(Renderer.java:282)
    runtime.cc:655]   at com.example.app.renderer.FrameCallback.doFrame(FrameCallback.kt:46)
    runtime.cc:655]   at android.view.Choreographer$CallbackRecord.run(Choreographer.java:970)
    runtime.cc:655]   at android.view.Choreographer.doCallbacks(Choreographer.java:796)
    runtime.cc:655]   at android.view.Choreographer.doFrame(Choreographer.java:727)
    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] 
2020-09-24 11:20:45.096 26304-26304/com.example.app A/com.example.ap: runtime.cc:663] JNI DETECTED ERROR IN APPLICATION: use of deleted weak global reference 0x345f426a45592d47
    runtime.cc:663]     from boolean com.google.android.filament.Renderer.nBeginFrame(long, long, long)

    --------- beginning of crash
2020-09-24 11:20:45.096 26304-26304/com.example.app A/libc: Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 26304 (com.example.app), pid 26304 (com.example.app)

I get different behavior on Pixel 3 vs. Samsung S9. Samsung S9 does not crash when irradiance is not set. Pixel 3 will crash with our without setting irradiance.

From what I can tell the crash has nothing to do with setting the irradiance. It's another JNI related issue.

Here are logs for Samsung S9.
--------- beginning of crash 2020-09-24 11:35:18.677 24323-24323/com.example.app A/libc: Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x10007 in tid 24323 (com.example.app), pid 24323 (com.example.app) 2020-09-24 11:35:18.729 24323-24390/com.example.app I/native: distribute.cc:79 No keypoints to prune. 2020-09-24 11:35:18.730 24323-24413/com.example.app W/native: ransac.cc:666 Exiting without computing LS fit after RANSAC, as minimum of 2 pts are required. 2020-09-24 11:35:18.863 24323-24413/com.example.app W/native: ransac.cc:666 Exiting without computing LS fit after RANSAC, as minimum of 2 pts are required. 2020-09-24 11:35:19.118 24323-24414/com.example.app E/native: motion_tracking_context.cc:1009 Unable to find measurements corresponding to VIO status at timestamp 7888626886174. 2020-09-24 11:35:19.208 24323-24410/com.example.app E/native: bundle_adjustment_initializer.cc:571 Measurements not available in all keyframes. At least one keyframe has no features in any of the cameras. 2020-09-24 11:35:19.208 24323-24410/com.example.app E/native: bundle_adjustment_initializer.cc:70 Failed to initialize the network. 2020-09-24 11:35:19.208 24323-24410/com.example.app E/native: vio_initializer.cc:584 Initializer's BA failed to produce a valid output! 2020-09-24 11:35:19.310 24323-24410/com.example.app I/native: bundle_adjustment_initializer.cc:590 Deterministic initialization 2020-09-24 11:35:19.313 24323-24410/com.example.app I/native: bundle_adjustment_initializer.cc:170 Intrinsic vector size of the camera 0 is 7 2020-09-24 11:35:19.331 24323-24410/com.example.app I/native: ba_initialization_helpers.h:164 Number of measurements used in BA initialization for temporal landmarks: 300 2020-09-24 11:35:19.331 24323-24410/com.example.app I/native: ba_initialization_helpers.h:166 Number of good measurements (i.e., reprojection errors <= 3 pixels) in BA initialization for temporal landmarks: 300

I can't reproduce the issue with our samples. Is there any chance you could share the code of your app or at least an apk? Or explain a bit more what you are doing when rendering a frame? (uploading textures? using external textures? etc.)

Source code is available here:
https://github.com/zirman/arcore-filament-example-app/tree/irradience
Renders detected planes and can place an animated model when touching the screen.

I think I found the problem in your code in ArCore.kt:

                            setExternalStream(
                                filament.engine,
                                Stream
                                    .Builder()
                                    .stream(arCameraStreamTextureId1.toLong())
                                    .width(width)
                                    .height(height)
                                    .build(filament.engine)
                            )

You are not keeping a reference to the Stream instance. The crash is likely caused because that instance gets garbage collected. Texture doesn't keep a reference to the Java Stream instance.

Interesting. I added reference to the stream instance and am still getting the crash. I normally don't keep references around unless I need it later. It's not clear what needs to be kept from being GC'd.

Looking into this further not holding onto the Stream object shouldn't cause an issue in your case.

@prideout @bejado can you take a close look at this issue? The crash occurs in nBeginFrame and if the stack trace is correct the crash occurs either because we are attempting to use a JNI ref that's already been destroyed. What's strange is that nBeginFrame does not use any JNI ref, but it could be something that nBeginFrames calls (updating external stream comes to mind).

CC @pixelflinger in case he has ideas of what could be going on here

I'm able to reproduce on my Pixel 4a. I'll take a closer look at what's happening in nBeginFrame.

I think this has been fixed since 1.9.1. When I replace the Maven dependencies with locally built aar files from the tip of main, I'm no longer able to reproduce. I _am_ able to reproduce when building from the release branch (1.9.1).

Perhaps it was this commit that fixed it?

Ah that would make sense, we call delete on those refs and they could sometimes be non-initialized.

Marking as closed since it's now fixed in main. We'll deliver the fix in 1.9.2.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

luca-90 picture luca-90  路  9Comments

vivasvan1 picture vivasvan1  路  8Comments

cx20 picture cx20  路  5Comments

jiqimaogou picture jiqimaogou  路  6Comments

rfebbo picture rfebbo  路  8Comments