Native method - android.os.MessageQueue.nativePollOnce

593 Views Asked by At

I have many ANR on Goole Play Console. While, the stack trace does not show any useful information. There are some snapshots of the problem. enter image description here enter image description here enter image description here

Native method - android.os.MessageQueue.nativePollOnce
Input dispatching timed out (No focused window)

The stack trace:

"main" tid=1 Native
  #00  pc 0x00000000000a6b6c  /apex/com.android.runtime/lib64/bionic/libc.so (__epoll_pwait+12)
  #01  pc 0x0000000000017cbc  /system/lib64/libutils.so (android::Looper::pollInner(int)+192)
  #02  pc 0x0000000000017b98  /system/lib64/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+116)
  #03  pc 0x0000000000162854  /system/lib64/libandroid_runtime.so (android::android_os_MessageQueue_nativePollOnce(_JNIEnv*, _jobject*, long, int)+48)
  at android.os.MessageQueue.nativePollOnce (Native method)
  at android.os.MessageQueue.next (MessageQueue.java:335)
  at android.os.Looper.loopOnce (Looper.java:161)
  at android.os.Looper.loop (Looper.java:288)
  at android.app.ActivityThread.main (ActivityThread.java:8022)
  at java.lang.reflect.Method.invoke (Native method)
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:548)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:942)

"Signal Catcher" tid=2 Runnable
  #00  pc 0x00000000006aac48  /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)+128)
  #01  pc 0x0000000000712e04  /apex/com.android.art/lib64/libart.so (art::Thread::DumpStack(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, bool, BacktraceMap*, bool) const+236)
  #02  pc 0x0000000000722050  /apex/com.android.art/lib64/libart.so (art::DumpCheckpoint::Run(art::Thread*)+208)
  #03  pc 0x0000000000374774  /apex/com.android.art/lib64/libart.so (art::ThreadList::RunCheckpoint(art::Closure*, art::Closure*)+448)
  #04  pc 0x0000000000720660  /apex/com.android.art/lib64/libart.so (art::ThreadList::Dump(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, bool)+280)
  #05  pc 0x0000000000720054  /apex/com.android.art/lib64/libart.so (art::ThreadList::DumpForSigQuit(std::__1::basic_ostream<char, std::__1::char_traits<char> >&)+292)
  #06  pc 0x00000000006f62d8  /apex/com.android.art/lib64/libart.so (art::Runtime::DumpForSigQuit(std::__1::basic_ostream<char, std::__1::char_traits<char> >&)+184)
  #07  pc 0x0000000000702a00  /apex/com.android.art/lib64/libart.so (art::SignalCatcher::HandleSigQuit()+468)
  #08  pc 0x000000000057de10  /apex/com.android.art/lib64/libart.so (art::SignalCatcher::Run(void*)+268)
  #09  pc 0x00000000000ba598  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+208)
  #10  pc 0x0000000000053f3c  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68)

"perfetto_hprof_listener" tid=7 Native
  #00  pc 0x00000000000a58a8  /apex/com.android.runtime/lib64/bionic/libc.so (read+8)
  #01  pc 0x00000000000204e0  /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::$_36> >(void*)+316)
  #02  pc 0x00000000000ba598  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+208)
  #03  pc 0x0000000000053f3c  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68)

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

"HeapTaskDaemon" tid=9 Waiting
  #00  pc 0x000000000004ea70  /apex/com.android.runtime/lib64/bionic/libc.so (syscall+32)
  #01  pc 0x00000000003a8af4  /apex/com.android.art/lib64/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+140)
  #02  pc 0x0000000000484480  /apex/com.android.art/lib64/libart.so (art::gc::TaskProcessor::GetTask(art::Thread*)+736)
  #03  pc 0x0000000000484154  /apex/com.android.art/lib64/libart.so (art::gc::TaskProcessor::RunAllTasks(art::Thread*)+32)
  at dalvik.system.VMRuntime.runHeapTasks (Native method)
  at java.lang.Daemons$HeapTaskDaemon.runInternal (Daemons.java:609)
  at java.lang.Daemons$Daemon.run (Daemons.java:140)
  at java.lang.Thread.run (Thread.java:1012)

"FinalizerDaemon" tid=10 Waiting
  at java.lang.Object.wait (Native method)
  at java.lang.Object.wait (Object.java:442)
  at java.lang.ref.ReferenceQueue.remove (ReferenceQueue.java:203)
  at java.lang.ref.ReferenceQueue.remove (ReferenceQueue.java:224)
  at java.lang.Daemons$FinalizerDaemon.runInternal (Daemons.java:300)
  at java.lang.Daemons$Daemon.run (Daemons.java:140)
  at java.lang.Thread.run (Thread.java:1012)

"Jit thread pool worker thread 0" tid=11 Native
  #00  pc 0x000000000004ea70  /apex/com.android.runtime/lib64/bionic/libc.so (syscall+32)
  #01  pc 0x00000000003a8af4  /apex/com.android.art/lib64/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+140)
  #02  pc 0x0000000000629f68  /apex/com.android.art/lib64/libart.so (art::ThreadPool::GetTask(art::Thread*)+120)
  #03  pc 0x0000000000629dc8  /apex/com.android.art/lib64/libart.so (art::ThreadPoolWorker::Run()+136)
  #04  pc 0x0000000000629ca4  /apex/com.android.art/lib64/libart.so (art::ThreadPoolWorker::Callback(void*)+164)
  #05  pc 0x00000000000ba598  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+208)
  #06  pc 0x0000000000053f3c  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68)

"FinalizerWatchdogDaemon" tid=12 Waiting
  at java.lang.Object.wait (Native method)
  at java.lang.Object.wait (Object.java:442)
  at java.lang.Object.wait (Object.java:568)
  at java.lang.Daemons$FinalizerWatchdogDaemon.sleepUntilNeeded (Daemons.java:385)
  at java.lang.Daemons$FinalizerWatchdogDaemon.runInternal (Daemons.java:365)
  at java.lang.Daemons$Daemon.run (Daemons.java:140)
  at java.lang.Thread.run (Thread.java:1012)

......

There are many RecyclerView to show data to user in my app. User can edit data in the item of the RecyclerView. Is the RecyclerView too busy to refresh? Or any other reason make this problem I have not found.

Does any one encounter this issue? And how can I solve this problem?

Thanks a lot.

0

There are 0 best solutions below