@Tomas1856 ,
Here is a complete stacktrace from another instance of the ANR :
Thread
“Signal Catcher” tid=4 Runnable
#00 pc 0x00000000003919bd /apex/com.android.art/lib/libart.so (art:umpNativeStack(std::__1::basic_ostream<char, std::__1::char_traits >&, int, BacktraceMap*, char const*, art::ArtMethod*, void*, bool))
#00 pc 0x0000000000465279 /apex/com.android.art/lib/libart.so (art:umpStack(std::__1::basic_ostream<char, std::__1::char_traits >&, bool, BacktraceMap*, bool) const)
#00 pc 0x00000000004609bf /apex/com.android.art/lib/libart.so (art:ump(std::__1::basic_ostream<char, std::__1::char_traits >&, bool, BacktraceMap*, bool) const)
#00 pc 0x000000000047de65 /apex/com.android.art/lib/libart.so (art:umpCheckpoint::Run(art::Thread*))
#00 pc 0x0000000000479327 /apex/com.android.art/lib/libart.so (art::ThreadList::RunCheckpoint(art::Closure*, art::Closure*))
#00 pc 0x000000000047881f /apex/com.android.art/lib/libart.so (art::ThreadList:ump(std::__1::basic_ostream<char, std::__1::char_traits >&, bool))
#00 pc 0x0000000000477edf /apex/com.android.art/lib/libart.so (art::ThreadList:umpForSigQuit(std::__1::basic_ostream<char, std::__1::char_traits >&))
#00 pc 0x000000000042eb67 /apex/com.android.art/lib/libart.so (art::Runtime:umpForSigQuit(std::__1::basic_ostream<char, std::__1::char_traits >&))
#00 pc 0x000000000043ed51 /apex/com.android.art/lib/libart.so (art::SignalCatcher::HandleSigQuit())
#00 pc 0x000000000043e0e7 /apex/com.android.art/lib/libart.so (art::SignalCatcher::Run(void*))
#00 pc 0x00000000000aadef /apex/com.android.runtime/lib/bionic/libc.so (__pthread_start(void*))
#00 pc 0x0000000000063bbd /apex/com.android.runtime/lib/bionic/libc.so (__start_thread)
Thread
“main” tid=1 Native
#00 pc 0x000000000009bfc4 /apex/com.android.runtime/lib/bionic/libc.so (__epoll_pwait)
#00 pc 0x000000000006d9dd /apex/com.android.runtime/lib/bionic/libc.so (epoll_wait)
#00 pc 0x0000000000011bb1 /system/lib/libutils.so (android::Looper::pollInner(int))
#00 pc 0x0000000000011ad7 /system/lib/libutils.so (android::Looper::pollOnce(int, int*, int*, void**))
#00 pc 0x00000000000b9f05 /system/lib/libandroid_runtime.so (android::android_os_MessageQueue_nativePollOnce(_JNIEnv*, _jobject*, long long, int))
at android.os.MessageQueue.nativePollOnce (MessageQueue.java)
at android.os.MessageQueue.next (MessageQueue.java:335)
at android.os.Looper.loop (Looper.java:183)
at android.app.ActivityThread.main (ActivityThread.java:7695)
at java.lang.reflect.Method.invoke (Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1084)
Thread
“HeapTaskDaemon” tid=6 Waiting
#00 pc 0x000000000005ddec /apex/com.android.runtime/lib/bionic/libc.so (syscall)
#00 pc 0x00000000001377e5 /apex/com.android.art/lib/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*))
#00 pc 0x000000000022442b /apex/com.android.art/lib/libart.so (art::gc::TaskProcessor::GetTask(art::Thread*))
#00 pc 0x0000000000224b3d /apex/com.android.art/lib/libart.so (art::gc::TaskProcessor::RunAllTasks(art::Thread*))
at dalvik.system.VMRuntime.runHeapTasks (VMRuntime.java)
at java.lang.Daemons$HeapTaskDaemon.runInternal (Daemons.java:531)
at java.lang.Daemons$Daemon.run (Daemons.java:139)
at java.lang.Thread.run (Thread.java:923)
Thread
“FinalizerWatchdogDaemon” tid=7 Waiting
at java.lang.Object.wait (Object.java)
at java.lang.Object.wait (Object.java:442)
at java.lang.Object.wait (Object.java:568)
at java.lang.Daemons$FinalizerWatchdogDaemon.sleepUntilNeeded (Daemons.java:341)
at java.lang.Daemons$FinalizerWatchdogDaemon.runInternal (Daemons.java:321)
at java.lang.Daemons$Daemon.run (Daemons.java:139)
at java.lang.Thread.run (Thread.java:923)
Thread
“Binder:1766_1” tid=9 Native
#00 pc 0x000000000009aee8 /apex/com.android.runtime/lib/bionic/libc.so (__ioctl)
#00 pc 0x0000000000068f2b /apex/com.android.runtime/lib/bionic/libc.so (ioctl)
#00 pc 0x0000000000039bcb /system/lib/libbinder.so (android::IPCThreadState::talkWithDriver(bool))
#00 pc 0x0000000000039d25 /system/lib/libbinder.so (android::IPCThreadState::getAndExecuteCommand())
#00 pc 0x000000000003a40b /system/lib/libbinder.so (android::IPCThreadState::joinThreadPool(bool))
#00 pc 0x0000000000053ebd /system/lib/libbinder.so (android::PoolThread::threadLoop())
#00 pc 0x000000000000ed4b /system/lib/libutils.so (android::_threadLoop(void*))
#00 pc 0x000000000006c727 /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*))
#00 pc 0x000000000000e889 /system/lib/libutils.so (thread_data_t::trampoline(thread_data_t const*))
#00 pc 0x00000000000aadef /apex/com.android.runtime/lib/bionic/libc.so (__pthread_start(void*))
#00 pc 0x0000000000063bbd /apex/com.android.runtime/lib/bionic/libc.so (__start_thread)
Thread
“Binder:1766_2” tid=10 Native
#00 pc 0x000000000009aee8 /apex/com.android.runtime/lib/bionic/libc.so (__ioctl)
#00 pc 0x0000000000068f2b /apex/com.android.runtime/lib/bionic/libc.so (ioctl)
#00 pc 0x0000000000039bcb /system/lib/libbinder.so (android::IPCThreadState::talkWithDriver(bool))
#00 pc 0x0000000000039d25 /system/lib/libbinder.so (android::IPCThreadState::getAndExecuteCommand())
#00 pc 0x000000000003a40b /system/lib/libbinder.so (android::IPCThreadState::joinThreadPool(bool))
#00 pc 0x0000000000053ebd /system/lib/libbinder.so (android::PoolThread::threadLoop())
#00 pc 0x000000000000ed4b /system/lib/libutils.so (android::_threadLoop(void*))
#00 pc 0x000000000006c727 /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*))
#00 pc 0x000000000000e889 /system/lib/libutils.so (thread_data_t::trampoline(thread_data_t const*))
#00 pc 0x00000000000aadef /apex/com.android.runtime/lib/bionic/libc.so (__pthread_start(void*))
#00 pc 0x0000000000063bbd /apex/com.android.runtime/lib/bionic/libc.so (__start_thread)
Thread
“Jit thread pool worker thread 0” tid=11 Native
#00 pc 0x000000000005ddec /apex/com.android.runtime/lib/bionic/libc.so (syscall)
#00 pc 0x00000000001377e5 /apex/com.android.art/lib/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*))
#00 pc 0x000000000047f377 /apex/com.android.art/lib/libart.so (art::ThreadPool::GetTask(art::Thread*))
#00 pc 0x000000000047ea91 /apex/com.android.art/lib/libart.so (art::ThreadPoolWorker::Run())
#00 pc 0x000000000047e6e3 /apex/com.android.art/lib/libart.so (art::ThreadPoolWorker::Callback(void*))
#00 pc 0x00000000000aadef /apex/com.android.runtime/lib/bionic/libc.so (__pthread_start(void*))
#00 pc 0x0000000000063bbd /apex/com.android.runtime/lib/bionic/libc.so (__start_thread)
Thread
“ReferenceQueueDaemon” tid=12 Waiting
at java.lang.Object.wait (Object.java)
at java.lang.Object.wait (Object.java:442)
at java.lang.Object.wait (Object.java:568)
at java.lang.Daemons$ReferenceQueueDaemon.runInternal (Daemons.java:217)
at java.lang.Daemons$Daemon.run (Daemons.java:139)
at java.lang.Thread.run (Thread.java:923)
Thread
“FinalizerDaemon” tid=13 Waiting
at java.lang.Object.wait (Object.java)
at java.lang.Object.wait (Object.java:442)
at java.lang.ref.ReferenceQueue.remove (ReferenceQueue.java:190)
at java.lang.ref.ReferenceQueue.remove (ReferenceQueue.java:211)
at java.lang.Daemons$FinalizerDaemon.runInternal (Daemons.java:273)
at java.lang.Daemons$Daemon.run (Daemons.java:139)
at java.lang.Thread.run (Thread.java:923)
Thread
“Binder:1766_3” tid=14 Native
#00 pc 0x000000000009aee8 /apex/com.android.runtime/lib/bionic/libc.so (__ioctl)
#00 pc 0x0000000000068f2b /apex/com.android.runtime/lib/bionic/libc.so (ioctl)
#00 pc 0x0000000000039bcb /system/lib/libbinder.so (android::IPCThreadState::talkWithDriver(bool))
#00 pc 0x0000000000039d25 /system/lib/libbinder.so (android::IPCThreadState::getAndExecuteCommand())
#00 pc 0x000000000003a40b /system/lib/libbinder.so (android::IPCThreadState::joinThreadPool(bool))
#00 pc 0x0000000000053ebd /system/lib/libbinder.so (android::PoolThread::threadLoop())
#00 pc 0x000000000000ed4b /system/lib/libutils.so (android::_threadLoop(void*))
#00 pc 0x000000000006c727 /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*))
#00 pc 0x000000000000e889 /system/lib/libutils.so (thread_data_t::trampoline(thread_data_t const*))
#00 pc 0x00000000000aadef /apex/com.android.runtime/lib/bionic/libc.so (__pthread_start(void*))
#00 pc 0x0000000000063bbd /apex/com.android.runtime/lib/bionic/libc.so (__start_thread)
Thread
“Profile Saver” tid=15 Native
#00 pc 0x000000000005ddec /apex/com.android.runtime/lib/bionic/libc.so (syscall)
#00 pc 0x00000000001377e5 /apex/com.android.art/lib/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*))
#00 pc 0x000000000027ec63 /apex/com.android.art/lib/libart.so (art::ProfileSaver::Run())
#00 pc 0x00000000002829ab /apex/com.android.art/lib/libart.so (art::ProfileSaver::RunProfileSaverThread(void*))
#00 pc 0x00000000000aadef /apex/com.android.runtime/lib/bionic/libc.so (__pthread_start(void*))
#00 pc 0x0000000000063bbd /apex/com.android.runtime/lib/bionic/libc.so (__start_thread)
Thread
“pool-4-thread-1” tid=17 Waiting
at sun.misc.Unsafe.park (Unsafe.java)
at java.util.concurrent.locks.LockSupport.park (LockSupport.java:190)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await (AbstractQueuedSynchronizer.java:2067)
at java.util.concurrent.LinkedBlockingQueue.take (LinkedBlockingQueue.java:442)
at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1092)
at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1152)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641)
at java.lang.Thread.run (Thread.java:923)
Thread
“Firebase-Messaging-Topics-Io” tid=18 Waiting
at sun.misc.Unsafe.park (Unsafe.java)
at java.util.concurrent.locks.LockSupport.park (LockSupport.java:190)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await (AbstractQueuedSynchronizer.java:2067)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take (ScheduledThreadPoolExecutor.java:1120)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take (ScheduledThreadPoolExecutor.java:849)
at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1092)
at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1152)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641)
at com.google.android.gms.common.util.concurrent.zza.run (zza.java:2)
at java.lang.Thread.run (Thread.java:923)
Thread
“Crashlytics Exception Handler1” tid=3 Waiting
at sun.misc.Unsafe.park (Unsafe.java)
at java.util.concurrent.locks.LockSupport.park (LockSupport.java:190)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await (AbstractQueuedSynchronizer.java:2067)
at java.util.concurrent.LinkedBlockingQueue.take (LinkedBlockingQueue.java:442)
at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1092)
at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1152)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641)
at com.google.firebase.crashlytics.internal.common.ExecutorUtils$1$1.onRun (ExecutorUtils.java:64)
at com.google.firebase.crashlytics.internal.common.BackgroundPriorityRunnable.run (BackgroundPriorityRunnable.java:27)
at java.lang.Thread.run (Thread.java:923)
Thread
“com.google.firebase.crashlytics.startup1” tid=5 Waiting
at sun.misc.Unsafe.park (Unsafe.java)
at java.util.concurrent.locks.LockSupport.park (LockSupport.java:190)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await (AbstractQueuedSynchronizer.java:2067)
at java.util.concurrent.LinkedBlockingQueue.take (LinkedBlockingQueue.java:442)
at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1092)
at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1152)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641)
at com.google.firebase.crashlytics.internal.common.ExecutorUtils$1$1.onRun (ExecutorUtils.java:64)
at com.google.firebase.crashlytics.internal.common.BackgroundPriorityRunnable.run (BackgroundPriorityRunnable.java:27)
at java.lang.Thread.run (Thread.java:923)
Thread
“awaitEvenIfOnMainThread task continuation executor1” tid=20 Waiting
at sun.misc.Unsafe.park (Unsafe.java)
at java.util.concurrent.locks.LockSupport.park (LockSupport.java:190)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await (AbstractQueuedSynchronizer.java:2067)
at java.util.concurrent.LinkedBlockingQueue.take (LinkedBlockingQueue.java:442)
at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1092)
at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1152)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641)
at com.google.firebase.crashlytics.internal.common.ExecutorUtils$1$1.onRun (ExecutorUtils.java:64)
at com.google.firebase.crashlytics.internal.common.BackgroundPriorityRunnable.run (BackgroundPriorityRunnable.java:27)
at java.lang.Thread.run (Thread.java:923)
Thread
“GmsDynamite” tid=22 Waiting
at java.lang.Object.wait (Object.java)
at java.lang.Object.wait (Object.java:442)
at java.lang.Object.wait (Object.java:568)
at com.google.android.gms.dynamite.zza.run (zza.java:2)
Thread
“WM.task-1” tid=26 Waiting
at sun.misc.Unsafe.park (Unsafe.java)
at java.util.concurrent.locks.LockSupport.park (LockSupport.java:190)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await (AbstractQueuedSynchronizer.java:2067)
at java.util.concurrent.LinkedBlockingQueue.take (LinkedBlockingQueue.java:442)
at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1092)
at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1152)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641)
at java.lang.Thread.run (Thread.java:923)
Thread
“queued-work-looper” tid=27 Native
#00 pc 0x000000000009bfc4 /apex/com.android.runtime/lib/bionic/libc.so (__epoll_pwait)
#00 pc 0x000000000006d9dd /apex/com.android.runtime/lib/bionic/libc.so (epoll_wait)
#00 pc 0x0000000000011bb1 /system/lib/libutils.so (android::Looper::pollInner(int))
#00 pc 0x0000000000011ad7 /system/lib/libutils.so (android::Looper::pollOnce(int, int*, int*, void**))
#00 pc 0x00000000000b9f05 /system/lib/libandroid_runtime.so (android::android_os_MessageQueue_nativePollOnce(_JNIEnv*, _jobject*, long long, int))
at android.os.MessageQueue.nativePollOnce (MessageQueue.java)
at android.os.MessageQueue.next (MessageQueue.java:335)
at android.os.Looper.loop (Looper.java:183)
at android.os.HandlerThread.run (HandlerThread.java:67)
Thread
“WM.task-2” tid=28 Waiting
at sun.misc.Unsafe.park (Unsafe.java)
at java.util.concurrent.locks.LockSupport.park (LockSupport.java:190)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await (AbstractQueuedSynchronizer.java:2067)
at java.util.concurrent.LinkedBlockingQueue.take (LinkedBlockingQueue.java:442)
at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1092)
at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1152)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641)
at java.lang.Thread.run (Thread.java:923)
Thread
“AsyncTask #2” tid=30 Waiting
at sun.misc.Unsafe.park (Unsafe.java)
at java.util.concurrent.locks.LockSupport.park (LockSupport.java:190)
at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill (SynchronousQueue.java:459)
at java.util.concurrent.SynchronousQueue$TransferStack.transfer (SynchronousQueue.java:362)
at java.util.concurrent.SynchronousQueue.take (SynchronousQueue.java:920)
at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1092)
at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1152)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641)
at java.lang.Thread.run (Thread.java:923)
Thread
“pool-16-thread-1” tid=31 Timed Waiting
at sun.misc.Unsafe.park (Unsafe.java)
at java.util.concurrent.locks.LockSupport.parkNanos (LockSupport.java:230)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos (AbstractQueuedSynchronizer.java:2109)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take (ScheduledThreadPoolExecutor.java:1132)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take (ScheduledThreadPoolExecutor.java:849)
at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1092)
at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1152)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641)
at java.lang.Thread.run (Thread.java:923)
Thread
“pool-17-thread-1” tid=34 Waiting
at sun.misc.Unsafe.park (Unsafe.java)
at java.util.concurrent.locks.LockSupport.park (LockSupport.java:190)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await (AbstractQueuedSynchronizer.java:2067)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take (ScheduledThreadPoolExecutor.java:1120)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take (ScheduledThreadPoolExecutor.java:849)
at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1092)
at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1152)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641)
at java.lang.Thread.run (Thread.java:923)
Thread
“ExecutorQueue Global Timer” tid=35 Waiting
at java.lang.Object.wait (Object.java)
at java.lang.Object.wait (Object.java:442)
at java.lang.Object.wait (Object.java:568)
at java.util.TimerThread.mainLoop (TimerThread.java:533)
at java.util.TimerThread.run (TimerThread.java:512)
Thread
“pool-15-thread-1” tid=37 Waiting
at sun.misc.Unsafe.park (Unsafe.java)
at java.util.concurrent.locks.LockSupport.park (LockSupport.java:190)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await (AbstractQueuedSynchronizer.java:2067)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take (ScheduledThreadPoolExecutor.java:1120)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take (ScheduledThreadPoolExecutor.java:849)
at java.util.concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1092)
at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1152)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641)
at java.lang.Thread.run (Thread.java:923)
Thread
“Binder:1766_4” tid=39 Native
#00 pc 0x000000000009aee8 /apex/com.android.runtime/lib/bionic/libc.so (__ioctl)
#00 pc 0x0000000000068f2b /apex/com.android.runtime/lib/bionic/libc.so (ioctl)
#00 pc 0x0000000000039bcb /system/lib/libbinder.so (android::IPCThreadState::talkWithDriver(bool))
#00 pc 0x0000000000039d25 /system/lib/libbinder.so (android::IPCThreadState::getAndExecuteCommand())
#00 pc 0x000000000003a40b /system/lib/libbinder.so (android::IPCThreadState::joinThreadPool(bool))
#00 pc 0x0000000000053ebd /system/lib/libbinder.so (android::PoolThread::threadLoop())
#00 pc 0x000000000000ed4b /system/lib/libutils.so (android::_threadLoop(void*))
#00 pc 0x000000000006c727 /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*))
#00 pc 0x000000000000e889 /system/lib/libutils.so (thread_data_t::trampoline(thread_data_t const*))
Please take a look at it.
Thanks!