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版出现 has been unable to grant a connection to thread #129

Closed
droidphone opened this issue Aug 30, 2017 · 7 comments
Closed

android版出现 has been unable to grant a connection to thread #129

droidphone opened this issue Aug 30, 2017 · 7 comments
Labels

Comments

@droidphone
Copy link

日志打印:
W/WCDB.SQLiteConnectionPool: The connection pool for database '/data/data/xxx/databases/xxx.db' has been unable to grant a connection to thread 8954 (pool-6-thread-5) with flags 0x1 for 1938.4281 seconds.
Connections: 0 active, 1 idle, 0 available.
不知道为什么获取不到数据库连接?

@John-He-928
Copy link
Collaborator

你这是连接池被占用了,检查一下是否transaction打开了没有关闭。
打开的transaction会一直占用连接

@droidphone
Copy link
Author

我检查过代码,所有调用database.beginTransaction();都会在finally中调用database.endTransaction();
我也分析了ANR的traces文件,里面记录的所有数据库相关的操作都没有使用到数据库事务,也没有发现循环等待造成的死锁,通过traces文件,我没有找到是哪个线程占用了数据库连接,以下是traces文件内容:
"main" tid=1 :
| group="main" sCount=1 dsCount=0 obj=0x41967d98 self=0x41941028
| sysTid=16957 nice=-6 sched=0/0 cgrp=apps handle=1074413956
| state=S schedstat=( 34791811608 2747881432 34366 ) utm=3024 stm=455 core=1
at java.lang.Object.wait(Native Method)

  • waiting on <0x41967e68> (a java.lang.VMThread) held by tid=1 (main)
    at java.lang.Thread.parkFor(Thread.java:1205)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:320)
    at com.tencent.wcdb.database.SQLiteConnectionPool.waitForConnection(SQLiteConnectionPool.java:689)
    at com.tencent.wcdb.database.SQLiteConnectionPool.acquireConnection(SQLiteConnectionPool.java:365)
    at com.tencent.wcdb.database.SQLiteSession.acquireConnection(SQLiteSession.java:845)
    at com.tencent.wcdb.database.SQLiteSession.prepare(SQLiteSession.java:577)
    at com.tencent.wcdb.database.SQLiteProgram.(SQLiteProgram.java:63)
    at com.tencent.wcdb.database.SQLiteQuery.(SQLiteQuery.java:38)
    at com.tencent.wcdb.database.SQLiteCursor$1.newQuery(SQLiteCursor.java:283)
    at com.tencent.wcdb.database.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:53)
    at com.tencent.wcdb.database.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1505)
    at com.tencent.wcdb.database.SQLiteDatabase.rawQuery(SQLiteDatabase.java:1444)
    at com.aaa.component.filetcp.FTransTaskTable.queryOne(FTransTaskTable.java:311)
    at com.aaa.component.filetcp.FTransTaskService.queryUploadTask(FTransTaskService.java:86)
    at com.aaa.component.filetcp.FTransManager.innerUpload(FTransManager.java:388)
    at com.aaa.component.filetcp.FTransManager.upload(FTransManager.java:337)
    at com.aaa.module.im.service.ImService.uploadFileTcp(ImService.java:564)
    at com.aaa.module.im.service.ImService.reqSendMediaMessageImpl(ImService.java:477)
    at com.aaa.module.im.service.ImService.reqSendMediaMessage(ImService.java:415)
    at com.aaa.im.chat.common.BaseChatPresenter.sendMediaMessage(BaseChatPresenter.java:154)
    at com.aaa.im.chat.common.BaseChatPresenter.onPreviewBack(BaseChatPresenter.java:503)
    at com.aaa.im.chat.common.PhotoPresenter.onActivityResult(PhotoPresenter.java:299)
    at com.aaa.im.chat.common.BaseChatPresenter.onActivityResult(BaseChatPresenter.java:1209)
    at com.aaa.im.chat.common.BaseChatActivity.onActivityResult(BaseChatActivity.java:804)
    at com.aaa.im.chat.groupchat.GroupChatActivity.onActivityResult(GroupChatActivity.java:770)
    at android.app.Activity.dispatchActivityResult(Activity.java:5489)
    at android.app.ActivityThread.deliverResults(ActivityThread.java:3597)
    at android.app.ActivityThread.handleSendResult(ActivityThread.java:3644)
    at android.app.ActivityThread.access$1300(ActivityThread.java:155)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1379)
    at android.os.Handler.dispatchMessage(Handler.java:110)
    at android.os.Looper.loop(Looper.java:193)
    at android.app.ActivityThread.main(ActivityThread.java:5409)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:515)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:859)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:675)
    at dalvik.system.NativeStart.main(Native Method)
    "STATUS_NOTIFY_THREAD" tid=22 :
    | group="main" sCount=1 dsCount=0 obj=0x41e7e7f0 self=0x63e46a10
    | sysTid=16996 nice=0 sched=0/0 cgrp=apps handle=1678264952
    | state=S schedstat=( 432308 728539 7 ) utm=0 stm=0 core=0
    at java.lang.Object.wait(Native Method)
  • waiting on <0x41e77e00> (a java.lang.VMThread) held by tid=22 (STATUS_NOTIFY_THREAD)
    at java.lang.Thread.parkFor(Thread.java:1205)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2017)
    at com.aaa.bbb.net.BusinessDataProcess$StatusChangeNotifyThread.getMsgByte(BusinessDataProcess.java:338)
    at com.aaa.bbb.net.BusinessDataProcess$StatusChangeNotifyThread.run(BusinessDataProcess.java:294)
    "THREAD_MID_51" tid=31 :
    | group="main" sCount=1 dsCount=0 obj=0x41e2f9b0 self=0x634ea650
    | sysTid=17005 nice=0 sched=0/0 cgrp=apps handle=1671385584
    | state=S schedstat=( 426230 0 3 ) utm=0 stm=0 core=1
    at java.lang.Object.wait(Native Method)
  • waiting on <0x41d54728> (a java.lang.VMThread) held by tid=31 (THREAD_MID_51)
    at java.lang.Thread.parkFor(Thread.java:1205)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2017)
    at com.aaa.bbb.net.ModThread.getMsgByte(ModThread.java:110)
    at com.aaa.bbb.net.ModThread.run(ModThread.java:43)
    "pool-3-thread-1" tid=64 :
    | group="main" sCount=1 dsCount=0 obj=0x44ab6d48 self=0x6a2e6690
    | sysTid=19130 nice=0 sched=0/0 cgrp=apps handle=1733867912
    | state=S schedstat=( 532095347 183879379 3090 ) utm=27 stm=26 core=0
    at com.aaa.module.im.local.MessageTable.updateRealUploadFileId(MessageTable.java:~1374)
  • waiting to lock <0x4370fa00> (a com.aaa.module.im.local.MessageTable) held by tid=43 (pool-6-thread-3)
    at com.aaa.module.im.service.ImService$4$4.run(ImService.java:687)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
    at java.lang.Thread.run(Thread.java:841)
    "LOGIN_SUCCESS_THREAD" tid=23 :
    | group="main" sCount=1 dsCount=0 obj=0x41e78198 self=0x63f594b0
    | sysTid=16997 nice=0 sched=0/0 cgrp=apps handle=1598872424
    | state=S schedstat=( 14096385 1162616 54 ) utm=1 stm=0 core=3
    at java.lang.Object.wait(Native Method)
  • waiting on <0x41d90978> (a java.lang.VMThread) held by tid=23 (LOGIN_SUCCESS_THREAD)
    at java.lang.Thread.parkFor(Thread.java:1205)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2017)
    at com.aaa.bbb.net.BusinessDataProcess$LoginSuccessNotifyThread.getMsgByte(BusinessDataProcess.java:233)
    at com.aaa.bbb.net.BusinessDataProcess$LoginSuccessNotifyThread.run(BusinessDataProcess.java:182)
    "Compiler" tid=5 :
    | group="system" sCount=1 dsCount=0 obj=0x41ccc8e0 self=0x5bdc10b0
    | sysTid=16964 nice=0 sched=0/0 cgrp=apps handle=1541148264
    | state=S schedstat=( 1506934754 514864613 7119 ) utm=99 stm=51 core=1
    #00 pc 000287f0 /system/lib/libc.so (__futex_syscall3+8)
    Repair #1 pc 000100fc /system/lib/libc.so (__pthread_cond_timedwait_relative+56)
    Repair #2 pc 0007dfb7 /system/lib/libdvm.so
    iOS 不支持cocoapods引入吗 #3 pc 00056dc5 /system/lib/libdvm.so
    Tutorials in English? #4 pc 0000db48 /system/lib/libc.so (__thread_entry+72)
    at dalvik.system.NativeStart.run(Native Method)
    "FinalizerDaemon" tid=7 :
    | group="system" sCount=1 dsCount=0 obj=0x41cccb98 self=0x5bdc3108
    | sysTid=16966 nice=0 sched=0/0 cgrp=apps handle=1541158240
    | state=S schedstat=( 146907238 51324002 642 ) utm=12 stm=2 core=0
    at java.lang.Object.wait(Native Method)
  • waiting on <0x4195c718> (a java.lang.ref.ReferenceQueue)
    at java.lang.Object.wait(Object.java:401)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:102)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:73)
    at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:175)
    at java.lang.Thread.run(Thread.java:841)
    "SoundPool" tid=37 :
    | group="main" sCount=1 dsCount=0 obj=0x41d2de90 self=0x6821c470
    | sysTid=17968 nice=0 sched=0/0 cgrp=apps handle=1741090016
    | state=S schedstat=( 448154 46077 5 ) utm=0 stm=0 core=0
    #00 pc 000287f0 /system/lib/libc.so (__futex_syscall3+8)
    Repair #1 pc 000100fc /system/lib/libc.so (__pthread_cond_timedwait_relative+56)
    Repair #2 pc 00070e7b /system/lib/libmedia.so (android::SoundPool::run()+66)
    iOS 不支持cocoapods引入吗 #3 pc 0004e84b /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+50)
    Tutorials in English? #4 pc 0000db48 /system/lib/libc.so (__thread_entry+72)
    at dalvik.system.NativeStart.run(Native Method)
    "pool-39-thread-1" tid=66 :
    | group="main" sCount=1 dsCount=0 obj=0x4365bae8 self=0x67c7f380
    | sysTid=19014 nice=0 sched=0/0 cgrp=apps handle=1747039080
    | state=S schedstat=( 18074847 4614770 67 ) utm=1 stm=0 core=0
    at java.lang.Object.wait(Native Method)
  • waiting on <0x4384cf18> (a java.lang.VMThread) held by tid=66 (pool-39-thread-1)
    at java.lang.Thread.parkFor(Thread.java:1205)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2017)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:410)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1035)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1097)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
    at java.lang.Thread.run(Thread.java:841)
    "pool-41-thread-1" tid=87 :
    | group="main" sCount=1 dsCount=0 obj=0x44a4a398 self=0x6c155b38
    | sysTid=19571 nice=0 sched=0/0 cgrp=apps handle=1800292880
    | state=S schedstat=( 13318618 3006536 77 ) utm=1 stm=0 core=2
    at java.lang.Object.wait(Native Method)
  • waiting on <0x445f7878> (a java.lang.VMThread) held by tid=87 (pool-41-thread-1)
    at java.lang.Thread.parkFor(Thread.java:1205)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2017)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:410)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1035)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1097)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
    at java.lang.Thread.run(Thread.java:841)
    "SoundPoolThread" tid=38 :
    | group="main" sCount=1 dsCount=0 obj=0x41d2c5a0 self=0x634b0a18
    | sysTid=17969 nice=0 sched=0/0 cgrp=apps handle=1747095064
    | state=S schedstat=( 1037846 9684232 12 ) utm=0 stm=0 core=2
    #00 pc 000287f0 /system/lib/libc.so (__futex_syscall3+8)
    Repair #1 pc 000100fc /system/lib/libc.so (__pthread_cond_timedwait_relative+56)
    Repair #2 pc 00071275 /system/lib/libmedia.so (android::SoundPoolThread::read()+20)
    iOS 不支持cocoapods引入吗 #3 pc 00071459 /system/lib/libmedia.so (android::SoundPoolThread::run()+16)
    Tutorials in English? #4 pc 0004e84b /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+50)
    Feature: WCDB for Swift #5 pc 0000db48 /system/lib/libc.so (__thread_entry+72)
    at dalvik.system.NativeStart.run(Native Method)
    "pool-37-thread-1" tid=101 :
    | group="main" sCount=1 dsCount=0 obj=0x44545038 self=0x6c89a7e8
    | sysTid=18698 nice=0 sched=0/0 cgrp=apps handle=1742403224
    | state=S schedstat=( 14024000 4175929 62 ) utm=1 stm=0 core=1
    at java.lang.Object.wait(Native Method)
  • waiting on <0x44545180> (a java.lang.VMThread) held by tid=101 (pool-37-thread-1)
    at java.lang.Thread.parkFor(Thread.java:1205)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2017)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:410)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1035)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1097)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
    at java.lang.Thread.run(Thread.java:841)
    "JDWP" tid=4 :
    | group="system" sCount=1 dsCount=0 obj=0x41ccc7f8 self=0x5bdd4aa0
    | sysTid=16963 nice=0 sched=0/0 cgrp=apps handle=1508916248
    | state=S schedstat=( 286846 0 3 ) utm=0 stm=0 core=0
    #00 pc 000282c0 /system/lib/libc.so (recvmsg+8)
    Repair #1 pc 00063b63 /system/lib/libdvm.so
    Repair #2 pc 00063e8d /system/lib/libdvm.so
    iOS 不支持cocoapods引入吗 #3 pc 00066cc5 /system/lib/libdvm.so
    Tutorials in English? #4 pc 00056dc5 /system/lib/libdvm.so
    Feature: WCDB for Swift #5 pc 0000db48 /system/lib/libc.so (__thread_entry+72)
    at dalvik.system.NativeStart.run(Native Method)
    "REAME_TCP_READ" tid=56 :
    | group="main" sCount=1 dsCount=0 obj=0x440928c8 self=0x67e1b730
    | sysTid=18155 nice=0 sched=0/0 cgrp=apps handle=1730483872
    | state=S schedstat=( 10223537 932616 46 ) utm=1 stm=0 core=1
    at java.lang.Object.wait(Native Method)
  • waiting on <0x437e10e0> (a java.lang.VMThread) held by tid=56 (REAME_TCP_READ)
    at java.lang.Thread.parkFor(Thread.java:1205)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2017)
    at com.real.tcpserver.ts.RealmeTcpServer$TcpReadThread.getTask(RealmeTcpServer.java:459)
    at com.real.tcpserver.ts.RealmeTcpServer$TcpReadThread.run(RealmeTcpServer.java:407)
    "THREAD_MID_112" tid=28 :
    | group="main" sCount=1 dsCount=0 obj=0x41e2fda8 self=0x63f63ad8
    | sysTid=17002 nice=0 sched=0/0 cgrp=apps handle=1613454976
    | state=S schedstat=( 199154 0 2 ) utm=0 stm=0 core=0
    at java.lang.Object.wait(Native Method)
  • waiting on <0x41d81210> (a java.lang.VMThread) held by tid=28 (THREAD_MID_112)
    at java.lang.Thread.parkFor(Thread.java:1205)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2017)
    at com.aaa.bbb.net.ModThread.getMsgByte(ModThread.java:110)
    at com.aaa.bbb.net.ModThread.run(ModThread.java:43)
    "Thread-70063" tid=52 :
    | group="main" sCount=1 dsCount=0 obj=0x434acf10 self=0x6835bc30
    | sysTid=18151 nice=0 sched=0/0 cgrp=apps handle=1743040960
    | state=S schedstat=( 1973772 4769 25 ) utm=0 stm=0 core=3
    at java.lang.VMThread.sleep(Native Method)
    at java.lang.Thread.sleep(Thread.java:1013)
    at java.lang.Thread.sleep(Thread.java:995)
    at com.real.thread.TcpCheckThread.run(TcpCheckThread.java:21)
    "pool-6-thread-1" tid=36 :
    | group="main" sCount=1 dsCount=0 obj=0x435aeab8 self=0x67d84af0
    | sysTid=17988 nice=0 sched=0/0 cgrp=apps handle=1742912616
    | state=S schedstat=( 681334428 154076004 1506 ) utm=62 stm=6 core=0
    at java.lang.Object.wait(Native Method)
  • waiting on <0x41d92dd8> (a java.lang.VMThread) held by tid=36 (pool-6-thread-1)
    at java.lang.Thread.parkFor(Thread.java:1205)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:320)
    at com.tencent.wcdb.database.SQLiteConnectionPool.waitForConnection(SQLiteConnectionPool.java:689)
    at com.tencent.wcdb.database.SQLiteConnectionPool.acquireConnection(SQLiteConnectionPool.java:365)
    at com.tencent.wcdb.database.SQLiteSession.acquireConnection(SQLiteSession.java:845)
    at com.tencent.wcdb.database.SQLiteSession.executeForChangedRowCount(SQLiteSession.java:704)
    at com.tencent.wcdb.database.SQLiteStatement.executeUpdateDelete(SQLiteStatement.java:62)
    at com.tencent.wcdb.database.SQLiteDatabase.executeSql(SQLiteDatabase.java:1884)
    at com.tencent.wcdb.database.SQLiteDatabase.execSQL(SQLiteDatabase.java:1813)
    at com.aaa.component.filetcp.FTransTaskTable.updateRealUploadFileId(FTransTaskTable.java:266)
    at com.aaa.component.filetcp.FTransTaskService.updateRealUploadFileId(FTransTaskService.java:102)
    at com.aaa.component.filetcp.FTransManager$1.run(FTransManager.java:686)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
    at java.lang.Thread.run(Thread.java:841)
    "Thread-70064" tid=53 :
    | group="main" sCount=1 dsCount=0 obj=0x43c2e650 self=0x67e6a008
    | sysTid=18152 nice=0 sched=0/0 cgrp=apps handle=1730472072
    | state=S schedstat=( 8270002 5136228 45 ) utm=0 stm=0 core=2
    at java.lang.Object.wait(Native Method)
  • waiting on <0x4381cd78> (a java.lang.VMThread) held by tid=53 (Thread-70064)
    at java.lang.Thread.parkFor(Thread.java:1205)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2017)
    at com.real.thread.FilePool.getMsgByte(FilePool.java:102)
    at com.real.thread.TaskProcessThread.run(TaskProcessThread.java:104)
    "LaunchIconThemeResource" tid=15 :
    | group="main" sCount=1 dsCount=0 obj=0x41d89208 self=0x602a6d78
    | sysTid=16979 nice=0 sched=0/0 cgrp=apps handle=1613473392
    | state=S schedstat=( 2854768 282617 7 ) utm=0 stm=0 core=2
    #00 pc 00028624 /system/lib/libc.so (epoll_wait+12)
    Repair #1 pc 000117d9 /system/lib/libutils.so (android::Looper::pollInner(int)+100)
    Repair #2 pc 00011a45 /system/lib/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+40)
    iOS 不支持cocoapods引入吗 #3 pc 00071709 /system/lib/libandroid_runtime.so (android::NativeMessageQueue::pollOnce(_JNIEnv*, int)+24)
    Tutorials in English? #4 pc 0001e74c /system/lib/libdvm.so (dvmPlatformInvoke+112)
    Feature: WCDB for Swift #5 pc 0004fcd1 /system/lib/libdvm.so (dvmCallJNIMethod(unsigned int const*, JValue*, Method const*, Thread*)+484)
    按照官方教程使用Carthage集成不成功 #6 pc 00027b28 /system/lib/libdvm.so
    增加android的 x86_64 支持 #7 pc 0002f25c /system/lib/libdvm.so (dvmMterpStd(Thread*)+76)
    Support Android x86_64 ABI #8 pc 0002c740 /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+188)
    Is there any plan to support React Native? #9 pc 00063075 /system/lib/libdvm.so (dvmCallMethodV(Thread*, Method const*, Object*, bool, JValue*, std::__va_list)+340)
    编译的过程中,报 'list' file not found #10 pc 00063099 /system/lib/libdvm.so (dvmCallMethod(Thread*, Method const*, Object*, JValue*, ...)+20)
    使用 Carthage 安装,但是文件路径与文档不同 #11 pc 00057731 /system/lib/libdvm.so
    Feature: WCDB for Win32 #12 pc 0000db48 /system/lib/libc.so (__thread_entry+72)
    at android.os.MessageQueue.nativePollOnce(Native Method)
    at android.os.MessageQueue.next(MessageQueue.java:138)
    at android.os.Looper.loop(Looper.java:150)
    at android.os.HandlerThread.run(HandlerThread.java:61)
    "pool-6-thread-2" tid=42 :
    | group="main" sCount=1 dsCount=0 obj=0x43e03ea8 self=0x634ca0c8
    | sysTid=17995 nice=0 sched=0/0 cgrp=apps handle=1677008224
    | state=S schedstat=( 597735451 122967385 1080 ) utm=53 stm=6 core=1
    at com.aaa.module.im.local.MessageTable.queryOneUnreadMsgGroupFromOtherSide(MessageTable.java:~886)
  • waiting to lock <0x4370fa00> (a com.aaa.module.im.local.MessageTable) held by tid=43 (pool-6-thread-3)
    at com.aaa.module.im.service.ImService.queryEveryoneLastUnreadMsgInGroup(ImService.java:1572)
    at com.aaa.im.chat.groupchat.GroupChatPresenter$1.run(GroupChatPresenter.java:334)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
    at java.lang.Thread.run(Thread.java:841)
    "Thread-70065" tid=54 :
    | group="main" sCount=1 dsCount=0 obj=0x43c2e750 self=0x67db93e0
    | sysTid=18153 nice=0 sched=0/0 cgrp=apps handle=1748372704
    | state=S schedstat=( 62593374 12317923 246 ) utm=3 stm=3 core=2
    at java.lang.Object.wait(Native Method)
  • waiting on <0x4381c760> (a java.lang.VMThread) held by tid=54 (Thread-70065)
    at java.lang.Thread.parkFor(Thread.java:1205)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2017)
    at com.real.thread.FilePool.getMsgByte(FilePool.java:102)
    at com.real.thread.TaskProcessThread.run(TaskProcessThread.java:104)
    "ModernAsyncTask Repair #1" tid=39 :
    | group="main" sCount=1 dsCount=0 obj=0x438bc9f0 self=0x65c794f8
    | sysTid=17992 nice=10 sched=0/0 cgrp=apps/bg_non_interactive handle=1710042104
    | state=S schedstat=( 3340616 1313307 8 ) utm=0 stm=0 core=3
    at java.lang.Object.wait(Native Method)
  • waiting on <0x41dd1e70> (a java.lang.VMThread) held by tid=39 (ModernAsyncTask Repair #1)
    at java.lang.Thread.parkFor(Thread.java:1205)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2017)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:410)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1035)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1097)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
    at java.lang.Thread.run(Thread.java:841)
    "pool-6-thread-3" tid=43 :
    | group="main" sCount=1 dsCount=0 obj=0x43e05698 self=0x63f529b0
    | sysTid=17996 nice=0 sched=0/0 cgrp=apps handle=1677012488
    | state=S schedstat=( 1415774632 100164372 773 ) utm=131 stm=10 core=1
    at java.lang.Object.wait(Native Method)
  • waiting on <0x438e5100> (a java.lang.VMThread) held by tid=43 (pool-6-thread-3)
    at java.lang.Thread.parkFor(Thread.java:1205)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:320)
    at com.tencent.wcdb.database.SQLiteConnectionPool.waitForConnection(SQLiteConnectionPool.java:689)
    at com.tencent.wcdb.database.SQLiteConnectionPool.acquireConnection(SQLiteConnectionPool.java:365)
    at com.tencent.wcdb.database.SQLiteSession.acquireConnection(SQLiteSession.java:845)
    at com.tencent.wcdb.database.SQLiteSession.prepare(SQLiteSession.java:577)
    at com.tencent.wcdb.database.SQLiteProgram.(SQLiteProgram.java:63)
    at com.tencent.wcdb.database.SQLiteQuery.(SQLiteQuery.java:38)
    at com.tencent.wcdb.database.SQLiteCursor$1.newQuery(SQLiteCursor.java:283)
    at com.tencent.wcdb.database.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:53)
    at com.tencent.wcdb.database.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1505)
    at com.tencent.wcdb.database.SQLiteDatabase.rawQuery(SQLiteDatabase.java:1444)
    at com.aaa.module.im.local.MessageTable.queryOneUnreadMsgGroupFromOtherSide(MessageTable.java:897)
    at com.aaa.module.im.service.ImService.queryEveryoneLastUnreadMsgInGroup(ImService.java:1572)
    at com.aaa.im.chat.groupchat.GroupChatPresenter$1.run(GroupChatPresenter.java:334)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
    at java.lang.Thread.run(Thread.java:841)
    "pool-6-thread-4" tid=44 :
    | group="main" sCount=1 dsCount=0 obj=0x43e06bb0 self=0x682182d8
    | sysTid=17997 nice=0 sched=0/0 cgrp=apps handle=1747027760
    | state=S schedstat=( 1369921888 330681838 6295 ) utm=109 stm=27 core=0
    at java.lang.Object.wait(Native Method)
  • waiting on <0x438eae58> (a java.lang.VMThread) held by tid=44 (pool-6-thread-4)
    at java.lang.Thread.parkFor(Thread.java:1205)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2017)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:410)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1035)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1097)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
    at java.lang.Thread.run(Thread.java:841)
    "pool-6-thread-5" tid=40 :
    | group="main" sCount=1 dsCount=0 obj=0x440aacf8 self=0x68361520
    | sysTid=18006 nice=0 sched=0/0 cgrp=apps handle=1748375928
    | state=S schedstat=( 1062356358 113448788 2616 ) utm=98 stm=8 core=0
    at java.lang.Object.wait(Native Method)
  • waiting on <0x440aae50> (a java.lang.VMThread) held by tid=40 (pool-6-thread-5)
    at java.lang.Thread.parkFor(Thread.java:1205)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:320)
    at com.tencent.wcdb.database.SQLiteConnectionPool.waitForConnection(SQLiteConnectionPool.java:689)
    at com.tencent.wcdb.database.SQLiteConnectionPool.acquireConnection(SQLiteConnectionPool.java:365)
    at com.tencent.wcdb.database.SQLiteSession.acquireConnection(SQLiteSession.java:845)
    at com.tencent.wcdb.database.SQLiteSession.prepare(SQLiteSession.java:577)
    at com.tencent.wcdb.database.SQLiteProgram.(SQLiteProgram.java:63)
    at com.tencent.wcdb.database.SQLiteQuery.(SQLiteQuery.java:38)
    at com.tencent.wcdb.database.SQLiteCursor$1.newQuery(SQLiteCursor.java:283)
    at com.tencent.wcdb.database.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:53)
    at com.tencent.wcdb.database.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1505)
    at com.tencent.wcdb.database.SQLiteDatabase.rawQuery(SQLiteDatabase.java:1444)
    at com.aaa.module.group.local.GroupTable.queryOne(GroupTable.java:300)
    at com.aaa.module.im.service.chatbox.ChatBoxHandler.getMessageTitle(ChatBoxHandler.java:249)
    at com.aaa.module.im.service.chatbox.ChatBoxHandler.onBeforeSendMessage(ChatBoxHandler.java:49)
    at com.aaa.module.im.service.ImService.onBeforeSendMessage(ImService.java:1299)
    at com.aaa.module.im.service.ImService.access$700(ImService.java:69)
    at com.aaa.module.im.service.ImService$14.run(ImService.java:1278)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
    at java.lang.Thread.run(Thread.java:841)
    "Thread-70218" tid=74 :
    | group="main" sCount=1 dsCount=0 obj=0x446720b8 self=0x68c61b10
    | sysTid=19166 nice=-6 sched=0/0 cgrp=apps handle=1743099992
    | state=S schedstat=( 6093769 21769 15 ) utm=0 stm=0 core=2
    #00 pc 00028624 /system/lib/libc.so (epoll_wait+12)
    Repair #1 pc 001fa1c5 /system/lib/libwebviewchromium.so
    Repair #2 pc 001f940f /system/lib/libwebviewchromium.so
    iOS 不支持cocoapods引入吗 #3 pc 001f1b17 /system/lib/libwebviewchromium.so
    Tutorials in English? #4 pc 001e5b13 /system/lib/libwebviewchromium.so
    Feature: WCDB for Swift #5 pc 001e0839 /system/lib/libwebviewchromium.so
    按照官方教程使用Carthage集成不成功 #6 pc 00927a2f /system/lib/libwebviewchromium.so
    增加android的 x86_64 支持 #7 pc 00927a97 /system/lib/libwebviewchromium.so
    Support Android x86_64 ABI #8 pc 001edba3 /system/lib/libwebviewchromium.so
    Is there any plan to support React Native? #9 pc 001eb95d /system/lib/libwebviewchromium.so
    编译的过程中,报 'list' file not found #10 pc 0000db48 /system/lib/libc.so (__thread_entry+72)
    at dalvik.system.NativeStart.run(Native Method)
    "Thread-70217" tid=70 :
    | group="main" sCount=1 dsCount=0 obj=0x44427a50 self=0x67961890
    | sysTid=19167 nice=0 sched=0/0 cgrp=apps handle=1743100576
    | state=S schedstat=( 696846 0 1 ) utm=0 stm=0 core=2
    #00 pc 000287f0 /system/lib/libc.so (__futex_syscall3+8)
    Repair #1 pc 000100fc /system/lib/libc.so (__pthread_cond_timedwait_relative+56)
    Repair #2 pc 001ed551 /system/lib/libwebviewchromium.so
    iOS 不支持cocoapods引入吗 #3 pc 001ed673 /system/lib/libwebviewchromium.so
    Tutorials in English? #4 pc 001ed8c9 /system/lib/libwebviewchromium.so
    Feature: WCDB for Swift #5 pc 001eb95d /system/lib/libwebviewchromium.so
    按照官方教程使用Carthage集成不成功 #6 pc 0000db48 /system/lib/libc.so (__thread_entry+72)
    at dalvik.system.NativeStart.run(Native Method)
    "RefQueueWorker@org.apache.http.impl.conn.tsccm.ConnPoolByRoute@41d931b0" tid=16 :
    | group="main" sCount=1 dsCount=0 obj=0x41d96048 self=0x602bb5f8
    | sysTid=16980 nice=0 sched=0/0 cgrp=apps handle=1613478480
    | state=S schedstat=( 320308 33539 2 ) utm=0 stm=0 core=2
    at java.lang.Object.wait(Native Method)
  • waiting on <0x41d95088> (a java.lang.ref.ReferenceQueue)
    at java.lang.Object.wait(Object.java:401)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:102)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:73)
    at org.apache.http.impl.conn.tsccm.RefQueueWorker.run(RefQueueWorker.java:102)
    at java.lang.Thread.run(Thread.java:841)
    "pool-42-thread-1" tid=81 :
    | group="main" sCount=1 dsCount=0 obj=0x43db5458 self=0x6d4c4b30
    | sysTid=19867 nice=0 sched=0/0 cgrp=apps handle=1808903736
    | state=S schedstat=( 21069772 26031616 162 ) utm=2 stm=0 core=3
    at java.lang.Object.wait(Native Method)
  • waiting on <0x43bbae20> (a java.lang.VMThread) held by tid=81 (pool-42-thread-1)
    at java.lang.Thread.parkFor(Thread.java:1205)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2017)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:410)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1035)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1097)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
    at java.lang.Thread.run(Thread.java:841)
    "NET_THREAD" tid=21 :
    | group="main" sCount=1 dsCount=0 obj=0x41ecc508 self=0x64192a18
    | sysTid=16995 nice=0 sched=0/0 cgrp=apps handle=1671412928
    | state=S schedstat=( 35594532 12596383 202 ) utm=2 stm=1 core=1
    at java.lang.Object.wait(Native Method)
  • waiting on <0x41ec5380> (a java.lang.VMThread) held by tid=21 (NET_THREAD)
    at java.lang.Thread.parkFor(Thread.java:1205)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2017)
    at com.aaa.bbb.net.NetThread.getMsgByte(NetThread.java:94)
    at com.aaa.bbb.net.NetThread.run(NetThread.java:43)
    "Binder_6" tid=46 :
    | group="main" sCount=1 dsCount=0 obj=0x445e4cc8 self=0x6a1b2b70
    | sysTid=19970 nice=0 sched=0/0 cgrp=apps handle=1742868488
    | state=S schedstat=( 3532844 6956307 20 ) utm=0 stm=0 core=0
    #00 pc 00027470 /system/lib/libc.so (__ioctl+8)
    Repair #1 pc 0003ada0 /system/lib/libc.so (ioctl+28)
    Repair #2 pc 0001b307 /system/lib/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+106)
    iOS 不支持cocoapods引入吗 #3 pc 0001b88b /system/lib/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+6)
    Tutorials in English? #4 pc 0001b905 /system/lib/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+68)
    Feature: WCDB for Swift #5 pc 000200dd /system/lib/libbinder.so
    按照官方教程使用Carthage集成不成功 #6 pc 0000f2a1 /system/lib/libutils.so (android::Thread::_threadLoop(void*)+204)
    增加android的 x86_64 支持 #7 pc 0004e84b /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+50)
    Support Android x86_64 ABI #8 pc 0000db48 /system/lib/libc.so (__thread_entry+72)
    at dalvik.system.NativeStart.run(Native Method)
    "Binder_5" tid=51 :
    | group="main" sCount=1 dsCount=0 obj=0x44a8f1f8 self=0x6c8a5678
    | sysTid=18871 nice=0 sched=0/0 cgrp=apps handle=1780868368
    | state=S schedstat=( 430428792 83519301 436 ) utm=40 stm=3 core=0
    #00 pc 00027470 /system/lib/libc.so (__ioctl+8)
    Repair #1 pc 0003ada0 /system/lib/libc.so (ioctl+28)
    Repair #2 pc 0001b307 /system/lib/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+106)
    iOS 不支持cocoapods引入吗 #3 pc 0001b88b /system/lib/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+6)
    Tutorials in English? #4 pc 0001b905 /system/lib/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+68)
    Feature: WCDB for Swift #5 pc 000200dd /system/lib/libbinder.so
    按照官方教程使用Carthage集成不成功 #6 pc 0000f2a1 /system/lib/libutils.so (android::Thread::_threadLoop(void*)+204)
    增加android的 x86_64 支持 #7 pc 0004e84b /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+50)
    Support Android x86_64 ABI #8 pc 0000db48 /system/lib/libc.so (__thread_entry+72)
    at dalvik.system.NativeStart.run(Native Method)
    "java.lang.ProcessManager" tid=17 :
    | group="main" sCount=1 dsCount=0 obj=0x41db11c0 self=0x602b4bb0
    | sysTid=16982 nice=0 sched=0/0 cgrp=apps handle=1613451272
    | state=S schedstat=( 899081 54615 12 ) utm=0 stm=0 core=2
    at java.lang.Object.wait(Native Method)
  • waiting on <0x41db1028> (a java.util.HashMap)
    at java.lang.Object.wait(Object.java:364)
    at java.lang.ProcessManager.waitForMoreChildren(ProcessManager.java:140)
    at java.lang.ProcessManager.watchChildren(ProcessManager.java:105)
    at java.lang.ProcessManager.access$000(ProcessManager.java:40)
    at java.lang.ProcessManager$1.run(ProcessManager.java:58)
    "fifo-pool-thread-0" tid=41 :
    | group="main" sCount=1 dsCount=0 obj=0x43e00b10 self=0x67e8a218
    | sysTid=17994 nice=10 sched=0/0 cgrp=apps/bg_non_interactive handle=1665965120
    | state=S schedstat=( 19489159 19682000 112 ) utm=0 stm=1 core=3
    at java.lang.Object.wait(Native Method)
  • waiting on <0x437070c0> (a java.lang.VMThread) held by tid=41 (fifo-pool-thread-0)
    at java.lang.Thread.parkFor(Thread.java:1205)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2017)
    at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:510)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1035)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1097)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
    at java.lang.Thread.run(Thread.java:841)
    at com.bumptech.glide.load.engine.executor.FifoPriorityThreadPoolExecutor$DefaultThreadFactory$1.run(FifoPriorityThreadPoolExecutor.java:118)
    "fifo-pool-thread-2" tid=57 :
    | group="main" sCount=1 dsCount=0 obj=0x43d53a20 self=0x672528b0
    | sysTid=18160 nice=10 sched=0/0 cgrp=apps/bg_non_interactive handle=1741592008
    | state=S schedstat=( 395479053 144242863 665 ) utm=33 stm=6 core=2
    at java.lang.Object.wait(Native Method)
  • waiting on <0x43761690> (a java.lang.VMThread) held by tid=57 (fifo-pool-thread-2)
    at java.lang.Thread.parkFor(Thread.java:1205)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2017)
    at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:510)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1035)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1097)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
    at java.lang.Thread.run(Thread.java:841)
    at com.bumptech.glide.load.engine.executor.FifoPriorityThreadPoolExecutor$DefaultThreadFactory$1.run(FifoPriorityThreadPoolExecutor.java:118)
    "pool-38-thread-1" tid=65 :
    | group="main" sCount=1 dsCount=0 obj=0x44187c48 self=0x65f14b10
    | sysTid=18889 nice=0 sched=0/0 cgrp=apps handle=1744182528
    | state=S schedstat=( 17431921 6643307 67 ) utm=1 stm=0 core=3
    at java.lang.Object.wait(Native Method)
  • waiting on <0x4353a9b0> (a java.lang.VMThread) held by tid=65 (pool-38-thread-1)
    at java.lang.Thread.parkFor(Thread.java:1205)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2017)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:410)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1035)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1097)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
    at java.lang.Thread.run(Thread.java:841)
    "fifo-pool-thread-1" tid=55 :
    | group="main" sCount=1 dsCount=0 obj=0x43df69a0 self=0x67da3800
    | sysTid=18154 nice=10 sched=0/0 cgrp=apps/bg_non_interactive handle=1743237040
    | state=S schedstat=( 458503779 117468913 551 ) utm=37 stm=8 core=3
    at java.lang.Object.wait(Native Method)
  • waiting on <0x437fe4f8> (a java.lang.VMThread) held by tid=55 (fifo-pool-thread-1)
    at java.lang.Thread.parkFor(Thread.java:1205)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2017)
    at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:510)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1035)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1097)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
    at java.lang.Thread.run(Thread.java:841)
    at com.bumptech.glide.load.engine.executor.FifoPriorityThreadPoolExecutor$DefaultThreadFactory$1.run(FifoPriorityThreadPoolExecutor.java:118)
    "GC" tid=2 :
    | group="system" sCount=1 dsCount=0 obj=0x41ccc620 self=0x5bdd2a60
    | sysTid=16961 nice=0 sched=0/0 cgrp=apps handle=1489082416
    | state=S schedstat=( 920177154 31562303 298 ) utm=91 stm=1 core=1
    #00 pc 000287f0 /system/lib/libc.so (__futex_syscall3+8)
    Repair #1 pc 000100fc /system/lib/libc.so (__pthread_cond_timedwait_relative+56)
    Repair #2 pc 0007ca47 /system/lib/libdvm.so
    iOS 不支持cocoapods引入吗 #3 pc 00056dc5 /system/lib/libdvm.so
    Tutorials in English? #4 pc 0000db48 /system/lib/libc.so (__thread_entry+72)
    at dalvik.system.NativeStart.run(Native Method)
    "THREAD_MID_34" tid=32 :
    | group="main" sCount=1 dsCount=0 obj=0x41d8f9f0 self=0x634eaaa8
    | sysTid=17006 nice=0 sched=0/0 cgrp=apps handle=1613579952
    | state=S schedstat=( 193692 0 2 ) utm=0 stm=0 core=1
    at java.lang.Object.wait(Native Method)
  • waiting on <0x41d30588> (a java.lang.VMThread) held by tid=32 (THREAD_MID_34)
    at java.lang.Thread.parkFor(Thread.java:1205)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2017)
    at com.aaa.bbb.net.ModThread.getMsgByte(ModThread.java:110)
    at com.aaa.bbb.net.ModThread.run(ModThread.java:43)
    "THREAD_MID_100" tid=27 :
    | group="main" sCount=1 dsCount=0 obj=0x41d3c978 self=0x63f63680
    | sysTid=17001 nice=0 sched=0/0 cgrp=apps handle=1600047776
    | state=S schedstat=( 213614 0 2 ) utm=0 stm=0 core=1
    at java.lang.Object.wait(Native Method)
  • waiting on <0x41d904e0> (a java.lang.VMThread) held by tid=27 (THREAD_MID_100)
    at java.lang.Thread.parkFor(Thread.java:1205)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2017)
    at com.aaa.bbb.net.ModThread.getMsgByte(ModThread.java:110)
    at com.aaa.bbb.net.ModThread.run(ModThread.java:43)
    "THREAD_MID_32" tid=30 :
    | group="main" sCount=1 dsCount=0 obj=0x41e49e48 self=0x634bb7d0
    | sysTid=17004 nice=0 sched=0/0 cgrp=apps handle=1677023432
    | state=S schedstat=( 309246219 30924531 769 ) utm=20 stm=10 core=0
    at java.lang.Object.wait(Native Method)
  • waiting on <0x41d45608> (a java.lang.VMThread) held by tid=30 (THREAD_MID_32)
    at java.lang.Thread.parkFor(Thread.java:1205)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2017)
    at com.aaa.bbb.net.ModThread.getMsgByte(ModThread.java:110)
    at com.aaa.bbb.net.ModThread.run(ModThread.java:43)
    "FileObserver" tid=11 :
    | group="main" sCount=1 dsCount=0 obj=0x41d74f60 self=0x602a49e0
    | sysTid=16978 nice=0 sched=0/0 cgrp=apps handle=1613575560
    | state=S schedstat=( 16014692 930615 34 ) utm=1 stm=0 core=1
    at java.lang.StackTraceElement.(StackTraceElement.java:~61)
    at dalvik.system.VMStack.getThreadStackTrace(Native Method)
    at java.lang.Thread.getStackTrace(Thread.java:579)
    at java.lang.Thread.getAllStackTraces(Thread.java:521)
    at com.tencent.bugly.proguard.z.a(BUGLY:1101)
    at com.tencent.bugly.crashreport.crash.anr.b.a(BUGLY:418)
    at com.tencent.bugly.crashreport.crash.anr.b$1.onEvent(BUGLY:485)
    at android.os.FileObserver$ObserverThread.onEvent(FileObserver.java:125)
    at android.os.FileObserver$ObserverThread.observe(Native Method)
    at android.os.FileObserver$ObserverThread.run(FileObserver.java:88)
    "pool-9-thread-11" tid=73 :
    | group="main" sCount=1 dsCount=0 obj=0x43d75e20 self=0x67a9fd20
    | sysTid=18231 nice=0 sched=0/0 cgrp=apps handle=1739194744
    | state=S schedstat=( 171993621 24068997 661 ) utm=12 stm=5 core=1
    at java.lang.Object.wait(Native Method)
  • waiting on <0x43d76050> (a java.lang.VMThread) held by tid=73 (pool-9-thread-11)
    at java.lang.Thread.parkFor(Thread.java:1205)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:197)
    at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:429)
    at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:331)
    at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:910)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1035)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1097)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
    at java.lang.Thread.run(Thread.java:841)
    "fifo-pool-thread-3" tid=72 :
    | group="main" sCount=1 dsCount=0 obj=0x43ff9768 self=0x67f52350
    | sysTid=18233 nice=10 sched=0/0 cgrp=apps/bg_non_interactive handle=1744119720
    | state=S schedstat=( 170966774 80853843 396 ) utm=14 stm=3 core=1
    at java.lang.Object.wait(Native Method)
  • waiting on <0x43ff98d0> (a java.lang.VMThread) held by tid=72 (fifo-pool-thread-3)
    at java.lang.Thread.parkFor(Thread.java:1205)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2017)
    at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:510)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1035)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1097)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
    at java.lang.Thread.run(Thread.java:841)
    at com.bumptech.glide.load.engine.executor.FifoPriorityThreadPoolExecutor$DefaultThreadFactory$1.run(FifoPriorityThreadPoolExecutor.java:118)
    "pool-43-thread-1" tid=93 :
    | group="main" sCount=1 dsCount=0 obj=0x43ce0f90 self=0x679bf8e0
    | sysTid=19979 nice=0 sched=0/0 cgrp=apps handle=1742866296
    | state=S schedstat=( 14880227 13414622 154 ) utm=1 stm=0 core=1
    at java.lang.Object.wait(Native Method)
  • waiting on <0x447292d0> (a java.lang.VMThread) held by tid=93 (pool-43-thread-1)
    at java.lang.Thread.parkFor(Thread.java:1205)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:320)
    at com.tencent.wcdb.database.SQLiteConnectionPool.waitForConnection(SQLiteConnectionPool.java:689)
    at com.tencent.wcdb.database.SQLiteConnectionPool.acquireConnection(SQLiteConnectionPool.java:365)
    at com.tencent.wcdb.database.SQLiteSession.acquireConnection(SQLiteSession.java:845)
    at com.tencent.wcdb.database.SQLiteSession.prepare(SQLiteSession.java:577)
    at com.tencent.wcdb.database.SQLiteProgram.(SQLiteProgram.java:63)
    at com.tencent.wcdb.database.SQLiteStatement.(SQLiteStatement.java:29)
    at com.tencent.wcdb.database.SQLiteDatabase.executeSql(SQLiteDatabase.java:1882)
    at com.tencent.wcdb.database.SQLiteDatabase.execSQL(SQLiteDatabase.java:1813)
    at com.aaa.component.filetcp.FTransTaskTable.updateTaskStatus(FTransTaskTable.java:174)
    at com.aaa.component.filetcp.FTransTaskService.updateUploadTaskStatus(FTransTaskService.java:74)
    at com.aaa.component.filetcp.FTransManager.handleSuccess(FTransManager.java:614)
    at com.aaa.component.filetcp.FTransManager.fTransCallback(FTransManager.java:584)
    at com.aaa.component.filetcp.FTransTaskHandler$1.run(FTransTaskHandler.java:102)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
    at java.lang.Thread.run(Thread.java:841)
    "pool-5-thread-1" tid=35 :
    | group="main" sCount=1 dsCount=0 obj=0x435c2130 self=0x67af9728
    | sysTid=17875 nice=0 sched=0/0 cgrp=apps handle=1747046808
    | state=S schedstat=( 4423770 3010462 11 ) utm=0 stm=0 core=2
    at java.lang.Object.wait(Native Method)
  • waiting on <0x435c2278> (a java.lang.VMThread) held by tid=35 (pool-5-thread-1)
    at java.lang.Thread.parkFor(Thread.java:1205)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2017)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:410)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1035)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1097)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
    at java.lang.Thread.run(Thread.java:841)
    "Binder_2" tid=10 :
    | group="main" sCount=1 dsCount=0 obj=0x41cd0230 self=0x5bdc69c0
    | sysTid=16969 nice=0 sched=0/0 cgrp=apps handle=1541171064
    | state=S schedstat=( 1218211898 170794996 1194 ) utm=113 stm=8 core=0
    #00 pc 00027470 /system/lib/libc.so (__ioctl+8)
    Repair #1 pc 0003ada0 /system/lib/libc.so (ioctl+28)
    Repair #2 pc 0001b307 /system/lib/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+106)
    iOS 不支持cocoapods引入吗 #3 pc 0001b88b /system/lib/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+6)
    Tutorials in English? #4 pc 0001b905 /system/lib/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+68)
    Feature: WCDB for Swift #5 pc 000200dd /system/lib/libbinder.so
    按照官方教程使用Carthage集成不成功 #6 pc 0000f2a1 /system/lib/libutils.so (android::Thread::_threadLoop(void*)+204)
    增加android的 x86_64 支持 #7 pc 0004e84b /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+50)
    Support Android x86_64 ABI #8 pc 0000db48 /system/lib/libc.so (__thread_entry+72)
    at dalvik.system.NativeStart.run(Native Method)
    "Binder_1" tid=9 :
    | group="main" sCount=1 dsCount=0 obj=0x41cd0068 self=0x5bdc5708
    | sysTid=16968 nice=0 sched=0/0 cgrp=apps handle=1541166272
    | state=S schedstat=( 975344305 87180004 803 ) utm=93 stm=4 core=0
    #00 pc 00027470 /system/lib/libc.so (__ioctl+8)
    Repair #1 pc 0003ada0 /system/lib/libc.so (ioctl+28)
    Repair #2 pc 0001b307 /system/lib/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+106)
    iOS 不支持cocoapods引入吗 #3 pc 0001b88b /system/lib/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+6)
    Tutorials in English? #4 pc 0001b905 /system/lib/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+68)
    Feature: WCDB for Swift #5 pc 000200dd /system/lib/libbinder.so
    按照官方教程使用Carthage集成不成功 #6 pc 0000f2a1 /system/lib/libutils.so (android::Thread::_threadLoop(void*)+204)
    增加android的 x86_64 支持 #7 pc 0004e84b /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+50)
    Support Android x86_64 ABI #8 pc 0000db48 /system/lib/libc.so (__thread_entry+72)
    at dalvik.system.NativeStart.run(Native Method)
    "pool-40-thread-1" tid=69 :
    | group="main" sCount=1 dsCount=0 obj=0x445e4758 self=0x67db1008
    | sysTid=19132 nice=0 sched=0/0 cgrp=apps handle=1800335368
    | state=S schedstat=( 1129486785 140554840 1026 ) utm=106 stm=6 core=2
    at java.lang.Object.wait(Native Method)
  • waiting on <0x445e48a0> (a java.lang.VMThread) held by tid=69 (pool-40-thread-1)
    at java.lang.Thread.parkFor(Thread.java:1205)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2017)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1050)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:778)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1035)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1097)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
    at java.lang.Thread.run(Thread.java:841)
    "Binder_4" tid=94 :
    | group="main" sCount=1 dsCount=0 obj=0x445f5320 self=0x67e49ca0
    | sysTid=18300 nice=0 sched=0/0 cgrp=apps handle=1800345392
    | state=S schedstat=( 1177651406 154925673 884 ) utm=110 stm=7 core=0
    #00 pc 00027470 /system/lib/libc.so (__ioctl+8)
    Repair #1 pc 0003ada0 /system/lib/libc.so (ioctl+28)
    Repair #2 pc 0001b307 /system/lib/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+106)
    iOS 不支持cocoapods引入吗 #3 pc 0001b88b /system/lib/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+6)
    Tutorials in English? #4 pc 0001b905 /system/lib/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+68)
    Feature: WCDB for Swift #5 pc 000200dd /system/lib/libbinder.so
    按照官方教程使用Carthage集成不成功 #6 pc 0000f2a1 /system/lib/libutils.so (android::Thread::_threadLoop(void*)+204)
    增加android的 x86_64 支持 #7 pc 0004e84b /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+50)
    Support Android x86_64 ABI #8 pc 0000db48 /system/lib/libc.so (__thread_entry+72)
    at dalvik.system.NativeStart.run(Native Method)
    "Binder_3" tid=18 :
    | group="main" sCount=1 dsCount=0 obj=0x41db2110 self=0x602b6248
    | sysTid=16984 nice=0 sched=0/0 cgrp=apps handle=1613448816
    | state=S schedstat=( 816566976 87739712 808 ) utm=74 stm=7 core=0
    #00 pc 00027470 /system/lib/libc.so (__ioctl+8)
    Repair #1 pc 0003ada0 /system/lib/libc.so (ioctl+28)
    Repair #2 pc 0001b307 /system/lib/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+106)
    iOS 不支持cocoapods引入吗 #3 pc 0001b88b /system/lib/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+6)
    Tutorials in English? #4 pc 0001b905 /system/lib/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+68)
    Feature: WCDB for Swift #5 pc 000200dd /system/lib/libbinder.so
    按照官方教程使用Carthage集成不成功 #6 pc 0000f2a1 /system/lib/libutils.so (android::Thread::_threadLoop(void*)+204)
    增加android的 x86_64 支持 #7 pc 0004e84b /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+50)
    Support Android x86_64 ABI #8 pc 0000db48 /system/lib/libc.so (__thread_entry+72)
    at dalvik.system.NativeStart.run(Native Method)
    "pool-36-thread-1" tid=99 :
    | group="main" sCount=1 dsCount=0 obj=0x4414eb18 self=0x67e625e0
    | sysTid=18690 nice=0 sched=0/0 cgrp=apps handle=1746594688
    | state=S schedstat=( 12385234 255309 44 ) utm=1 stm=0 core=3
    at java.lang.Object.wait(Native Method)
  • waiting on <0x4414edd0> (a java.lang.VMThread) held by tid=99 (pool-36-thread-1)
    at java.lang.Thread.parkFor(Thread.java:1205)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2017)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:410)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1035)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1097)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
    at java.lang.Thread.run(Thread.java:841)
    "Thread-70220" tid=83 :
    | group="main" sCount=1 dsCount=0 obj=0x4440e3d0 self=0x6b3f79a8
    | sysTid=19161 nice=0 sched=0/0 cgrp=apps handle=1730396288
    | state=S schedstat=( 12387696 420923 18 ) utm=0 stm=1 core=1
    #00 pc 000287f0 /system/lib/libc.so (__futex_syscall3+8)
    Repair #1 pc 000100fc /system/lib/libc.so (__pthread_cond_timedwait_relative+56)
    Repair #2 pc 001eb03d /system/lib/libwebviewchromium.so
    iOS 不支持cocoapods引入吗 #3 pc 001eb061 /system/lib/libwebviewchromium.so
    Tutorials in English? #4 pc 001e1a6b /system/lib/libwebviewchromium.so
    Feature: WCDB for Swift #5 pc 001e5b13 /system/lib/libwebviewchromium.so
    按照官方教程使用Carthage集成不成功 #6 pc 001e0839 /system/lib/libwebviewchromium.so
    增加android的 x86_64 支持 #7 pc 009279ad /system/lib/libwebviewchromium.so
    Support Android x86_64 ABI #8 pc 00927a6f /system/lib/libwebviewchromium.so
    Is there any plan to support React Native? #9 pc 001edba3 /system/lib/libwebviewchromium.so
    编译的过程中,报 'list' file not found #10 pc 001eb95d /system/lib/libwebviewchromium.so
    使用 Carthage 安装,但是文件路径与文档不同 #11 pc 0000db48 /system/lib/libc.so (__thread_entry+72)
    at dalvik.system.NativeStart.run(Native Method)
    "AsyncTask Feature: WCDB for Swift #5" tid=50 :
    | group="main" sCount=1 dsCount=0 obj=0x43e62a48 self=0x67da7ba0
    | sysTid=18127 nice=10 sched=0/0 cgrp=apps/bg_non_interactive handle=1734943904
    | state=S schedstat=( 58453840 23419161 84 ) utm=2 stm=3 core=1
    at java.lang.Object.wait(Native Method)
  • waiting on <0x4389b508> (a java.lang.VMThread) held by tid=50 (AsyncTask Feature: WCDB for Swift #5)
    at java.lang.Thread.parkFor(Thread.java:1205)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2017)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:410)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1035)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1097)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
    at java.lang.Thread.run(Thread.java:841)
    "AsyncTask Tutorials in English? #4" tid=20 :
    | group="main" sCount=1 dsCount=0 obj=0x43d57358 self=0x602b2970
    | sysTid=18125 nice=10 sched=0/0 cgrp=apps/bg_non_interactive handle=1671394504
    | state=S schedstat=( 224108306 9409771 52 ) utm=21 stm=1 core=1
    at java.lang.Object.wait(Native Method)
  • waiting on <0x438a10b8> (a java.lang.VMThread) held by tid=20 (AsyncTask Tutorials in English? #4)
    at java.lang.Thread.parkFor(Thread.java:1205)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2017)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:410)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1035)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1097)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
    at java.lang.Thread.run(Thread.java:841)
    "TCP_SEND" tid=58 :
    | group="main" sCount=1 dsCount=0 obj=0x43d92558 self=0x67e5ac20
    | sysTid=18158 nice=0 sched=0/0 cgrp=apps handle=1730482712
    | state=S schedstat=( 159136230 50866461 796 ) utm=5 stm=10 core=0
    at java.lang.Object.wait(Native Method)
  • waiting on <0x437d81f0> (a java.lang.VMThread) held by tid=58 (TCP_SEND)
    at java.lang.Thread.parkFor(Thread.java:1205)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2017)
    at com.real.thread.ClientSendThread.getMsgByte(ClientSendThread.java:77)
    at com.real.thread.ClientSendThread.run(ClientSendThread.java:117)
    "BUGLY_THREAD" tid=12 :
    | group="main" sCount=1 dsCount=0 obj=0x41d27698 self=0x5f5e7560
    | sysTid=16975 nice=0 sched=0/0 cgrp=apps handle=1600033392
    | state=S schedstat=( 36376538 3455384 50 ) utm=3 stm=0 core=3
    at java.lang.Object.wait(Native Method)
  • waiting on <0x41d27830> (a java.lang.VMThread) held by tid=12 (BUGLY_THREAD)
    at java.lang.Thread.parkFor(Thread.java:1205)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:197)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2056)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1062)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:778)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1035)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1097)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
    at java.lang.Thread.run(Thread.java:841)
    "pool-4-thread-1" tid=68 :
    | group="main" sCount=1 dsCount=0 obj=0x44ab7958 self=0x6798bb50
    | sysTid=19131 nice=0 sched=0/0 cgrp=apps handle=1733956912
    | state=S schedstat=( 122883147 46835073 463 ) utm=8 stm=4 core=1
    at java.lang.Object.wait(Native Method)
  • waiting on <0x44ab8008> (a java.lang.VMThread) held by tid=68 (pool-4-thread-1)
    at java.lang.Thread.parkFor(Thread.java:1205)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:320)
    at com.tencent.wcdb.database.SQLiteConnectionPool.waitForConnection(SQLiteConnectionPool.java:689)
    at com.tencent.wcdb.database.SQLiteConnectionPool.acquireConnection(SQLiteConnectionPool.java:365)
    at com.tencent.wcdb.database.SQLiteSession.acquireConnection(SQLiteSession.java:845)
    at com.tencent.wcdb.database.SQLiteSession.prepare(SQLiteSession.java:577)
    at com.tencent.wcdb.database.SQLiteProgram.(SQLiteProgram.java:63)
    at com.tencent.wcdb.database.SQLiteQuery.(SQLiteQuery.java:38)
    at com.tencent.wcdb.database.SQLiteCursor$1.newQuery(SQLiteCursor.java:283)
    at com.tencent.wcdb.database.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:53)
    at com.tencent.wcdb.database.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1505)
    at com.tencent.wcdb.database.SQLiteDatabase.rawQuery(SQLiteDatabase.java:1444)
    at com.aaa.module.group.local.GroupMemberTable.queryMemberIdsWithoutSelf(GroupMemberTable.java:296)
    at com.aaa.module.im.service.ImService$15.run(ImService.java:1289)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
    at java.lang.Thread.run(Thread.java:841)
    "NOTIFY_THREAD" tid=24 :
    | group="main" sCount=1 dsCount=0 obj=0x41e73350 self=0x602b2280
    | sysTid=16998 nice=0 sched=0/0 cgrp=apps handle=1613440728
    | state=S schedstat=( 386230 3758231 5 ) utm=0 stm=0 core=1
    at java.lang.Object.wait(Native Method)
  • waiting on <0x41d66980> (a java.lang.VMThread) held by tid=24 (NOTIFY_THREAD)
    at java.lang.Thread.parkFor(Thread.java:1205)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2017)
    at com.aaa.bbb.notify.NotifyThread.getMsgByte(NotifyThread.java:89)
    at com.aaa.bbb.notify.NotifyThread.run(NotifyThread.java:43)
    "Signal Catcher" tid=3 :
    | group="system" sCount=0 dsCount=0 obj=0x41ccc700 self=0x5bdd7d80
    | sysTid=16962 nice=-8 sched=0/0 cgrp=apps handle=1541214392
    | state=R schedstat=( 63035998 2386615 78 ) utm=2 stm=4 core=0
    at dalvik.system.NativeStart.run(Native Method)
    "THREAD_MID_99" tid=29 :
    | group="main" sCount=1 dsCount=0 obj=0x41e738a0 self=0x634bb378
    | sysTid=17003 nice=0 sched=0/0 cgrp=apps handle=1671383880
    | state=S schedstat=( 824322444 77332927 1275 ) utm=71 stm=11 core=0
    at java.lang.Object.wait(Native Method)
  • waiting on <0x41d5fe20> (a java.lang.VMThread) held by tid=29 (THREAD_MID_99)
    at java.lang.Thread.parkFor(Thread.java:1205)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2017)
    at com.aaa.bbb.net.ModThread.getMsgByte(ModThread.java:110)
    at com.aaa.bbb.net.ModThread.run(ModThread.java:43)
    "THREAD_MID_98" tid=26 :
    | group="main" sCount=1 dsCount=0 obj=0x41d7b9f8 self=0x602b70c8
    | sysTid=17000 nice=0 sched=0/0 cgrp=apps handle=1613460768
    | state=S schedstat=( 22242925 560537 41 ) utm=1 stm=1 core=3
    at java.lang.Object.wait(Native Method)
  • waiting on <0x41e77ed8> (a java.lang.VMThread) held by tid=26 (THREAD_MID_98)
    at java.lang.Thread.parkFor(Thread.java:1205)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2017)
    at com.aaa.bbb.net.ModThread.getMsgByte(ModThread.java:110)
    at com.aaa.bbb.net.ModThread.run(ModThread.java:43)
    "FinalizerWatchdogDaemon" tid=8 :
    | group="system" sCount=1 dsCount=0 obj=0x41cccda0 self=0x5bdc4258
    | sysTid=16967 nice=0 sched=0/0 cgrp=apps handle=1541162672
    | state=S schedstat=( 2605772 3370074 36 ) utm=0 stm=0 core=3
    at java.lang.VMThread.sleep(Native Method)
    at java.lang.Thread.sleep(Thread.java:1013)
    at java.lang.Thread.sleep(Thread.java:995)
    at java.lang.Daemons$FinalizerWatchdogDaemon.sleepFor(Daemons.java:252)
    at java.lang.Daemons$FinalizerWatchdogDaemon.waitForFinalization(Daemons.java:264)
    at java.lang.Daemons$FinalizerWatchdogDaemon.run(Daemons.java:216)
    at java.lang.Thread.run(Thread.java:841)
    "THREAD_MID_97" tid=33 :
    | group="main" sCount=1 dsCount=0 obj=0x41d8a128 self=0x602d48f8
    | sysTid=17007 nice=0 sched=0/0 cgrp=apps handle=1613581648
    | state=S schedstat=( 163199843 36951466 332 ) utm=15 stm=1 core=1
    at java.lang.Object.wait(Native Method)
  • waiting on <0x41d4a220> (a java.lang.VMThread) held by tid=33 (THREAD_MID_97)
    at java.lang.Thread.parkFor(Thread.java:1205)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2017)
    at com.aaa.bbb.net.ModThread.getMsgByte(ModThread.java:110)
    at com.aaa.bbb.net.ModThread.run(ModThread.java:43)
    "THREAD_MID_96" tid=25 :
    | group="main" sCount=1 dsCount=0 obj=0x41e803c8 self=0x639f6778
    | sysTid=16999 nice=0 sched=0/0 cgrp=apps handle=1671399568
    | state=S schedstat=( 182538006 60735995 284 ) utm=17 stm=1 core=1
    at java.lang.Object.wait(Native Method)
  • waiting on <0x41e7bcb8> (a java.lang.VMThread) held by tid=25 (THREAD_MID_96)
    at java.lang.Thread.parkFor(Thread.java:1205)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2017)
    at com.aaa.bbb.net.ModThread.getMsgByte(ModThread.java:110)
    at com.aaa.bbb.net.ModThread.run(ModThread.java:43)
    "WifiManager" tid=19 :
    | group="main" sCount=1 dsCount=0 obj=0x41e04d00 self=0x63a22698
    | sysTid=16989 nice=0 sched=0/0 cgrp=apps handle=1671572208
    | state=S schedstat=( 19470152 48075150 160 ) utm=1 stm=0 core=0
    #00 pc 00028624 /system/lib/libc.so (epoll_wait+12)
    Repair #1 pc 000117d9 /system/lib/libutils.so (android::Looper::pollInner(int)+100)
    Repair #2 pc 00011a45 /system/lib/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+40)
    iOS 不支持cocoapods引入吗 #3 pc 00071709 /system/lib/libandroid_runtime.so (android::NativeMessageQueue::pollOnce(_JNIEnv*, int)+24)
    Tutorials in English? #4 pc 0001e74c /system/lib/libdvm.so (dvmPlatformInvoke+112)
    Feature: WCDB for Swift #5 pc 0004fcd1 /system/lib/libdvm.so (dvmCallJNIMethod(unsigned int const*, JValue*, Method const*, Thread*)+484)
    按照官方教程使用Carthage集成不成功 #6 pc 00027b28 /system/lib/libdvm.so
    增加android的 x86_64 支持 #7 pc 0002f25c /system/lib/libdvm.so (dvmMterpStd(Thread*)+76)
    Support Android x86_64 ABI #8 pc 0002c740 /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+188)
    Is there any plan to support React Native? #9 pc 00063075 /system/lib/libdvm.so (dvmCallMethodV(Thread*, Method const*, Object*, bool, JValue*, std::__va_list)+340)
    编译的过程中,报 'list' file not found #10 pc 00063099 /system/lib/libdvm.so (dvmCallMethod(Thread*, Method const*, Object*, JValue*, ...)+20)
    使用 Carthage 安装,但是文件路径与文档不同 #11 pc 00057731 /system/lib/libdvm.so
    Feature: WCDB for Win32 #12 pc 0000db48 /system/lib/libc.so (__thread_entry+72)
    at android.os.MessageQueue.nativePollOnce(Native Method)
    at android.os.MessageQueue.next(MessageQueue.java:138)
    at android.os.Looper.loop(Looper.java:150)
    at android.os.HandlerThread.run(HandlerThread.java:61)
    "AsyncTask Repair #1" tid=47 :
    | group="main" sCount=1 dsCount=0 obj=0x43865328 self=0x67cea3a8
    | sysTid=18050 nice=10 sched=0/0 cgrp=apps/bg_non_interactive handle=1742392648
    | state=S schedstat=( 45210613 1444923 43 ) utm=4 stm=0 core=3
    at java.lang.Object.wait(Native Method)
  • waiting on <0x434512d8> (a java.lang.VMThread) held by tid=47 (AsyncTask Repair #1)
    at java.lang.Thread.parkFor(Thread.java:1205)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2017)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:410)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1035)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1097)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
    at java.lang.Thread.run(Thread.java:841)
    "AsyncTask Repair #2" tid=48 :
    | group="main" sCount=1 dsCount=0 obj=0x43a91590 self=0x67cf4818
    | sysTid=18051 nice=10 sched=0/0 cgrp=apps/bg_non_interactive handle=1741593728
    | state=S schedstat=( 15833159 658156 41 ) utm=1 stm=0 core=3
    at java.lang.Object.wait(Native Method)
  • waiting on <0x41ec7690> (a java.lang.VMThread) held by tid=48 (AsyncTask Repair #2)
    at java.lang.Thread.parkFor(Thread.java:1205)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2017)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:410)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1035)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1097)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
    at java.lang.Thread.run(Thread.java:841)
    "AsyncTask iOS 不支持cocoapods引入吗 #3" tid=49 :
    | group="main" sCount=1 dsCount=0 obj=0x4366d9c8 self=0x67dc28b0
    | sysTid=18121 nice=10 sched=0/0 cgrp=apps/bg_non_interactive handle=1741071392
    | state=S schedstat=( 21215227 1984693 54 ) utm=1 stm=1 core=1
    at java.lang.Object.wait(Native Method)
  • waiting on <0x438a8990> (a java.lang.VMThread) held by tid=49 (AsyncTask iOS 不支持cocoapods引入吗 #3)
    at java.lang.Thread.parkFor(Thread.java:1205)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2017)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:410)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1035)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1097)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
    at java.lang.Thread.run(Thread.java:841)
    "ReferenceQueueDaemon" tid=6 :
    | group="system" sCount=1 dsCount=0 obj=0x41ccc9d0 self=0x5bdc1fb8
    | sysTid=16965 nice=0 sched=0/0 cgrp=apps handle=1541153808
    | state=S schedstat=( 29165861 26436303 244 ) utm=1 stm=1 core=0
    at java.lang.Object.wait(Native Method)
  • waiting on <0x4195c640>
    at java.lang.Object.wait(Object.java:364)
    at java.lang.Daemons$ReferenceQueueDaemon.run(Daemons.java:135)
    at java.lang.Thread.run(Thread.java:841)

@John-He-928
Copy link
Collaborator

John-He-928 commented Sep 4, 2017

这个应该是死锁,考虑如下场景:

  • Thread A 进入 transaction (持有数据库连接)后尝试 synchronized
  • Thread B synchronized 后尝试读写DB

默认情况(非WAL)下,数据库连接只有1个,因此造成死锁。Thread A 和 Thread B 不一定是主线程,任何一组线程达到了死锁,将导致连接不能释放继而锁死其他访问DB的线程。看你的traces,很有可能是 synchronized MessageTable 对象造成的。

建议排查方法:

  • 使用 SQLiteDatabase.setTraceCallback 方法设置一个 SQLiteTrace 回调,在 SQLiteTrace.onConnectionPoolBusy 方法里的参数 message 里包含每个连接的持有者线程,打印此参数到 Log 继而排查。
  • 在上面的方法里,执行 SQLiteDatabase.dump 方法可以获得更详细的信息

建议规避方法:

  • 使用 SQLiteDatabase.enableWriteAheadLoggingSQLiteOpenHelper.enableWriteAheadLogging 方法打开WAL模式并启用连接池。同时有4个连接的话可以降低发生死锁的概率。
  • 尽量避免打开 transaction 后进入 synchronized 块(包括调用包含synchronized块的方法)。

@droidphone
Copy link
Author

感谢耐心解答~

@droidphone
Copy link
Author

这个问题今天终于复现了,按照你的方法,我抓住了dump日志,但是有些看不明白,这个日志显示的连接释放了吗?
Connection pool for /storage/emulated/0/Android/data/com.aaa.bbb/files/xxx/xxx.db:
Open: true
Max connections: 1
Available primary connection:

Available non-primary connections:

Acquired connections:
Connection #0:
connectionPtr: 0xffffffffeec324a8
isPrimaryConnection: true
onlyAllowReadOnlyOperations: false
lastAcquireTid: 6504
lastAcquireStackTrace:
at dalvik.system.VMStack.getThreadStackTrace(Native Method)
at java.lang.Thread.getStackTrace(Thread.java:580)
at com.tencent.wcdb.database.SQLiteConnection.recordAcquireStackTrace(SQLiteConnection.java:528)
at com.tencent.wcdb.database.SQLiteConnectionPool.finishAcquireConnectionLocked(SQLiteConnectionPool.java:942)
at com.tencent.wcdb.database.SQLiteConnectionPool.tryAcquirePrimaryConnectionLocked(SQLiteConnectionPool.java:879)
at com.tencent.wcdb.database.SQLiteConnectionPool.wakeConnectionWaitersLocked(SQLiteConnectionPool.java:835)
at com.tencent.wcdb.database.SQLiteConnectionPool.releaseConnection(SQLiteConnectionPool.java:397)
at com.tencent.wcdb.database.SQLiteSession.releaseConnection(SQLiteSession.java:857)
at com.tencent.wcdb.database.SQLiteSession.executeForCursorWindow(SQLiteSession.java:790)
at com.tencent.wcdb.database.SQLiteQuery.fillWindow(SQLiteQuery.java:63)
at com.tencent.wcdb.database.SQLiteCursor.fillWindow(SQLiteCursor.java:146)
at com.tencent.wcdb.database.SQLiteCursor.getCount(SQLiteCursor.java:135)
at com.tencent.wcdb.AbstractCursor.moveToPosition(AbstractCursor.java:200)
at com.tencent.wcdb.AbstractCursor.moveToNext(AbstractCursor.java:248)
at com.aaa.bbb.component.filetcp.FTransTaskTable.queryOneWaitingTask(FTransTaskTable.java:227)
at com.aaa.bbb.component.filetcp.FTransTaskService.queryNextWaitingTask(FTransTaskService.java:82)
at com.aaa.bbb.component.filetcp.FTransManager.scheduleNextWatingTask(FTransManager.java:747)
at com.aaa.bbb.component.filetcp.FTransManager.scheduleNext(FTransManager.java:721)
at com.aaa.bbb.component.filetcp.FTransManager.fTransCallback(FTransManager.java:585)
at com.aaa.bbb.component.filetcp.FTransTaskHandler$2.run(FTransTaskHandler.java:107)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:818)

@yangjiantao
Copy link

@droidphone 看你关了issue,请问你怎么解决的呢?

1 similar comment
@duanyuGit
Copy link

@droidphone 看你关了issue,请问你怎么解决的呢?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants