Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Android: native: ANR during rfbInit -> conn with timeout and a user-initiated close during this time #82

Closed
bk138 opened this issue Aug 14, 2020 · 1 comment

Comments

@bk138
Copy link
Owner

bk138 commented Aug 14, 2020

... related to lockFramebuffer()

@bk138 bk138 added the bug label Aug 14, 2020
@bk138 bk138 self-assigned this Aug 14, 2020
@bk138
Copy link
Owner Author

bk138 commented Aug 14, 2020


"main" tid=1 Waiting
"main" prio=5 tid=1 Waiting
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x71f754b0 self=0x7ab4c58000
  | sysTid=11251 nice=-10 cgrp=default sched=0/0 handle=0x7ab61ceee8
  | state=S schedstat=( 1022961880 459033025 1703 ) utm=62 stm=39 core=7 HZ=100
  | stack=0x7ff66c6000-0x7ff66c8000 stackSize=8192KB
  | held mutexes=
 
  at sun.misc.Unsafe.park (Native method)
- waiting on an unknown object
 
  at java.util.concurrent.locks.LockSupport.park (LockSupport.java:190)
 
  at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt (AbstractQueuedSynchronizer.java:868)
 
  at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued (AbstractQueuedSynchronizer.java:902)
 
  at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire (AbstractQueuedSynchronizer.java:1227)
 
  at java.util.concurrent.locks.ReentrantLock$NonfairSync.lock (ReentrantLock.java:216)
 
  at java.util.concurrent.locks.ReentrantLock.lock (ReentrantLock.java:294)
 
  at com.coboltforge.dontmind.multivnc.VNCConn.lockFramebuffer (VNCConn.java:1147)
 
  at com.coboltforge.dontmind.multivnc.VNCConn.shutdown (VNCConn.java:833)
 
  at com.coboltforge.dontmind.multivnc.VncCanvasActivity.onDestroy (VncCanvasActivity.java:1014)
 
  at android.app.Activity.performDestroy (Activity.java:8219)
 
  at android.app.Instrumentation.callActivityOnDestroy (Instrumentation.java:1342)
 
  at android.app.ActivityThread.performDestroyActivity (ActivityThread.java:5336)
 
  at android.app.ActivityThread.handleDestroyActivity (ActivityThread.java:5385)
 
  at android.app.servertransaction.DestroyActivityItem.execute (DestroyActivityItem.java:44)
 
  at android.app.servertransaction.TransactionExecutor.executeLifecycleState (TransactionExecutor.java:176)
 
  at android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:97)
 
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2229)
 
  at android.os.Handler.dispatchMessage (Handler.java:107)
 
  at android.os.Looper.loop (Looper.java:237)
 
  at android.app.ActivityThread.main (ActivityThread.java:8034)
 
  at java.lang.reflect.Method.invoke (Native method)
 
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:493)
 
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1076)
"Jit thread pool worker thread 0" tid=2 Native
"Jit thread pool worker thread 0" daemon prio=5 tid=2 Native
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x159c01b8 self=0x7a21800000
  | sysTid=11260 nice=0 cgrp=default sched=0/0 handle=0x7a22c4dd40
  | state=S schedstat=( 102208849 15537761 75 ) utm=7 stm=2 core=5 HZ=100
  | stack=0x7a22b4f000-0x7a22b51000 stackSize=1023KB
  | held mutexes=
 
  #00  pc 000000000008033c  /apex/com.android.runtime/lib64/bionic/libc.so (syscall+28)
 
  #01  pc 000000000014c1f4  /apex/com.android.runtime/lib64/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+148)
 
  #02  pc 000000000051620c  /apex/com.android.runtime/lib64/libart.so (art::ThreadPool::GetTask(art::Thread*)+256)
 
  #03  pc 0000000000515598  /apex/com.android.runtime/lib64/libart.so (art::ThreadPoolWorker::Run()+144)
 
  #04  pc 0000000000515058  /apex/com.android.runtime/lib64/libart.so (art::ThreadPoolWorker::Callback(void*)+148)
 
  #05  pc 00000000000e6f10  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+36)
 
  #06  pc 00000000000850c8  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64)
"GLThread 220180" tid=3 Waiting
"GLThread 220180" prio=5 tid=3 Waiting
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x12e5d6a8 self=0x7a1997c000
  | sysTid=11386 nice=0 cgrp=default sched=0/0 handle=0x7a1e6fed50
  | state=S schedstat=( 16226041 9310157 46 ) utm=0 stm=1 core=4 HZ=100
  | stack=0x7a1e5fc000-0x7a1e5fe000 stackSize=1039KB
  | held mutexes=
 
  at java.lang.Object.wait (Native method)
- waiting on <0x084611ec> (a android.opengl.GLSurfaceView$GLThreadManager)
 
  at java.lang.Object.wait (Object.java:442)
 
  at java.lang.Object.wait (Object.java:568)
 
  at android.opengl.GLSurfaceView$GLThread.guardedRun (GLSurfaceView.java:1497)
- locked <0x084611ec> (a android.opengl.GLSurfaceView$GLThreadManager)
 
  at android.opengl.GLSurfaceView$GLThread.run (GLSurfaceView.java:1272)
"Thread-10" tid=4 Native
"Thread-10" prio=5 tid=4 Native
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x131c92a0 self=0x7ab4c52c00
  | sysTid=11394 nice=0 cgrp=default sched=0/0 handle=0x7a1df48d50
  | state=S schedstat=( 5229584 2194998 35 ) utm=0 stm=0 core=4 HZ=100
  | stack=0x7a1de46000-0x7a1de48000 stackSize=1039KB
  | held mutexes=
 
  #00  pc 00000000000d1768  /apex/com.android.runtime/lib64/bionic/libc.so (__pselect6+8)
 
  #01  pc 000000000008de3c  /apex/com.android.runtime/lib64/bionic/libc.so (select+100)
 
  #02  pc 000000000009cd94  /data/app/com.coboltforge.dontmind.multivnc-rBSFbLnQBonTOKXxk2KPtg==/lib/arm64/libvncconn.so (???)
 
  #03  pc 000000000009cfe4  /data/app/com.coboltforge.dontmind.multivnc-rBSFbLnQBonTOKXxk2KPtg==/lib/arm64/libvncconn.so (ConnectClientToTcpAddr6WithTimeout+364)
 
  #04  pc 0000000000089f54  /data/app/com.coboltforge.dontmind.multivnc-rBSFbLnQBonTOKXxk2KPtg==/lib/arm64/libvncconn.so (ConnectToRFBServer+140)
 
  #05  pc 000000000009f3f4  /data/app/com.coboltforge.dontmind.multivnc-rBSFbLnQBonTOKXxk2KPtg==/lib/arm64/libvncconn.so (rfbInitClient+1072)
 
  #06  pc 0000000000088e1c  /data/app/com.coboltforge.dontmind.multivnc-rBSFbLnQBonTOKXxk2KPtg==/lib/arm64/libvncconn.so (Java_com_coboltforge_dontmind_multivnc_VNCConn_rfbInit+824)
 
  at com.coboltforge.dontmind.multivnc.VNCConn.rfbInit (Native method)
 
  at com.coboltforge.dontmind.multivnc.VNCConn.access$800 (VNCConn.java:36)
 
  at com.coboltforge.dontmind.multivnc.VNCConn$ServerToClientThread.run (VNCConn.java:224)
"hwuiTask0" tid=5 Native
"hwuiTask0" daemon prio=6 tid=5 Native
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x13240020 self=0x7a19c35c00
  | sysTid=11400 nice=-2 cgrp=default sched=0/0 handle=0x7a1dc45d50
  | state=S schedstat=( 430208 154062 3 ) utm=0 stm=0 core=4 HZ=100
  | stack=0x7a1db4f000-0x7a1db51000 stackSize=991KB
  | held mutexes=
 
  #00  pc 000000000008033c  /apex/com.android.runtime/lib64/bionic/libc.so (syscall+28)
 
  #01  pc 0000000000083e04  /apex/com.android.runtime/lib64/bionic/libc.so (__futex_wait_ex(void volatile*, bool, int, bool, timespec const*)+140)
 
  #02  pc 00000000000e6454  /apex/com.android.runtime/lib64/bionic/libc.so (pthread_cond_wait+60)
 
  #03  pc 0000000000072d50  /system/lib64/libc++.so (std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&)+20)
 
  #04  pc 000000000048b8e4  /system/lib64/libhwui.so (android::uirenderer::CommonPool::workerLoop()+104)
 
  #05  pc 000000000048b784  /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*)+132)
 
  #06  pc 00000000000e6f10  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+36)
 
  #07  pc 00000000000850c8  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64)
"hwuiTask1" tid=6 Native
"hwuiTask1" daemon prio=6 tid=6 Native
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x13280020 self=0x7ab4c59c00
  | sysTid=11401 nice=-2 cgrp=default sched=0/0 handle=0x7a1db48d50
  | state=S schedstat=( 490677 230364 3 ) utm=0 stm=0 core=6 HZ=100
  | stack=0x7a1da52000-0x7a1da54000 stackSize=991KB
  | held mutexes=
 
  #00  pc 000000000008033c  /apex/com.android.runtime/lib64/bionic/libc.so (syscall+28)
 
  #01  pc 0000000000083e04  /apex/com.android.runtime/lib64/bionic/libc.so (__futex_wait_ex(void volatile*, bool, int, bool, timespec const*)+140)
 
  #02  pc 00000000000e6454  /apex/com.android.runtime/lib64/bionic/libc.so (pthread_cond_wait+60)
 
  #03  pc 0000000000072d50  /system/lib64/libc++.so (std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&)+20)
 
  #04  pc 000000000048b8e4  /system/lib64/libhwui.so (android::uirenderer::CommonPool::workerLoop()+104)
 
  #05  pc 000000000048b784  /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*)+132)
 
  #06  pc 00000000000e6f10  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+36)
 
  #07  pc 00000000000850c8  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64)
"ReferenceQueueDaemon" tid=9 Waiting
"ReferenceQueueDaemon" daemon prio=5 tid=9 Waiting
  | group="system" sCount=1 dsCount=0 flags=1 obj=0x159c02a8 self=0x7ab4cf9400
  | sysTid=11275 nice=4 cgrp=default sched=0/0 handle=0x7a22930d50
  | state=S schedstat=( 540363 35990 4 ) utm=0 stm=0 core=5 HZ=100
  | stack=0x7a2282e000-0x7a22830000 stackSize=1039KB
  | held mutexes=
 
  at java.lang.Object.wait (Native method)
- waiting on <0x010687fd> (a java.lang.Class<java.lang.ref.ReferenceQueue>)
 
  at java.lang.Object.wait (Object.java:442)
 
  at java.lang.Object.wait (Object.java:568)
 
  at java.lang.Daemons$ReferenceQueueDaemon.runInternal (Daemons.java:215)
- locked <0x010687fd> (a java.lang.Class<java.lang.ref.ReferenceQueue>)
 
  at java.lang.Daemons$Daemon.run (Daemons.java:137)
 
  at java.lang.Thread.run (Thread.java:919)
"FinalizerDaemon" tid=10 Waiting
"FinalizerDaemon" daemon prio=5 tid=10 Waiting
  | group="system" sCount=1 dsCount=0 flags=1 obj=0x159c0320 self=0x7ab4d12000
  | sysTid=11278 nice=4 cgrp=default sched=0/0 handle=0x7a2281ed50
  | state=S schedstat=( 1100313 222448 9 ) utm=0 stm=0 core=5 HZ=100
  | stack=0x7a2271c000-0x7a2271e000 stackSize=1039KB
  | held mutexes=
 
  at java.lang.Object.wait (Native method)
- waiting on <0x07e52cf2> (a java.lang.Object)
 
  at java.lang.Object.wait (Object.java:442)
 
  at java.lang.ref.ReferenceQueue.remove (ReferenceQueue.java:190)
- locked <0x07e52cf2> (a java.lang.Object)
 
  at java.lang.ref.ReferenceQueue.remove (ReferenceQueue.java:211)
 
  at java.lang.Daemons$FinalizerDaemon.runInternal (Daemons.java:271)
 
  at java.lang.Daemons$Daemon.run (Daemons.java:137)
 
  at java.lang.Thread.run (Thread.java:919)
"FinalizerWatchdogDaemon" tid=11 Waiting
"FinalizerWatchdogDaemon" daemon prio=5 tid=11 Waiting
  | group="system" sCount=1 dsCount=0 flags=1 obj=0x159c0398 self=0x7a260c7000
  | sysTid=11279 nice=4 cgrp=default sched=0/0 handle=0x7a226c4d50
  | state=S schedstat=( 105938 961459 3 ) utm=0 stm=0 core=5 HZ=100
  | stack=0x7a225c2000-0x7a225c4000 stackSize=1039KB
  | held mutexes=
 
  at java.lang.Object.wait (Native method)
- waiting on <0x05720f43> (a java.lang.Daemons$FinalizerWatchdogDaemon)
 
  at java.lang.Object.wait (Object.java:442)
 
  at java.lang.Object.wait (Object.java:568)
 
  at java.lang.Daemons$FinalizerWatchdogDaemon.sleepUntilNeeded (Daemons.java:339)
- locked <0x05720f43> (a java.lang.Daemons$FinalizerWatchdogDaemon)
 
  at java.lang.Daemons$FinalizerWatchdogDaemon.runInternal (Daemons.java:319)
 
  at java.lang.Daemons$Daemon.run (Daemons.java:137)
 
  at java.lang.Thread.run (Thread.java:919)
"Binder:11251_1" tid=12 Native
"Binder:11251_1" prio=5 tid=12 Native
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x159c0410 self=0x7a2186d800
  | sysTid=11281 nice=0 cgrp=default sched=0/0 handle=0x7a224bdd50
  | state=S schedstat=( 452813 190833 10 ) utm=0 stm=0 core=5 HZ=100
  | stack=0x7a223c7000-0x7a223c9000 stackSize=991KB
  | held mutexes=
 
  #00  pc 00000000000d1704  /apex/com.android.runtime/lib64/bionic/libc.so (__ioctl+4)
 
  #01  pc 000000000008bc64  /apex/com.android.runtime/lib64/bionic/libc.so (ioctl+132)
 
  #02  pc 0000000000058fe8  /system/lib64/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+244)
 
  #03  pc 00000000000591c4  /system/lib64/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+24)
 
  #04  pc 000000000005999c  /system/lib64/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+64)
 
  #05  pc 000000000007fc18  /system/lib64/libbinder.so (android::PoolThread::threadLoop()+24)
 
  #06  pc 00000000000135f0  /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+328)
 
  #07  pc 00000000000f14e0  /system/lib64/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+140)
 
  #08  pc 00000000000e6f10  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+36)
 
  #09  pc 00000000000850c8  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64)
"Binder:11251_2" tid=13 Native
"Binder:11251_2" prio=5 tid=13 Native
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x159c0488 self=0x7a260d8800
  | sysTid=11284 nice=0 cgrp=default sched=0/0 handle=0x7a223c0d50
  | state=S schedstat=( 7157403 3618488 46 ) utm=0 stm=0 core=5 HZ=100
  | stack=0x7a222ca000-0x7a222cc000 stackSize=991KB
  | held mutexes=
 
  #00  pc 00000000000d1704  /apex/com.android.runtime/lib64/bionic/libc.so (__ioctl+4)
 
  #01  pc 000000000008bc64  /apex/com.android.runtime/lib64/bionic/libc.so (ioctl+132)
 
  #02  pc 0000000000058fe8  /system/lib64/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+244)
 
  #03  pc 00000000000591c4  /system/lib64/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+24)
 
  #04  pc 00000000000599c8  /system/lib64/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+108)
 
  #05  pc 000000000007fc18  /system/lib64/libbinder.so (android::PoolThread::threadLoop()+24)
 
  #06  pc 00000000000135f0  /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+328)
 
  #07  pc 00000000000f14e0  /system/lib64/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+140)
 
  #08  pc 00000000000e6f10  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+36)
 
  #09  pc 00000000000850c8  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64)
"Binder:11251_3" tid=14 Native
"Binder:11251_3" prio=5 tid=14 Native
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x159c0500 self=0x7a21899000
  | sysTid=11287 nice=0 cgrp=default sched=0/0 handle=0x7a2228ad50
  | state=S schedstat=( 4987446 5612031 42 ) utm=0 stm=0 core=5 HZ=100
  | stack=0x7a22194000-0x7a22196000 stackSize=991KB
  | held mutexes=
 
  #00  pc 00000000000d1704  /apex/com.android.runtime/lib64/bionic/libc.so (__ioctl+4)
 
  #01  pc 000000000008bc64  /apex/com.android.runtime/lib64/bionic/libc.so (ioctl+132)
 
  #02  pc 0000000000058fe8  /system/lib64/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+244)
 
  #03  pc 00000000000591c4  /system/lib64/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+24)
 
  #04  pc 00000000000599c8  /system/lib64/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+108)
 
  #05  pc 000000000007fc18  /system/lib64/libbinder.so (android::PoolThread::threadLoop()+24)
 
  #06  pc 00000000000135f0  /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+328)
 
  #07  pc 00000000000f14e0  /system/lib64/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+140)
 
  #08  pc 00000000000e6f10  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+36)
 
  #09  pc 00000000000850c8  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64)
"Profile Saver" tid=15 Native
"Profile Saver" daemon prio=5 tid=15 Native
  | group="system" sCount=1 dsCount=0 flags=1 obj=0x159c0578 self=0x7a26301000
  | sysTid=11306 nice=9 cgrp=default sched=0/0 handle=0x7a21e3cd50
  | state=S schedstat=( 4139374 704428 10 ) utm=0 stm=0 core=4 HZ=100
  | stack=0x7a21d46000-0x7a21d48000 stackSize=991KB
  | held mutexes=
 
  #00  pc 0000000000080340  /apex/com.android.runtime/lib64/bionic/libc.so (syscall+32)
 
  #01  pc 000000000014c62c  /apex/com.android.runtime/lib64/libart.so (art::ConditionVariable::TimedWait(art::Thread*, long, int)+168)
 
  #02  pc 00000000003481e0  /apex/com.android.runtime/lib64/libart.so (art::ProfileSaver::Run()+632)
 
  #03  pc 000000000034bfdc  /apex/com.android.runtime/lib64/libart.so (art::ProfileSaver::RunProfileSaverThread(void*)+88)
 
  #04  pc 00000000000e6f10  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+36)
 
  #05  pc 00000000000850c8  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64)
"RenderThread" tid=16 Native
"RenderThread" daemon prio=7 tid=16 Native
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x159c05f0 self=0x7a219c1800
  | sysTid=11308 nice=-10 cgrp=default sched=0/0 handle=0x7a1d7fbd50
  | state=S schedstat=( 1411904159 742234297 3650 ) utm=91 stm=49 core=4 HZ=100
  | stack=0x7a1d705000-0x7a1d707000 stackSize=991KB
  | held mutexes=
 
  #00  pc 00000000000d15c8  /apex/com.android.runtime/lib64/bionic/libc.so (__epoll_pwait+8)
 
  #01  pc 00000000000180bc  /system/lib64/libutils.so (android::Looper::pollInner(int)+144)
 
  #02  pc 0000000000017f8c  /system/lib64/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+56)
 
  #03  pc 000000000040f1cc  /system/lib64/libhwui.so (android::uirenderer::ThreadBase::waitForWork()+132)
 
  #04  pc 000000000040efd8  /system/lib64/libhwui.so (android::uirenderer::renderthread::RenderThread::threadLoop()+576)
 
  #05  pc 00000000000135f0  /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+328)
 
  #06  pc 00000000000e6f10  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+36)
 
  #07  pc 00000000000850c8  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64)
"magnifier pixel copy result handler" tid=17 Native
"magnifier pixel copy result handler" prio=5 tid=17 Native
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x159c0668 self=0x7a260c8c00
  | sysTid=11312 nice=0 cgrp=default sched=0/0 handle=0x7a1d6fed50
  | state=S schedstat=( 243438 0 1 ) utm=0 stm=0 core=4 HZ=100
  | stack=0x7a1d5fc000-0x7a1d5fe000 stackSize=1039KB
  | held mutexes=
 
  #00  pc 00000000000d15c8  /apex/com.android.runtime/lib64/bionic/libc.so (__epoll_pwait+8)
 
  #01  pc 00000000000180bc  /system/lib64/libutils.so (android::Looper::pollInner(int)+144)
 
  #02  pc 0000000000017f8c  /system/lib64/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+56)
 
  #03  pc 000000000016ca10  /system/lib64/libandroid_runtime.so (android::android_os_MessageQueue_nativePollOnce(_JNIEnv*, _jobject*, long, int)+44)
 
  at android.os.MessageQueue.nativePollOnce (Native method)
 
  at android.os.MessageQueue.next (MessageQueue.java:336)
 
  at android.os.Looper.loop (Looper.java:197)
 
  at android.os.HandlerThread.run (HandlerThread.java:67)
"Thread-6" tid=18 Native
"Thread-6" prio=5 tid=18 Native
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x159c0748 self=0x7a260d6c00
  | sysTid=11318 nice=0 cgrp=default sched=0/0 handle=0x7a1d5f5d50
  | state=S schedstat=( 7613390 2823384 51 ) utm=0 stm=0 core=4 HZ=100
  | stack=0x7a1d4f3000-0x7a1d4f5000 stackSize=1039KB
  | held mutexes=
 
  #00  pc 00000000000d15c8  /apex/com.android.runtime/lib64/bionic/libc.so (__epoll_pwait+8)
 
  #01  pc 00000000000180bc  /system/lib64/libutils.so (android::Looper::pollInner(int)+144)
 
  #02  pc 0000000000017f8c  /system/lib64/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+56)
 
  #03  pc 000000000016ca10  /system/lib64/libandroid_runtime.so (android::android_os_MessageQueue_nativePollOnce(_JNIEnv*, _jobject*, long, int)+44)
 
  at android.os.MessageQueue.nativePollOnce (Native method)
 
  at android.os.MessageQueue.next (MessageQueue.java:336)
 
  at android.os.Looper.loop (Looper.java:197)
 
  at com.coboltforge.dontmind.multivnc.MDNSService$MDNSWorkerThread.run (MDNSService.java:197)
"queued-work-looper" tid=19 Native
"queued-work-looper" prio=5 tid=19 Native
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x159c0858 self=0x7a196d5800
  | sysTid=11319 nice=-2 cgrp=default sched=0/0 handle=0x7a1a0c1d50
  | state=S schedstat=( 247970 1666 3 ) utm=0 stm=0 core=4 HZ=100
  | stack=0x7a19fbf000-0x7a19fc1000 stackSize=1039KB
  | held mutexes=
 
  #00  pc 00000000000d15c8  /apex/com.android.runtime/lib64/bionic/libc.so (__epoll_pwait+8)
 
  #01  pc 00000000000180bc  /system/lib64/libutils.so (android::Looper::pollInner(int)+144)
 
  #02  pc 0000000000017f8c  /system/lib64/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+56)
 
  #03  pc 000000000016ca10  /system/lib64/libandroid_runtime.so (android::android_os_MessageQueue_nativePollOnce(_JNIEnv*, _jobject*, long, int)+44)
 
  at android.os.MessageQueue.nativePollOnce (Native method)
 
  at android.os.MessageQueue.next (MessageQueue.java:336)
 
  at android.os.Looper.loop (Looper.java:197)
 
  at android.os.HandlerThread.run (HandlerThread.java:67)
"Binder:11251_4" tid=20 Native
"Binder:11251_4" prio=5 tid=20 Native
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x132c0020 self=0x79bf32d000
  | sysTid=11437 nice=0 cgrp=default sched=0/0 handle=0x7a1da4bd50
  | state=S schedstat=( 987812 3027187 6 ) utm=0 stm=0 core=4 HZ=100
  | stack=0x7a1d955000-0x7a1d957000 stackSize=991KB
  | held mutexes=
 
  #00  pc 00000000000d1704  /apex/com.android.runtime/lib64/bionic/libc.so (__ioctl+4)
 
  #01  pc 000000000008bc64  /apex/com.android.runtime/lib64/bionic/libc.so (ioctl+132)
 
  #02  pc 0000000000058fe8  /system/lib64/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+244)
 
  #03  pc 00000000000591c4  /system/lib64/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+24)
 
  #04  pc 00000000000599c8  /system/lib64/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+108)
 
  #05  pc 000000000007fc18  /system/lib64/libbinder.so (android::PoolThread::threadLoop()+24)
 
  #06  pc 00000000000135f0  /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+328)
 
  #07  pc 00000000000f14e0  /system/lib64/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+140)
 
  #08  pc 00000000000e6f10  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+36)
 
  #09  pc 00000000000850c8  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64)
"AsyncTask #2" tid=21 Waiting
"AsyncTask #2" prio=5 tid=21 Waiting
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x159c0a70 self=0x7a219f1000
  | sysTid=11321 nice=0 cgrp=default sched=0/0 handle=0x7a19c2fd50
  | state=S schedstat=( 883020 1679272 8 ) utm=0 stm=0 core=6 HZ=100
  | stack=0x7a19b2d000-0x7a19b2f000 stackSize=1039KB
  | held mutexes=
 
  at sun.misc.Unsafe.park (Native method)
- waiting on an unknown object
 
  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:919)
"ConnectivityThread" tid=22 Native
"ConnectivityThread" prio=5 tid=22 Native
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x159c0b38 self=0x7a19c37800
  | sysTid=11323 nice=0 cgrp=default sched=0/0 handle=0x79bd2c8d50
  | state=S schedstat=( 196667 40833 1 ) utm=0 stm=0 core=4 HZ=100
  | stack=0x79bd1c6000-0x79bd1c8000 stackSize=1039KB
  | held mutexes=
 
  #00  pc 00000000000d15c8  /apex/com.android.runtime/lib64/bionic/libc.so (__epoll_pwait+8)
 
  #01  pc 00000000000180bc  /system/lib64/libutils.so (android::Looper::pollInner(int)+144)
 
  #02  pc 0000000000017f8c  /system/lib64/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+56)
 
  #03  pc 000000000016ca10  /system/lib64/libandroid_runtime.so (android::android_os_MessageQueue_nativePollOnce(_JNIEnv*, _jobject*, long, int)+44)
 
  at android.os.MessageQueue.nativePollOnce (Native method)
 
  at android.os.MessageQueue.next (MessageQueue.java:336)
 
  at android.os.Looper.loop (Looper.java:197)
 
  at android.os.HandlerThread.run (HandlerThread.java:67)
"SocketListener(galaxy-note10-lan.local.)" tid=23 Native Netzwerks-E/A wird ausgeführt
"SocketListener(galaxy-note10-lan.local.)" daemon prio=5 tid=23 Native
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x159c0c18 self=0x7a19c39400
  | sysTid=11329 nice=0 cgrp=default sched=0/0 handle=0x79bc1bfd50
  | state=S schedstat=( 17748440 8372134 20 ) utm=0 stm=0 core=5 HZ=100
  | stack=0x79bc0bd000-0x79bc0bf000 stackSize=1039KB
  | held mutexes=
 
  #00  pc 00000000000d2584  /apex/com.android.runtime/lib64/bionic/libc.so (recvfrom+4)
 
  #01  pc 000000000003220c  /apex/com.android.runtime/lib64/libjavacore.so (Linux_recvfromBytes(_JNIEnv*, _jobject*, _jobject*, _jobject*, int, int, int, _jobject*)+356)
 
  at libcore.io.Linux.recvfromBytes (Native method)
 
  at libcore.io.Linux.recvfrom (Linux.java:211)
 
  at libcore.io.ForwardingOs.recvfrom (ForwardingOs.java:183)
 
  at libcore.io.BlockGuardOs.recvfrom (BlockGuardOs.java:333)
 
  at libcore.io.ForwardingOs.recvfrom (ForwardingOs.java:183)
 
  at libcore.io.IoBridge.recvfrom (IoBridge.java:598)
 
  at java.net.PlainDatagramSocketImpl.doRecv (PlainDatagramSocketImpl.java:153)
 
  at java.net.PlainDatagramSocketImpl.receive0 (PlainDatagramSocketImpl.java:141)
- locked <0x0bce1866> (a java.net.PlainDatagramSocketImpl)
 
  at java.net.AbstractPlainDatagramSocketImpl.receive (AbstractPlainDatagramSocketImpl.java:164)
- locked <0x0bce1866> (a java.net.PlainDatagramSocketImpl)
 
  at java.net.DatagramSocket.receive (DatagramSocket.java:847)
- locked <0x030919c0> (a java.net.MulticastSocket)
 
  at javax.jmdns.impl.SocketListener.run (SocketListener.java:41)
"JmDNS(galaxy-note10-lan.local.).State.Timer" tid=24 TimedWaiting
"JmDNS(galaxy-note10-lan.local.).State.Timer" prio=5 tid=24 TimedWaiting
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x159c3070 self=0x79bd801c00
  | sysTid=11331 nice=0 cgrp=default sched=0/0 handle=0x79bafadd50
  | state=S schedstat=( 4169272 492552 8 ) utm=0 stm=0 core=-1 HZ=100
  | stack=0x79baeab000-0x79baead000 stackSize=1039KB
  | held mutexes=
 
  at java.lang.Object.wait (Native method)
- waiting on <0x0795263e> (a java.util.TaskQueue)
 
  at java.lang.Object.wait (Object.java:442)
 
  at java.util.TimerThread.mainLoop (Timer.java:559)
- locked <0x0795263e> (a java.util.TaskQueue)
 
  at java.util.TimerThread.run (Timer.java:512)
"JmDNS(galaxy-note10-lan.local.).Timer" tid=25 TimedWaiting
"JmDNS(galaxy-note10-lan.local.).Timer" daemon prio=5 tid=25 TimedWaiting
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x159c3130 self=0x79bd800000
  | sysTid=11330 nice=0 cgrp=default sched=0/0 handle=0x79bb0b6d50
  | state=T schedstat=( 8184006 14397137 31 ) utm=0 stm=0 core=-1 HZ=100
  | stack=0x79bafb4000-0x79bafb6000 stackSize=1039KB
  | held mutexes=
 
  at java.lang.Object.wait (Native method)
- waiting on <0x0e1c5c9f> (a java.util.TaskQueue)
 
  at java.lang.Object.wait (Object.java:442)
 
  at java.util.TimerThread.mainLoop (Timer.java:559)
- locked <0x0e1c5c9f> (a java.util.TaskQueue)
 
  at java.util.TimerThread.run (Timer.java:512)
"pool-2-thread-1" tid=26 Waiting
"pool-2-thread-1" prio=5 tid=26 Waiting
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x159c31e8 self=0x7a19984c00
  | sysTid=11333 nice=0 cgrp=default sched=0/0 handle=0x79b8ea4d50
  | state=S schedstat=( 3033803 24687 4 ) utm=0 stm=0 core=1 HZ=100
  | stack=0x79b8da2000-0x79b8da4000 stackSize=1039KB
  | held mutexes=
 
  at sun.misc.Unsafe.park (Native method)
- waiting on an unknown object
 
  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:919)
"TcpOptimizer"
"TcpOptimizer" prio=5 (not attached)
  | sysTid=11397 nice=0 cgrp=default
  | state=S schedstat=( 88958 7083 2 ) utm=0 stm=0 core=5 HZ=100
 
  #00  pc 00000000000d2504  /apex/com.android.runtime/lib64/bionic/libc.so (read+4)
 
  #01  pc 00000000000033a8  /system/lib64/libTcpOptimizer.mobiledata.samsung.so (tcpOptimizerLogger+392)
 
  #02  pc 00000000000e6f10  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+36)
 
  #03  pc 00000000000850c8  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64)
"TcpOptimizer"
"TcpOptimizer" prio=5 (not attached)
  | sysTid=11398 nice=0 cgrp=default
  | state=S schedstat=( 313387 413542 4 ) utm=0 stm=0 core=4 HZ=100
 
  #00  pc 00000000000d2388  /apex/com.android.runtime/lib64/bionic/libc.so (nanosleep+8)
 
  #01  pc 00000000000aa7a4  /apex/com.android.runtime/lib64/bionic/libc.so (sleep+52)
 
  #02  pc 0000000000005128  /system/lib64/libTcpOptimizer.mobiledata.samsung.so (tcpStateMonitor+292)
 
  #03  pc 00000000000e6f10  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+36)
 
  #04  pc 00000000000850c8  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64)
"Signal Catcher" tid=7 Runnable
"Signal Catcher" daemon prio=5 tid=7 Runnable
  | group="system" sCount=0 dsCount=0 flags=0 obj=0x159c0230 self=0x7a2609d800
  | sysTid=11266 nice=0 cgrp=default sched=0/0 handle=0x7a22b48d50
  | state=R schedstat=( 9441610 84220 5 ) utm=0 stm=0 core=6 HZ=100
  | stack=0x7a22a52000-0x7a22a54000 stackSize=991KB
  | held mutexes= "mutator lock"(shared held)
 
  #00  pc 0000000000411dfc  /apex/com.android.runtime/lib64/libart.so (art::DumpNativeStack(std::__1::basic_ostream<char, std::__1::char_traits<char>>&, int, BacktraceMap*, char const*, art::ArtMethod*, void*, bool)+140)
 
  #01  pc 00000000004fa14c  /apex/com.android.runtime/lib64/libart.so (art::Thread::DumpStack(std::__1::basic_ostream<char, std::__1::char_traits<char>>&, bool, BacktraceMap*, bool) const+512)
 
  #02  pc 00000000005147ac  /apex/com.android.runtime/lib64/libart.so (art::DumpCheckpoint::Run(art::Thread*)+828)
 
  #03  pc 000000000050d914  /apex/com.android.runtime/lib64/libart.so (art::ThreadList::RunCheckpoint(art::Closure*, art::Closure*)+560)
 
  #04  pc 000000000050cd90  /apex/com.android.runtime/lib64/libart.so (art::ThreadList::Dump(std::__1::basic_ostream<char, std::__1::char_traits<char>>&, bool)+1964)
 
  #05  pc 000000000050c470  /apex/com.android.runtime/lib64/libart.so (art::ThreadList::DumpForSigQuit(std::__1::basic_ostream<char, std::__1::char_traits<char>>&)+844)
 
  #06  pc 00000000004c7480  /apex/com.android.runtime/lib64/libart.so (art::Runtime::DumpForSigQuit(std::__1::basic_ostream<char, std::__1::char_traits<char>>&)+200)
 
  #07  pc 00000000004db8e8  /apex/com.android.runtime/lib64/libart.so (art::SignalCatcher::HandleSigQuit()+1352)
 
  #08  pc 00000000004da9e8  /apex/com.android.runtime/lib64/libart.so (art::SignalCatcher::Run(void*)+376)
 
  #09  pc 00000000000e6f10  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+36)
 
  #10  pc 00000000000850c8  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64)
"HeapTaskDaemon" tid=8
"HeapTaskDaemon" daemon prio=5 tid=8 WaitingForTaskProcessor
  | group="system" sCount=1 dsCount=0 flags=1 obj=0x159c3358 self=0x7ab4cf7800
  | sysTid=11267 nice=4 cgrp=default sched=0/0 handle=0x7a22a42d50
  | state=S schedstat=( 38706513 2551043 22 ) utm=3 stm=0 core=5 HZ=100
  | stack=0x7a22940000-0x7a22942000 stackSize=1039KB
  | held mutexes=
 
  #00  pc 000000000008033c  /apex/com.android.runtime/lib64/bionic/libc.so (syscall+28)
 
  #01  pc 000000000014c1f4  /apex/com.android.runtime/lib64/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+148)
 
  #02  pc 000000000029044c  /apex/com.android.runtime/lib64/libart.so (art::gc::TaskProcessor::GetTask(art::Thread*)+444)
 
  #03  pc 0000000000290cd8  /apex/com.android.runtime/lib64/libart.so (art::gc::TaskProcessor::RunAllTasks(art::Thread*)+92)
 
  at dalvik.system.VMRuntime.runHeapTasks (Native method)
 
  at java.lang.Daemons$HeapTaskDaemon.runInternal (Daemons.java:523)
 
  at java.lang.Daemons$Daemon.run (Daemons.java:137)
 
  at java.lang.Thread.run (Thread.java:919)

@bk138 bk138 closed this as completed in 4d81a10 Aug 18, 2020
bk138 added a commit that referenced this issue Aug 18, 2020
While setting maintainConnection to false ends the main loop, it can still happen that an exception occurs.
Simply shutdown before ending the thread in any case

re #82
@bk138 bk138 added this to the AndroidMultiVNC-2.0.0 milestone Oct 10, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
Development

No branches or pull requests

1 participant