binder java_Binder机制,从Java到C (6. Binder in Native : libbinder)

本文解析了Java和C++中Binder的工作原理,涉及Java BBinder、transact()方法、Native层实现、ProcessState和IPCThreadState类,以及libbinder中的核心类和通信流程。重点展示了Java与Native环境间的交互桥梁和内存管理策略。

1.Java和C++中的Binder

从前一篇 Binder机制,从Java到C (5. IBinder对象传递形式) 中可以看到,使用Binder的Java代码,到最后都会进入到Native环境,将具体的分发工作交给执行效率更高的Native代码。

而这些Native的实现都会统一到一个lib:libbinder。

在前面的讲述中,我们已经接触到了native中的JavaBBinder,BBinder,JavaBBinderHolder

把一些相关的类整理一下,可以得到下面Java和C++代码的关系:

94b5c326a28c5355bcea3fcf4deccda7.png

Java环境里的Binder的对象,会通过JNI 调用init()方法,创建一个JavaBBinderHolder,从而使自己映射到Native环境里的BBinder。将两个环境里的Binder对象映射在一起。

2.transact()

BinderProxy中的transact()是以JNI的方式实现的,那它就是Java层和C++层的沟通纽带,Java通过它可以进一步和native交互。

Java环境里的的Binder,有一个private 的execTransact()方法,其实就是Native环境的callback,也就是C++层回到Java层的一个入口。

JNI代码在执行Native环境的onTransact()方法時,会通过回调Java环境里的execTransact()方法,从而回调到Java里实现的onTransact()方法。

c50bb1b2d0b0308d65ed4c3cf38d3f4c.png

3.libinder

Binder在Java环境中大量使用了面向对象的重构技巧,尽可能的实现通用操作。于是,为了支持给Java环境提供的灵活功能,在Native层的Binder,也需要具备面向对象的能力。libbinder的文件路径:

/framework/native/include/binder/

Binder.h

BinderService.h

BpBinder.h

Ibinder.h

IInterface.h

IPCThreadState.h

IpermissionController.h

IserviceManager.h

MemoryBase.h

MemoryDealer.h

MemoryHeapBase.h

Parcel.h

PermissionCache.h

ProcessState.h

/framework/native/lib/binder/binder/

Binder.cpp

BpBinder.cpp

Iinterface.cpp

Imemory.cpp

IPCThreadState.cpp

IpermissionController.cpp

IserviceManager.cpp

MemoryBase.cpp

MemoryDealer.cpp

MemoryHeapBase.cpp

Parcel.cpp

PermissionCache.cpp

ProcessState.cpp

Static.cpp

为了能映射Java代码,C++实现的Binder库会和Java环境里的Binder概念有相似互通之处:

IInterface.h,定义IInterface接口类。与Java的IInterface接口类对应,但与Java环境不同,C++环境里需要提供Binder通信实现,所以在内部被进一步拆分成BpInterface(Proxy端对象)、BnInterface(Stub端对象)两个模板,从而使用不同模板参数,可以使用对同一IInterface接口的访问,得到不同功能实现。

IBinder.h,定义IBinder接口类。与Java环境的IBinder对应,提供Binder引用,并定义Binder对象所应实现的方法。跟Java环境一样,IBinder对象会是分别引用到Proxy对象或是Stub对象。

Binder.h,定义BBinder类。BBinder类与Java环境里的Binder类对应,是Binder的Stub实现,通过onTransact()回调方法接收与处理Binder事件。但它更属于Binder通讯的基础类,并不会被直接使用,系统只会通过BBinder类的派生类进行通信,所以它的类名是BBinder,Base Binder的意思。

BpBinder.h,定义BpBinder类。与Java环境里的Stub.Proxy对象对应,是Binder的Proxy端实现。作为Proxy端,又是Binder最底层的封装,这一类的本质作用只是提供一个transact()方法,从而给上层封装的IPC请求提供最终的Binder通信接口。

Parcel.h,定义Parcel类。虽然概念上与Java里实现序列化的Parcel类是对应的,也提供同样的操作方法。但在实现上,Native环境里的Parcel是提供Java环境里的Parcel概念的一种基础,所有的Parcel的read|write_*()系列的方法,底层全是由Native代码来实现具体的读写操作。

4.Binder通信类

那有了Binder通信封装的类,如何操作Binder 驱动來通信呢?

在libbinder里,有两个专门的类來完成真正的Binder消息的读写操作 : ProcessState和IPCThreadState。

ProcessState.h,定义ProcessState类。正如这个类的名字所表述的,这个类的作用就是维护和IPC相关的process state,对于任一使用Binder的进程而言,进程空间里只会有一个ProcessState对象。

IPCThreadState.h,定义类IPCThreadState。这个类描述以thread为基础的IPC传输状态,Binder通信的读写过程便在这个类里完成。在IPCThreadState里,是以thread pool的方式來维护Binder的通信請求。

下面这个图就是整个通信的流程,蓝色部分是在Java里的,Java中通过BinderProxy的JNI调用,进入到Native层,然后通过IPCThreadState的talkwithDriver()和Binder驱动通信,Binder驱动在做了一系列处理后,找到目标进程,也是从talkwithDriver()方法回去,然后走到JavaBBinder的transact(),这里就会去调用进入Java层的入口函数execTransact()。再回到具体的执行函数。

59b2d713676211c58323c9d8158015fb.png

5.辅助类

libbinder里会实现一些C++环境里的辅助类:

Imemory.h,生成两个远程接口类,IMemory和IMemoryHeap,分別用于使用内存和分配内存。对于內存使用两个基于IBinder的接口类,就意味着申请內存和分配內存可以分別由单独的process來提供。

MemoryDealer.h,定义一个默认的分配內存的MemoryDealer类。在这个类里有一个简单的內存管理算法,需要提供內存分配部分的时候,可以使用这个类來创建內存空间,并通过IMemoryHeap共享出去。

MemoryBase.h,提供IMemory接口类的Stub端實現。这个类是用在使用内存上的,可以通过它的getMemory()的方法返回一個IMemoryHeap实例。这个类是个基类,如果要使用IMemory接口,可以继承这个类。

MemoryHeapBase.h,提供IMemoryHeap接口类的Stub端。用于远程共享的堆空間分配,根据不同的情况分配不同类型的內存。

MemoryHeapPmem.h,实现基于Pmem机制(为了实现共享大尺寸连续物理內存而开发的一种机制)并实现了IMemoryHeap接口。如果有特殊內存堆的使用需求,可以通过MemoryHeadBase类派生出新的MemoryHead类,就像这个MemoryHeapPmem。

分析安卓ANR日志: ----- pid 27068 at 2025-09-01 08:35:45 ----- Cmd line: com.miui.dmregservice Build fingerprint: 'Redmi/gauguinpro/gauguinpro:11/RKQ1.200826.002/V12.5.7.0.RJSCNXM:user/release-keys' ABI: 'arm64' Build type: optimized Zygote loaded classes=15964 post zygote classes=178 Dumping registered class loaders #0 dalvik.system.PathClassLoader: [], parent #1 #1 java.lang.BootClassLoader: [], no parent #2 dalvik.system.PathClassLoader: [/system/framework/tcmclient.jar], parent #0 #3 dalvik.system.PathClassLoader: [], parent #0 #4 dalvik.system.PathClassLoader: [/system/priv-app/DMRegService/DMRegService.apk], parent #1 Done dumping class loaders Classes initialized: 188 in 19.099ms Intern table: 32487 strong; 594 weak JNI: CheckJNI is off; globals=731 (plus 53 weak) Libraries: /system/lib64/libaes-jni.so libandroid.so libaudioeffect_jni.so libcompiler_rt.so libicu_jni.so libjavacore.so libjavacrypto.so libjnigraphics.so libmedia_jni.so libmiuinative.so libopenjdk.so libqti_performance.so librs_jni.so libsfplugin_ccodec.so libsoundpool.so libstats_jni.so libwebviewchromium_loader.so (17) Heap: 0% free, 256MB/256MB; 6743537 objects Dumping cumulative Gc timings Start Dumping histograms for 4377 iterations for concurrent copying MarkingPhase: Sum: 407.621s 99% C.I. 0.377ms-777.999ms Avg: 93.170ms Max: 1311.706ms ProcessMarkStack: Sum: 281.231s 99% C.I. 0.214ms-823.277ms Avg: 64.252ms Max: 2343.286ms ScanCardsForSpace: Sum: 104.203s 99% C.I. 0.084ms-282.336ms Avg: 23.807ms Max: 416.563ms ClearFromSpace: Sum: 26.585s 99% C.I. 0.092ms-33.046ms Avg: 6.073ms Max: 137.219ms ScanImmuneSpaces: Sum: 26.274s 99% C.I. 1.740ms-10.739ms Avg: 3.002ms Max: 38.684ms SweepLargeObjects: Sum: 19.520s 99% C.I. 0.051ms-22.222ms Avg: 4.459ms Max: 52.095ms VisitConcurrentRoots: Sum: 12.732s 99% C.I. 1.017ms-4.789ms Avg: 1.454ms Max: 18.064ms CaptureThreadRootsForMarking: Sum: 10.865s 99% C.I. 0.078ms-24.833ms Avg: 2.483ms Max: 76.475ms EmptyRBMarkBitStack: Sum: 2.792s 99% C.I. 8.791us-16676.800us Avg: 638.100us Max: 131742us InitializePhase: Sum: 1.776s 99% C.I. 81us-1267.625us Avg: 405.784us Max: 2028us SweepSystemWeaks: Sum: 711.284ms 99% C.I. 88us-779.326us Avg: 162.504us Max: 24490us GrayAllDirtyImmuneObjects: Sum: 689.803ms 99% C.I. 90us-558.812us Avg: 157.597us Max: 2826us FlipOtherThreads: Sum: 592.254ms 99% C.I. 51us-563.218us Avg: 135.310us Max: 3265us VisitNonThreadRoots: Sum: 522.591ms 99% C.I. 38us-236us Avg: 59.711us Max: 666us FlipThreadRoots: Sum: 344.754ms 99% C.I. 1.122us-1770.500us Avg: 78.764us Max: 15055us CopyingPhase: Sum: 229.989ms 99% C.I. 4us-2911.500us Avg: 52.544us Max: 20150us ForwardSoftReferences: Sum: 193.330ms 99% C.I. 9us-194.921us Avg: 44.189us Max: 3234us RecordFree: Sum: 154.577ms 99% C.I. 22us-129.250us Avg: 35.315us Max: 4434us MarkZygoteLargeObjects: Sum: 88.839ms 99% C.I. 9us-108.812us Avg: 20.296us Max: 567us ProcessReferences: Sum: 80.408ms 99% C.I. 0.257us-93.589us Avg: 9.185us Max: 1130us ThreadListFlip: Sum: 74.857ms 99% C.I. 5us-97.755us Avg: 17.102us Max: 4208us EnqueueFinalizerReferences: Sum: 71.799ms 99% C.I. 6us-98.390us Avg: 16.403us Max: 239us (Paused)GrayAllNewlyDirtyImmuneObjects: Sum: 66.861ms 99% C.I. 9us-93.130us Avg: 15.275us Max: 3162us ResumeRunnableThreads: Sum: 66.580ms 99% C.I. 1us-127.446us Avg: 15.211us Max: 282us SwapBitmaps: Sum: 65.158ms 99% C.I. 8us-49.932us Avg: 14.886us Max: 206us ReclaimPhase: Sum: 63.089ms 99% C.I. 3us-99.910us Avg: 14.413us Max: 8802us (Paused)SetFromSpace: Sum: 38.540ms 99% C.I. 0.251us-50.442us Avg: 8.805us Max: 370us MarkStackAsLive: Sum: 30.099ms 99% C.I. 2us-49.818us Avg: 6.876us Max: 187us SweepAllocSpace: Sum: 19.862ms 99% C.I. 2us-49.818us Avg: 4.537us Max: 132us (Paused)FlipCallback: Sum: 14.589ms 99% C.I. 1us-49.772us Avg: 3.333us Max: 886us Sweep: Sum: 12.399ms 99% C.I. 1us-49.772us Avg: 2.832us Max: 1245us UnBindBitmaps: Sum: 9.048ms 99% C.I. 1us-45us Avg: 2.067us Max: 45us (Paused)ClearCards: Sum: 7.114ms 99% C.I. 250ns-49758ns Avg: 73ns Max: 2063000ns ResumeOtherThreads: Sum: 4.254ms 99% C.I. 250ns-49852ns Avg: 971ns Max: 217000ns Done Dumping histograms concurrent copying paused: Sum: 213.024ms 99% C.I. 21us-498.296us Avg: 48.668us Max: 4260us concurrent copying freed-bytes: Avg: 72MB Max: 216MB Min: 0B Freed-bytes histogram: 0:731,20480:1518,40960:1123,61440:71,81920:4,143360:1,163840:17,184320:38,204800:874 concurrent copying total time: 897.756s mean time: 205.107ms concurrent copying freed: 4076473440 objects with total size 308GB concurrent copying throughput: 4.54074e+06/s / 351MB/s per cpu-time: 382786808/s / 365MB/s Average major GC reclaim bytes ratio 0.151738 over 4377 GC cycles Average major GC copied live bytes ratio 0.538818 over 4381 major GCs Cumulative bytes moved 56104487208 Cumulative objects moved 1682145047 Peak regions allocated 882 (220MB) / 1024 (256MB) Start Dumping histograms for 4376 iterations for young concurrent copying ProcessMarkStack: Sum: 261.385s 99% C.I. 0.113ms-601.907ms Avg: 59.731ms Max: 847.936ms ScanCardsForSpace: Sum: 124.347s 99% C.I. 0.115ms-443.903ms Avg: 28.415ms Max: 636.348ms ThreadListFlip: Sum: 22.720s 99% C.I. 0.010ms-77.779ms Avg: 5.192ms Max: 85.781ms ScanImmuneSpaces: Sum: 17.205s 99% C.I. 2.067ms-15.023ms Avg: 3.931ms Max: 35.051ms ClearFromSpace: Sum: 11.730s 99% C.I. 0.010ms-17.432ms Avg: 2.680ms Max: 70.950ms VisitConcurrentRoots: Sum: 7.581s 99% C.I. 1.018ms-6.003ms Avg: 1.732ms Max: 14.137ms SweepArray: Sum: 1.623s 99% C.I. 3us-6965.333us Avg: 370.912us Max: 12241us InitializePhase: Sum: 1.593s 99% C.I. 152us-1192.166us Avg: 364.035us Max: 11618us EmptyRBMarkBitStack: Sum: 1.533s 99% C.I. 4.206us-13624us Avg: 350.345us Max: 50705us GrayAllDirtyImmuneObjects: Sum: 906.267ms 99% C.I. 112us-660.599us Avg: 207.099us Max: 3455us FlipOtherThreads: Sum: 817.301ms 99% C.I. 80us-736.959us Avg: 186.768us Max: 10146us SweepSystemWeaks: Sum: 761.883ms 99% C.I. 100.090us-679.428us Avg: 174.104us Max: 2980us CopyingPhase: Sum: 737.008ms 99% C.I. 5us-5792us Avg: 168.420us Max: 78766us FlipThreadRoots: Sum: 481.351ms 99% C.I. 1.161us-3208us Avg: 109.997us Max: 10801us VisitNonThreadRoots: Sum: 322.082ms 99% C.I. 40us-311.777us Avg: 73.601us Max: 2963us RecordFree: Sum: 159.366ms 99% C.I. 0.271us-129.471us Avg: 18.209us Max: 1091us ResumeRunnableThreads: Sum: 103.752ms 99% C.I. 1us-187.172us Avg: 23.709us Max: 5880us ProcessReferences: Sum: 88.833ms 99% C.I. 0.259us-95.092us Avg: 10.150us Max: 935us (Paused)GrayAllNewlyDirtyImmuneObjects: Sum: 87.416ms 99% C.I. 9us-105.888us Avg: 19.976us Max: 1337us EnqueueFinalizerReferences: Sum: 71.267ms 99% C.I. 6us-98.344us Avg: 16.285us Max: 826us MarkZygoteLargeObjects: Sum: 41.806ms 99% C.I. 3us-61.636us Avg: 9.553us Max: 1184us (Paused)SetFromSpace: Sum: 41.763ms 99% C.I. 0.254us-124.486us Avg: 9.543us Max: 1634us ReclaimPhase: Sum: 41.210ms 99% C.I. 3us-95.523us Avg: 9.417us Max: 1722us ForwardSoftReferences: Sum: 39.831ms 99% C.I. 3us-49.955us Avg: 9.102us Max: 3182us SwapBitmaps: Sum: 33.890ms 99% C.I. 4us-49.863us Avg: 7.744us Max: 171us ResetStack: Sum: 31.634ms 99% C.I. 2us-49.932us Avg: 7.228us Max: 931us UnBindBitmaps: Sum: 21.586ms 99% C.I. 2us-49.806us Avg: 4.932us Max: 306us (Paused)FlipCallback: Sum: 15.990ms 99% C.I. 1us-49.852us Avg: 3.654us Max: 164us (Paused)ClearCards: Sum: 11.024ms 99% C.I. 250ns-49769ns Avg: 114ns Max: 1858000ns ResumeOtherThreads: Sum: 5.534ms 99% C.I. 0.250us-49.784us Avg: 1.264us Max: 112us FreeList: Sum: 1.634ms 99% C.I. 0.250us-25us Avg: 1.638us Max: 25us Done Dumping histograms young concurrent copying paused: Sum: 22.887s 99% C.I. 0.025ms-77.186ms Avg: 5.230ms Max: 85.832ms young concurrent copying freed-bytes: Avg: 8982KB Max: 90MB Min: 0B Freed-bytes histogram: 0:2931,10240:749,20480:558,30720:38,40960:60,51200:37,61440:2,92160:1 young concurrent copying total time: 454.543s mean time: 103.871ms young concurrent copying freed: 863768394 objects with total size 37GB young concurrent copying throughput: 1.9003e+06/s / 84MB/s per cpu-time: 96565942/s / 92MB/s Average minor GC reclaim bytes ratio 0.0578315 over 4376 GC cycles Average minor GC copied live bytes ratio 0.351063 over 4376 minor GCs Cumulative bytes moved 49489427536 Cumulative objects moved 1508266327 Peak regions allocated 882 (220MB) / 1024 (256MB) Total time spent in GC: 1352.299s Mean GC size throughput: 261MB/s per cpu-time: 276MB/s Mean GC object throughput: 3.65322e+06 objects/s Total number of allocations 4946979908 Total bytes allocated 345GB Total bytes freed 345GB Free memory 55KB Free memory until GC 55KB Free memory until OOME 55KB Total memory 256MB Max memory 256MB Zygote space size 3556KB Total mutator paused time: 23.100s Total time waiting for GC to complete: 394.162s Total GC count: 8759 Total GC time: 1358.123s Total blocking GC count: 3623 Total blocking GC time: 533.131s Histogram of GC count per 10000 ms: 0:3137,1:9,2:3,3:7,4:14,5:8,6:11,7:9,8:157,9:13,10:376,11:28,12:19,13:27,14:32,15:20,16:19,17:17,18:12,19:5,20:41 Histogram of blocking GC count per 10000 ms: 0:3164,1:6,2:9,3:117,4:469,5:57,6:14,7:40,8:81,9:5,10:1,14:1 Native bytes total: 14255852 registered: 54108 Total native bytes at last GC: 14256364 /system/framework/oat/arm64/android.hidl.base-V1.0-java.odex: quicken /system/framework/oat/arm64/android.hidl.manager-V1.0-java.odex: quicken /system/framework/oat/arm64/android.test.base.odex: quicken /system/framework/oat/arm64/org.apache.http.legacy.odex: speed-profile /data/dalvik-cache/arm64/system@priv-app@DMRegService@DMRegService.apk@classes.dex: speed Current JIT code cache size (used / resident): 19KB / 32KB Current JIT data cache size (used / resident): 22KB / 32KB Zygote JIT code cache size (at point of fork): 59KB / 64KB Zygote JIT data cache size (at point of fork): 53KB / 60KB Current JIT mini-debug-info size: 51KB Current JIT capacity: 64KB Current number of JIT JNI stub entries: 0 Current number of JIT code cache entries: 73 Total number of JIT compilations: 27 Total number of JIT compilations for on stack replacement: 0 Total number of JIT code cache collections: 0 Memory used for stack maps: Avg: 152B Max: 1208B Min: 24B Memory used for compiled code: Avg: 745B Max: 4652B Min: 112B Memory used for profiling info: Avg: 207B Max: 2096B Min: 32B Start Dumping histograms for 73 iterations for JIT timings Compiling: Sum: 195.105ms 99% C.I. 0.372ms-16.458ms Avg: 2.672ms Max: 20.238ms TrimMaps: Sum: 5.313ms 99% C.I. 17us-395.250us Avg: 72.780us Max: 405us Done Dumping histograms Memory used for compilation: Avg: 147KB Max: 837KB Min: 16KB suspend all histogram: Sum: 22.745s 99% C.I. 0.011ms-43.325ms Avg: 2.593ms Max: 85.769ms DALVIK THREADS (33): "Signal Catcher" daemon prio=10 tid=6 Runnable | group="system" sCount=0 dsCount=0 flags=0 obj=0x12c401f8 self=0xb400006f78638000 | sysTid=27078 nice=-20 cgrp=default sched=0/0 handle=0x6f7996bcc0 | state=R schedstat=( 26959839 1784165 23 ) utm=1 stm=0 core=0 HZ=100 | stack=0x6f79874000-0x6f79876000 stackSize=995KB | held mutexes= "mutator lock"(shared held) native: #00 pc 00000000004a0c68 /apex/com.android.art/lib64/libart.so (art::DumpNativeStack(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, int, BacktraceMap*, char const*, art::ArtMethod*, void*, bool)+140) native: #01 pc 00000000005ae000 /apex/com.android.art/lib64/libart.so (art::Thread::DumpStack(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, bool, BacktraceMap*, bool) const+376) native: #02 pc 00000000005cb13c /apex/com.android.art/lib64/libart.so (art::DumpCheckpoint::Run(art::Thread*)+924) native: #03 pc 00000000005c507c /apex/com.android.art/lib64/libart.so (art::ThreadList::RunCheckpoint(art::Closure*, art::Closure*)+528) native: #04 pc 00000000005c4208 /apex/com.android.art/lib64/libart.so (art::ThreadList::Dump(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, bool)+1920) native: #05 pc 00000000005c36a8 /apex/com.android.art/lib64/libart.so (art::ThreadList::DumpForSigQuit(std::__1::basic_ostream<char, std::__1::char_traits<char> >&)+776) native: #06 pc 000000000056f5f8 /apex/com.android.art/lib64/libart.so (art::Runtime::DumpForSigQuit(std::__1::basic_ostream<char, std::__1::char_traits<char> >&)+196) native: #07 pc 0000000000584c38 /apex/com.android.art/lib64/libart.so (art::SignalCatcher::HandleSigQuit()+1396) native: #08 pc 0000000000583c04 /apex/com.android.art/lib64/libart.so (art::SignalCatcher::Run(void*)+348) native: #09 pc 00000000000eb868 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+64) native: #10 pc 000000000008ba88 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64) (no managed stack frames) "main" prio=5 tid=1 Native | group="main" sCount=1 dsCount=0 flags=1 obj=0x72caf308 self=0xb40000700ea2dc00 | sysTid=27068 nice=0 cgrp=default sched=0/0 handle=0x701017f4f8 | state=S schedstat=( 4316685794 1721568040 9042 ) utm=222 stm=209 core=1 HZ=100 | stack=0x7ff4c7b000-0x7ff4c7d000 stackSize=8192KB | held mutexes= native: #00 pc 00000000000d7a58 /apex/com.android.runtime/lib64/bionic/libc.so (__epoll_pwait+8) native: #01 pc 0000000000019acc /system/lib64/libutils.so (android::Looper::pollInner(int)+184) native: #02 pc 00000000000199ac /system/lib64/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+112) native: #03 pc 0000000000118288 /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:335) at android.os.Looper.loop(Looper.java:193) at android.app.ActivityThread.main(ActivityThread.java:8059) at java.lang.reflect.Method.invoke(Native method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:656) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:967) "Runtime worker thread 0" prio=10 tid=2 Native (still starting up) | group="" sCount=1 dsCount=0 flags=1 obj=0x0 self=0xb400006f78600000 | sysTid=27074 nice=-20 cgrp=default sched=0/0 handle=0x700ec6ad00 | state=S schedstat=( 220052 7604 4 ) utm=0 stm=0 core=6 HZ=100 | stack=0x700ec5c000-0x700ec5e000 stackSize=63KB | held mutexes= native: #00 pc 0000000000086b4c /apex/com.android.runtime/lib64/bionic/libc.so (syscall+28) native: #01 pc 00000000001b0418 /apex/com.android.art/lib64/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+148) native: #02 pc 00000000005cce64 /apex/com.android.art/lib64/libart.so (art::ThreadPool::GetTask(art::Thread*)+120) native: #03 pc 00000000005cc0c8 /apex/com.android.art/lib64/libart.so (art::ThreadPoolWorker::Run()+80) native: #04 pc 00000000005cbbd8 /apex/com.android.art/lib64/libart.so (art::ThreadPoolWorker::Callback(void*)+192) native: #05 pc 00000000000eb868 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+64) native: #06 pc 000000000008ba88 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64) (no managed stack frames) "Runtime worker thread 2" prio=10 tid=3 Native (still starting up) | group="" sCount=1 dsCount=0 flags=1 obj=0x0 self=0xb40000700ea2f800 | sysTid=27076 nice=-20 cgrp=default sched=0/0 handle=0x700cdf6d00 | state=S schedstat=( 87239 32865 3 ) utm=0 stm=0 core=6 HZ=100 | stack=0x700cde8000-0x700cdea000 stackSize=63KB | held mutexes= native: #00 pc 0000000000086b4c /apex/com.android.runtime/lib64/bionic/libc.so (syscall+28) native: #01 pc 00000000001b0418 /apex/com.android.art/lib64/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+148) native: #02 pc 00000000005cce64 /apex/com.android.art/lib64/libart.so (art::ThreadPool::GetTask(art::Thread*)+120) native: #03 pc 00000000005cc0c8 /apex/com.android.art/lib64/libart.so (art::ThreadPoolWorker::Run()+80) native: #04 pc 00000000005cbbd8 /apex/com.android.art/lib64/libart.so (art::ThreadPoolWorker::Callback(void*)+192) native: #05 pc 00000000000eb868 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+64) native: #06 pc 000000000008ba88 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64) (no managed stack frames) "Runtime worker thread 1" prio=10 tid=4 Native (still starting up) | group="" sCount=1 dsCount=0 flags=1 obj=0x0 self=0xb400006f78611800 | sysTid=27075 nice=-20 cgrp=default sched=0/0 handle=0x700ce46d00 | state=S schedstat=( 76147 137395 4 ) utm=0 stm=0 core=6 HZ=100 | stack=0x700ce38000-0x700ce3a000 stackSize=63KB | held mutexes= native: #00 pc 0000000000086b4c /apex/com.android.runtime/lib64/bionic/libc.so (syscall+28) native: #01 pc 00000000001b0418 /apex/com.android.art/lib64/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+148) native: #02 pc 00000000005cce64 /apex/com.android.art/lib64/libart.so (art::ThreadPool::GetTask(art::Thread*)+120) native: #03 pc 00000000005cc0c8 /apex/com.android.art/lib64/libart.so (art::ThreadPoolWorker::Run()+80) native: #04 pc 00000000005cbbd8 /apex/com.android.art/lib64/libart.so (art::ThreadPoolWorker::Callback(void*)+192) native: #05 pc 00000000000eb868 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+64) native: #06 pc 000000000008ba88 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64) (no managed stack frames) "Runtime worker thread 3" prio=10 tid=5 Native (still starting up) | group="" sCount=1 dsCount=0 flags=1 obj=0x0 self=0xb400006f6bbd2c00 | sysTid=27077 nice=-20 cgrp=default sched=0/0 handle=0x6f88965d00 | state=S schedstat=( 49948 69739 2 ) utm=0 stm=0 core=6 HZ=100 | stack=0x6f88957000-0x6f88959000 stackSize=63KB | held mutexes= native: #00 pc 0000000000086b4c /apex/com.android.runtime/lib64/bionic/libc.so (syscall+28) native: #01 pc 00000000001b0418 /apex/com.android.art/lib64/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+148) native: #02 pc 00000000005cce64 /apex/com.android.art/lib64/libart.so (art::ThreadPool::GetTask(art::Thread*)+120) native: #03 pc 00000000005cc0c8 /apex/com.android.art/lib64/libart.so (art::ThreadPoolWorker::Run()+80) native: #04 pc 00000000005cbbd8 /apex/com.android.art/lib64/libart.so (art::ThreadPoolWorker::Callback(void*)+192) native: #05 pc 00000000000eb868 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+64) native: #06 pc 000000000008ba88 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64) (no managed stack frames) "Jit thread pool worker thread 0" daemon prio=5 tid=7 Native | group="system" sCount=1 dsCount=0 flags=1 obj=0x12c40270 self=0xb400006f6bbf5c00 | sysTid=27079 nice=0 cgrp=default sched=0/0 handle=0x6f79871d00 | state=S schedstat=( 62065363 11169270 36 ) utm=5 stm=0 core=2 HZ=100 | stack=0x6f79773000-0x6f79775000 stackSize=1023KB | held mutexes= native: #00 pc 0000000000086b4c /apex/com.android.runtime/lib64/bionic/libc.so (syscall+28) native: #01 pc 00000000001b0418 /apex/com.android.art/lib64/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+148) native: #02 pc 00000000005cce64 /apex/com.android.art/lib64/libart.so (art::ThreadPool::GetTask(art::Thread*)+120) native: #03 pc 00000000005cc108 /apex/com.android.art/lib64/libart.so (art::ThreadPoolWorker::Run()+144) native: #04 pc 00000000005cbbd8 /apex/com.android.art/lib64/libart.so (art::ThreadPoolWorker::Callback(void*)+192) native: #05 pc 00000000000eb868 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+64) native: #06 pc 000000000008ba88 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64) (no managed stack frames) "HeapTaskDaemon" daemon prio=5 tid=8 WaitingForGcToComplete | group="system" sCount=1 dsCount=0 flags=1 obj=0x12c402e8 self=0xb400006f6bbe4400 | sysTid=27080 nice=4 cgrp=default sched=0/0 handle=0x6f7976ccc0 | state=S schedstat=( 1129937649897 21627716205 99260 ) utm=103605 stm=9388 core=0 HZ=100 | stack=0x6f79669000-0x6f7966b000 stackSize=1043KB | held mutexes= native: #00 pc 0000000000086b4c /apex/com.android.runtime/lib64/bionic/libc.so (syscall+28) native: #01 pc 00000000001b0418 /apex/com.android.art/lib64/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+148) native: #02 pc 000000000028f01c /apex/com.android.art/lib64/libart.so (art::gc::Heap::WaitForGcToCompleteLocked(art::gc::GcCause, art::Thread*)+144) native: #03 pc 00000000002a725c /apex/com.android.art/lib64/libart.so (art::gc::Heap::WaitForGcToComplete(art::gc::GcCause, art::Thread*)+440) native: #04 pc 00000000002a9074 /apex/com.android.art/lib64/libart.so (art::gc::Heap::ConcurrentGC(art::Thread*, art::gc::GcCause, bool)+68) native: #05 pc 00000000002aeb60 /apex/com.android.art/lib64/libart.so (art::gc::Heap::ConcurrentGCTask::Run(art::Thread*)+36) native: #06 pc 00000000002e78a8 /apex/com.android.art/lib64/libart.so (art::gc::TaskProcessor::RunAllTasks(art::Thread*)+64) at dalvik.system.VMRuntime.runHeapTasks(Native method) at java.lang.Daemons$HeapTaskDaemon.runInternal(Daemons.java:532) at java.lang.Daemons$Daemon.run(Daemons.java:140) at java.lang.Thread.run(Thread.java:923) "ReferenceQueueDaemon" daemon prio=5 tid=9 Waiting | group="system" sCount=1 dsCount=0 flags=1 obj=0x12c40360 self=0xb400006f6bbe6000 | sysTid=27081 nice=4 cgrp=default sched=0/0 handle=0x6f79662cc0 | state=S schedstat=( 950002953 409741723 8979 ) utm=36 stm=58 core=0 HZ=100 | stack=0x6f7955f000-0x6f79561000 stackSize=1043KB | held mutexes= at java.lang.Object.wait(Native method) - waiting on <0x03778e03> (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:218) - locked <0x03778e03> (a java.lang.Class<java.lang.ref.ReferenceQueue>) at java.lang.Daemons$Daemon.run(Daemons.java:140) at java.lang.Thread.run(Thread.java:923) "FinalizerDaemon" daemon prio=5 tid=10 Waiting | group="system" sCount=1 dsCount=0 flags=1 obj=0x12c403d8 self=0xb400006f6bbe7c00 | sysTid=27082 nice=4 cgrp=default sched=0/0 handle=0x6f79558cc0 | state=S schedstat=( 4083230504 452801530 9278 ) utm=353 stm=54 core=4 HZ=100 | stack=0x6f79455000-0x6f79457000 stackSize=1043KB | held mutexes= at java.lang.Object.wait(Native method) - waiting on <0x007e9180> (a java.lang.Object) at java.lang.Object.wait(Object.java:442) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:190) - locked <0x007e9180> (a java.lang.Object) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:211) at java.lang.Daemons$FinalizerDaemon.runInternal(Daemons.java:274) at java.lang.Daemons$Daemon.run(Daemons.java:140) at java.lang.Thread.run(Thread.java:923) "FinalizerWatchdogDaemon" daemon prio=5 tid=11 Sleeping | group="system" sCount=1 dsCount=0 flags=1 obj=0x12c404a0 self=0xb400006f6bbe9800 | sysTid=27083 nice=4 cgrp=default sched=0/0 handle=0x6f7944ecc0 | state=S schedstat=( 57866405 24556871 655 ) utm=4 stm=0 core=1 HZ=100 | stack=0x6f7934b000-0x6f7934d000 stackSize=1043KB | held mutexes= at java.lang.Thread.sleep(Native method) - sleeping on <0x0f3923b9> (a java.lang.Object) at java.lang.Thread.sleep(Thread.java:442) - locked <0x0f3923b9> (a java.lang.Object) at java.lang.Thread.sleep(Thread.java:358) at java.lang.Daemons$FinalizerWatchdogDaemon.sleepForNanos(Daemons.java:391) at java.lang.Daemons$FinalizerWatchdogDaemon.waitForFinalization(Daemons.java:420) at java.lang.Daemons$FinalizerWatchdogDaemon.runInternal(Daemons.java:326) at java.lang.Daemons$Daemon.run(Daemons.java:140) at java.lang.Thread.run(Thread.java:923) "Binder:27068_1" prio=5 tid=12 WaitingForCheckPointsToRun | group="main" sCount=1 dsCount=0 flags=1 obj=0x12c40520 self=0xb400006f78653800 | sysTid=27084 nice=0 cgrp=default sched=0/0 handle=0x6f79246cc0 | state=S schedstat=( 1843666204 549965140 1728 ) utm=167 stm=17 core=5 HZ=100 | stack=0x6f7914f000-0x6f79151000 stackSize=995KB | held mutexes= native: #00 pc 0000000000086b4c /apex/com.android.runtime/lib64/bionic/libc.so (syscall+28) native: #01 pc 00000000001b0418 /apex/com.android.art/lib64/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+148) native: #02 pc 00000000001abe58 /apex/com.android.art/lib64/libart.so (void art::Barrier::Increment<(art::Barrier::LockHandling)1>(art::Thread*, int)+80) native: #03 pc 000000000025ae44 /apex/com.android.art/lib64/libart.so (art::gc::collector::ConcurrentCopying::CaptureThreadRootsForMarking()+876) native: #04 pc 0000000000255134 /apex/com.android.art/lib64/libart.so (art::gc::collector::ConcurrentCopying::MarkingPhase()+1196) native: #05 pc 0000000000254320 /apex/com.android.art/lib64/libart.so (art::gc::collector::ConcurrentCopying::RunPhases()+240) native: #06 pc 0000000000278bc0 /apex/com.android.art/lib64/libart.so (art::gc::collector::GarbageCollector::Run(art::gc::GcCause, bool)+300) native: #07 pc 00000000002959d4 /apex/com.android.art/lib64/libart.so (art::gc::Heap::CollectGarbageInternal(art::gc::collector::GcType, art::gc::GcCause, bool)+4144) native: #08 pc 0000000000299fdc /apex/com.android.art/lib64/libart.so (art::gc::Heap::AllocateInternalWithGc(art::Thread*, art::gc::AllocatorType, bool, unsigned long, unsigned long*, unsigned long*, unsigned long*, art::ObjPtr<art::mirror::Class>*)+2484) native: #09 pc 000000000065a37c /apex/com.android.art/lib64/libart.so (artAllocObjectFromCodeInitializedRegionTLAB+396) native: #10 pc 000000000013bb78 /apex/com.android.art/lib64/libart.so (art_quick_alloc_object_initialized_region_tlab+104) at android.os.ThreadLocalWorkSource.setUid(ThreadLocalWorkSource.java:68) at android.os.Binder.execTransact(Binder.java:1124) "Binder:27068_2" prio=5 tid=13 Native | group="main" sCount=1 dsCount=0 flags=1 obj=0x12c405b8 self=0xb400006f6bc0c400 | sysTid=27085 nice=0 cgrp=default sched=0/0 handle=0x6f79148cc0 | state=S schedstat=( 2137657 4381250 13 ) utm=0 stm=0 core=5 HZ=100 | stack=0x6f79051000-0x6f79053000 stackSize=995KB | held mutexes= native: #00 pc 00000000000d6a94 /apex/com.android.runtime/lib64/bionic/libc.so (__ioctl+4) native: #01 pc 00000000000935c4 /apex/com.android.runtime/lib64/bionic/libc.so (ioctl+156) native: #02 pc 0000000000051a7c /system/lib64/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+296) native: #03 pc 0000000000051c6c /system/lib64/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+24) native: #04 pc 0000000000052528 /system/lib64/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+60) native: #05 pc 0000000000078630 /system/lib64/libbinder.so (android::PoolThread::threadLoop()+24) native: #06 pc 00000000000154cc /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+260) native: #07 pc 00000000000a5694 /system/lib64/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+144) native: #08 pc 0000000000014d90 /system/lib64/libutils.so (thread_data_t::trampoline(thread_data_t const*)+412) native: #09 pc 00000000000eb868 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+64) native: #10 pc 000000000008ba88 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64) (no managed stack frames) "Binder:27068_3" prio=5 tid=14 Native | group="main" sCount=1 dsCount=0 flags=1 obj=0x12c40630 self=0xb400006f7866a000 | sysTid=27086 nice=0 cgrp=default sched=0/0 handle=0x6f7904acc0 | state=S schedstat=( 1382571254 1513631999 4854 ) utm=87 stm=51 core=1 HZ=100 | stack=0x6f78f53000-0x6f78f55000 stackSize=995KB | held mutexes= native: #00 pc 00000000000d6a94 /apex/com.android.runtime/lib64/bionic/libc.so (__ioctl+4) native: #01 pc 00000000000935c4 /apex/com.android.runtime/lib64/bionic/libc.so (ioctl+156) native: #02 pc 0000000000051a7c /system/lib64/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+296) native: #03 pc 0000000000051c6c /system/lib64/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+24) native: #04 pc 0000000000052528 /system/lib64/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+60) native: #05 pc 0000000000078630 /system/lib64/libbinder.so (android::PoolThread::threadLoop()+24) native: #06 pc 00000000000154cc /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+260) native: #07 pc 00000000000a5694 /system/lib64/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+144) native: #08 pc 0000000000014d90 /system/lib64/libutils.so (thread_data_t::trampoline(thread_data_t const*)+412) native: #09 pc 00000000000eb868 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+64) native: #10 pc 000000000008ba88 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64) (no managed stack frames) "HwBinder:27068_1" prio=5 tid=15 Native | group="main" sCount=1 dsCount=0 flags=1 obj=0x12c406a8 self=0xb400006f6bbeb400 | sysTid=27088 nice=0 cgrp=default sched=0/0 handle=0x6f73efdcc0 | state=S schedstat=( 198333 1771 2 ) utm=0 stm=0 core=7 HZ=100 | stack=0x6f73e06000-0x6f73e08000 stackSize=995KB | held mutexes= native: #00 pc 00000000000d6a94 /apex/com.android.runtime/lib64/bionic/libc.so (__ioctl+4) native: #01 pc 00000000000935c4 /apex/com.android.runtime/lib64/bionic/libc.so (ioctl+156) native: #02 pc 0000000000086570 /system/lib64/libhidlbase.so (android::hardware::IPCThreadState::getAndExecuteCommand()+172) native: #03 pc 0000000000087b40 /system/lib64/libhidlbase.so (android::hardware::IPCThreadState::joinThreadPool(bool)+96) native: #04 pc 0000000000096d64 /system/lib64/libhidlbase.so (android::hardware::PoolThread::threadLoop()+24) native: #05 pc 00000000000154cc /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+260) native: #06 pc 00000000000a5694 /system/lib64/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+144) native: #07 pc 0000000000014d90 /system/lib64/libutils.so (thread_data_t::trampoline(thread_data_t const*)+412) native: #08 pc 00000000000eb868 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+64) native: #09 pc 000000000008ba88 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64) (no managed stack frames) "WifiManagerThread" prio=5 tid=16 Native | group="main" sCount=1 dsCount=0 flags=1 obj=0x12c40720 self=0xb400006f6bbed000 | sysTid=27089 nice=0 cgrp=default sched=0/0 handle=0x6f73dffcc0 | state=S schedstat=( 178230 0 1 ) utm=0 stm=0 core=6 HZ=100 | stack=0x6f73cfc000-0x6f73cfe000 stackSize=1043KB | held mutexes= native: #00 pc 00000000000d7a58 /apex/com.android.runtime/lib64/bionic/libc.so (__epoll_pwait+8) native: #01 pc 0000000000019acc /system/lib64/libutils.so (android::Looper::pollInner(int)+184) native: #02 pc 00000000000199ac /system/lib64/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+112) native: #03 pc 0000000000118288 /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:335) at android.os.Looper.loop(Looper.java:193) at android.os.HandlerThread.run(HandlerThread.java:67) "Binder:27068_4" prio=5 tid=17 Native | group="main" sCount=1 dsCount=0 flags=1 obj=0x12c40808 self=0xb400006f6bd35800 | sysTid=27090 nice=0 cgrp=default sched=0/0 handle=0x6f73cf5cc0 | state=S schedstat=( 29694731 38369428 120 ) utm=1 stm=1 core=2 HZ=100 | stack=0x6f73bfe000-0x6f73c00000 stackSize=995KB | held mutexes= native: #00 pc 00000000000d6a94 /apex/com.android.runtime/lib64/bionic/libc.so (__ioctl+4) native: #01 pc 00000000000935c4 /apex/com.android.runtime/lib64/bionic/libc.so (ioctl+156) native: #02 pc 0000000000051a7c /system/lib64/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+296) native: #03 pc 0000000000051c6c /system/lib64/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+24) native: #04 pc 0000000000052528 /system/lib64/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+60) native: #05 pc 0000000000078630 /system/lib64/libbinder.so (android::PoolThread::threadLoop()+24) native: #06 pc 00000000000154cc /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+260) native: #07 pc 00000000000a5694 /system/lib64/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+144) native: #08 pc 0000000000014d90 /system/lib64/libutils.so (thread_data_t::trampoline(thread_data_t const*)+412) native: #09 pc 00000000000eb868 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+64) native: #10 pc 000000000008ba88 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64) (no managed stack frames) "pool-2-thread-1" prio=5 tid=18 Waiting | group="main" sCount=1 dsCount=0 flags=1 obj=0x12c40b20 self=0xb400006f6bbeec00 | sysTid=27091 nice=0 cgrp=default sched=0/0 handle=0x6f1d7d4cc0 | state=S schedstat=( 1886353 692657 4 ) utm=0 stm=0 core=6 HZ=100 | stack=0x6f1d6d1000-0x6f1d6d3000 stackSize=1043KB | 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:923) "pool-3-thread-1" prio=5 tid=22 WaitingForGcToComplete | group="main" sCount=1 dsCount=0 flags=1 obj=0x12c40c90 self=0xb400006f6bdc2c00 | sysTid=27114 nice=0 cgrp=default sched=0/0 handle=0x6f1938ccc0 | state=S schedstat=( 204513501403 2427662953 22019 ) utm=17722 stm=2729 core=2 HZ=100 | stack=0x6f19289000-0x6f1928b000 stackSize=1043KB | held mutexes= native: #00 pc 0000000000086b4c /apex/com.android.runtime/lib64/bionic/libc.so (syscall+28) native: #01 pc 00000000001b0418 /apex/com.android.art/lib64/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+148) native: #02 pc 000000000028f01c /apex/com.android.art/lib64/libart.so (art::gc::Heap::WaitForGcToCompleteLocked(art::gc::GcCause, art::Thread*)+144) native: #03 pc 00000000002a725c /apex/com.android.art/lib64/libart.so (art::gc::Heap::WaitForGcToComplete(art::gc::GcCause, art::Thread*)+440) native: #04 pc 00000000002996c8 /apex/com.android.art/lib64/libart.so (art::gc::Heap::AllocateInternalWithGc(art::Thread*, art::gc::AllocatorType, bool, unsigned long, unsigned long*, unsigned long*, unsigned long*, art::ObjPtr<art::mirror::Class>*)+160) native: #05 pc 00000000004c11a8 /apex/com.android.art/lib64/libart.so (art::mirror::Object* art::gc::Heap::AllocObjectWithAllocator<true, true, art::mirror::SetStringCountAndValueVisitorFromString>(art::Thread*, art::ObjPtr<art::mirror::Class>, unsigned long, art::gc::AllocatorType, art::mirror::SetStringCountAndValueVisitorFromString const&)+1872) native: #06 pc 00000000004c0618 /apex/com.android.art/lib64/libart.so (art::String_fastSubstring(_JNIEnv*, _jobject*, int, int)+396) at java.lang.String.fastSubstring(Native method) at java.lang.String.substring(String.java:2069) at org.json.JSONTokener.nextString(JSONTokener.java:214) at org.json.JSONTokener.nextValue(JSONTokener.java:111) at org.json.JSONTokener.readObject(JSONTokener.java:371) at org.json.JSONTokener.nextValue(JSONTokener.java:104) at org.json.JSONTokener.readArray(JSONTokener.java:440) at org.json.JSONTokener.nextValue(JSONTokener.java:107) at org.json.JSONTokener.readObject(JSONTokener.java:394) at org.json.JSONTokener.nextValue(JSONTokener.java:104) at org.json.JSONObject.<init>(JSONObject.java:165) at org.json.JSONObject.<init>(JSONObject.java:182) at cn.richinfo.dm.business.a.a(:-1) at cn.richinfo.dm.service.f.run(:-1) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) at java.lang.Thread.run(Thread.java:923) "pool-3-thread-2" prio=5 tid=19 Waiting | group="main" sCount=1 dsCount=0 flags=1 obj=0x12c40e00 self=0xb400006f6bdc4800 | sysTid=27116 nice=0 cgrp=default sched=0/0 handle=0x6f1c6cacc0 | state=S schedstat=( 204866699204 2309068900 20936 ) utm=17673 stm=2813 core=1 HZ=100 | stack=0x6f1c5c7000-0x6f1c5c9000 stackSize=1043KB | 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:923) "pool-3-thread-4" prio=5 tid=20 WaitingForGcToComplete | group="main" sCount=1 dsCount=0 flags=1 obj=0x12c40ec8 self=0xb400006f6bdc8000 | sysTid=27118 nice=0 cgrp=default sched=0/0 handle=0x6f1b496cc0 | state=S schedstat=( 204828084909 2819158662 21878 ) utm=17777 stm=2705 core=2 HZ=100 | stack=0x6f1b393000-0x6f1b395000 stackSize=1043KB | held mutexes= native: #00 pc 0000000000086b4c /apex/com.android.runtime/lib64/bionic/libc.so (syscall+28) native: #01 pc 00000000001b0418 /apex/com.android.art/lib64/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+148) native: #02 pc 000000000028f01c /apex/com.android.art/lib64/libart.so (art::gc::Heap::WaitForGcToCompleteLocked(art::gc::GcCause, art::Thread*)+144) native: #03 pc 00000000002a725c /apex/com.android.art/lib64/libart.so (art::gc::Heap::WaitForGcToComplete(art::gc::GcCause, art::Thread*)+440) native: #04 pc 00000000002996c8 /apex/com.android.art/lib64/libart.so (art::gc::Heap::AllocateInternalWithGc(art::Thread*, art::gc::AllocatorType, bool, unsigned long, unsigned long*, unsigned long*, unsigned long*, art::ObjPtr<art::mirror::Class>*)+160) native: #05 pc 00000000004c11a8 /apex/com.android.art/lib64/libart.so (art::mirror::Object* art::gc::Heap::AllocObjectWithAllocator<true, true, art::mirror::SetStringCountAndValueVisitorFromString>(art::Thread*, art::ObjPtr<art::mirror::Class>, unsigned long, art::gc::AllocatorType, art::mirror::SetStringCountAndValueVisitorFromString const&)+1872) native: #06 pc 00000000004c0618 /apex/com.android.art/lib64/libart.so (art::String_fastSubstring(_JNIEnv*, _jobject*, int, int)+396) at java.lang.String.fastSubstring(Native method) at java.lang.String.substring(String.java:2069) at org.json.JSONTokener.nextString(JSONTokener.java:214) at org.json.JSONTokener.nextValue(JSONTokener.java:111) at org.json.JSONTokener.readObject(JSONTokener.java:394) at org.json.JSONTokener.nextValue(JSONTokener.java:104) at org.json.JSONTokener.readArray(JSONTokener.java:440) at org.json.JSONTokener.nextValue(JSONTokener.java:107) at org.json.JSONTokener.readObject(JSONTokener.java:394) at org.json.JSONTokener.nextValue(JSONTokener.java:104) at org.json.JSONObject.<init>(JSONObject.java:165) at org.json.JSONObject.<init>(JSONObject.java:182) at cn.richinfo.dm.business.a.a(:-1) at cn.richinfo.dm.service.f.run(:-1) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) at java.lang.Thread.run(Thread.java:923) "pool-3-thread-3" prio=5 tid=21 Waiting | group="main" sCount=1 dsCount=0 flags=1 obj=0x12c413d8 self=0xb400006f6bdc6400 | sysTid=27117 nice=0 cgrp=default sched=0/0 handle=0x6f1b5a0cc0 | state=S schedstat=( 201102023433 2507016647 21137 ) utm=17463 stm=2647 core=5 HZ=100 | stack=0x6f1b49d000-0x6f1b49f000 stackSize=1043KB | 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:923) "pool-3-thread-6" prio=5 tid=24 WaitingForGcToComplete | group="main" sCount=1 dsCount=0 flags=1 obj=0x12c414a0 self=0xb400006f6bdd0c00 | sysTid=27226 nice=0 cgrp=default sched=0/0 handle=0x6f1606ecc0 | state=S schedstat=( 207521618734 4234405161 21755 ) utm=17983 stm=2768 core=1 HZ=100 | stack=0x6f15f6b000-0x6f15f6d000 stackSize=1043KB | held mutexes= native: #00 pc 0000000000086b4c /apex/com.android.runtime/lib64/bionic/libc.so (syscall+28) native: #01 pc 00000000001b0418 /apex/com.android.art/lib64/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+148) native: #02 pc 000000000028f01c /apex/com.android.art/lib64/libart.so (art::gc::Heap::WaitForGcToCompleteLocked(art::gc::GcCause, art::Thread*)+144) native: #03 pc 00000000002a725c /apex/com.android.art/lib64/libart.so (art::gc::Heap::WaitForGcToComplete(art::gc::GcCause, art::Thread*)+440) native: #04 pc 00000000002996c8 /apex/com.android.art/lib64/libart.so (art::gc::Heap::AllocateInternalWithGc(art::Thread*, art::gc::AllocatorType, bool, unsigned long, unsigned long*, unsigned long*, unsigned long*, art::ObjPtr<art::mirror::Class>*)+160) native: #05 pc 000000000065a37c /apex/com.android.art/lib64/libart.so (artAllocObjectFromCodeInitializedRegionTLAB+396) native: #06 pc 000000000013bb78 /apex/com.android.art/lib64/libart.so (art_quick_alloc_object_initialized_region_tlab+104) at java.util.LinkedHashMap.entrySet(LinkedHashMap.java:670) at org.json.JSONObject.writeTo(JSONObject.java:733) at org.json.JSONStringer.value(JSONStringer.java:246) at org.json.JSONArray.writeTo(JSONArray.java:616) at org.json.JSONStringer.value(JSONStringer.java:242) at org.json.JSONObject.writeTo(JSONObject.java:734) at org.json.JSONObject.toString(JSONObject.java:702) at cn.richinfo.dm.business.a.a(:-1) at cn.richinfo.dm.service.f.run(:-1) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) at java.lang.Thread.run(Thread.java:923) "pool-3-thread-7" prio=5 tid=25 WaitingForGcToComplete | group="main" sCount=1 dsCount=0 flags=1 obj=0x12c41670 self=0xb400006f6bdc1000 | sysTid=27250 nice=0 cgrp=default sched=0/0 handle=0x6f16178cc0 | state=S schedstat=( 212465331917 4054930191 23028 ) utm=18456 stm=2790 core=0 HZ=100 | stack=0x6f16075000-0x6f16077000 stackSize=1043KB | held mutexes= native: #00 pc 0000000000086b4c /apex/com.android.runtime/lib64/bionic/libc.so (syscall+28) native: #01 pc 00000000001b0418 /apex/com.android.art/lib64/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+148) native: #02 pc 000000000028f01c /apex/com.android.art/lib64/libart.so (art::gc::Heap::WaitForGcToCompleteLocked(art::gc::GcCause, art::Thread*)+144) native: #03 pc 00000000002a725c /apex/com.android.art/lib64/libart.so (art::gc::Heap::WaitForGcToComplete(art::gc::GcCause, art::Thread*)+440) native: #04 pc 00000000002996c8 /apex/com.android.art/lib64/libart.so (art::gc::Heap::AllocateInternalWithGc(art::Thread*, art::gc::AllocatorType, bool, unsigned long, unsigned long*, unsigned long*, unsigned long*, art::ObjPtr<art::mirror::Class>*)+160) native: #05 pc 000000000065a37c /apex/com.android.art/lib64/libart.so (artAllocObjectFromCodeInitializedRegionTLAB+396) native: #06 pc 000000000013bb78 /apex/com.android.art/lib64/libart.so (art_quick_alloc_object_initialized_region_tlab+104) at java.util.LinkedHashMap.newNode(LinkedHashMap.java:280) at java.util.HashMap.putVal(HashMap.java:630) at java.util.HashMap.put(HashMap.java:611) at org.json.JSONObject.put(JSONObject.java:273) at org.json.JSONTokener.readObject(JSONTokener.java:394) at org.json.JSONTokener.nextValue(JSONTokener.java:104) at org.json.JSONTokener.readArray(JSONTokener.java:440) at org.json.JSONTokener.nextValue(JSONTokener.java:107) at org.json.JSONTokener.readObject(JSONTokener.java:394) at org.json.JSONTokener.nextValue(JSONTokener.java:104) at org.json.JSONObject.<init>(JSONObject.java:165) at org.json.JSONObject.<init>(JSONObject.java:182) at cn.richinfo.dm.business.a.a(:-1) at cn.richinfo.dm.service.f.run(:-1) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) at java.lang.Thread.run(Thread.java:923) "pool-3-thread-8" prio=5 tid=26 Waiting | group="main" sCount=1 dsCount=0 flags=1 obj=0x12c418c0 self=0xb400006f6bdcf000 | sysTid=27283 nice=0 cgrp=default sched=0/0 handle=0x6f14f64cc0 | state=S schedstat=( 207027702908 1982910208 20993 ) utm=17948 stm=2753 core=1 HZ=100 | stack=0x6f14e61000-0x6f14e63000 stackSize=1043KB | 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:923) "queued-work-looper" prio=5 tid=27 Native | group="main" sCount=1 dsCount=0 flags=1 obj=0x12c41988 self=0xb400006f6bbf2400 | sysTid=27363 nice=-2 cgrp=default sched=0/0 handle=0x6f13e5acc0 | state=S schedstat=( 401559066 2764794 165 ) utm=31 stm=8 core=6 HZ=100 | stack=0x6f13d57000-0x6f13d59000 stackSize=1043KB | held mutexes= native: #00 pc 00000000000d7a58 /apex/com.android.runtime/lib64/bionic/libc.so (__epoll_pwait+8) native: #01 pc 0000000000019acc /system/lib64/libutils.so (android::Looper::pollInner(int)+184) native: #02 pc 00000000000199ac /system/lib64/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+112) native: #03 pc 0000000000118288 /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:335) at android.os.Looper.loop(Looper.java:193) at android.os.HandlerThread.run(HandlerThread.java:67) "pool-3-thread-9" prio=5 tid=28 Waiting | group="main" sCount=1 dsCount=0 flags=1 obj=0x12c41a70 self=0xb400006f6bbf4000 | sysTid=15971 nice=0 cgrp=default sched=0/0 handle=0x6f8289ecc0 | state=S schedstat=( 254896 20625 1 ) utm=0 stm=0 core=1 HZ=100 | stack=0x6f8279b000-0x6f8279d000 stackSize=1043KB | 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:923) "Binder:27068_5" prio=5 tid=23 Native | group="main" sCount=1 dsCount=0 flags=1 obj=0x12c41b38 self=0xb400006f6bdc9c00 | sysTid=15972 nice=0 cgrp=default sched=0/0 handle=0x6f8276bcc0 | state=S schedstat=( 8655105 16940732 42 ) utm=0 stm=0 core=1 HZ=100 | stack=0x6f82674000-0x6f82676000 stackSize=995KB | held mutexes= native: #00 pc 00000000000d6a94 /apex/com.android.runtime/lib64/bionic/libc.so (__ioctl+4) native: #01 pc 00000000000935c4 /apex/com.android.runtime/lib64/bionic/libc.so (ioctl+156) native: #02 pc 0000000000051a7c /system/lib64/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+296) native: #03 pc 0000000000051c6c /system/lib64/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+24) native: #04 pc 0000000000052528 /system/lib64/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+60) native: #05 pc 0000000000078630 /system/lib64/libbinder.so (android::PoolThread::threadLoop()+24) native: #06 pc 00000000000154cc /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+260) native: #07 pc 00000000000a5694 /system/lib64/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+144) native: #08 pc 0000000000014d90 /system/lib64/libutils.so (thread_data_t::trampoline(thread_data_t const*)+412) native: #09 pc 00000000000eb868 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+64) native: #10 pc 000000000008ba88 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64) (no managed stack frames) "Thread-1963" prio=5 tid=30 WaitingForGcToComplete | group="main" sCount=1 dsCount=0 flags=1 obj=0x12c41bb0 self=0xb400006f6bd49c00 | sysTid=16014 nice=0 cgrp=default sched=0/0 handle=0x6f8254bcc0 | state=S schedstat=( 2833698743 19182968 143 ) utm=277 stm=5 core=1 HZ=100 | stack=0x6f82448000-0x6f8244a000 stackSize=1043KB | held mutexes= native: #00 pc 0000000000086b4c /apex/com.android.runtime/lib64/bionic/libc.so (syscall+28) native: #01 pc 00000000001b0418 /apex/com.android.art/lib64/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+148) native: #02 pc 000000000028f01c /apex/com.android.art/lib64/libart.so (art::gc::Heap::WaitForGcToCompleteLocked(art::gc::GcCause, art::Thread*)+144) native: #03 pc 0000000000294d0c /apex/com.android.art/lib64/libart.so (art::gc::Heap::CollectGarbageInternal(art::gc::collector::GcType, art::gc::GcCause, bool)+872) native: #04 pc 000000000029a914 /apex/com.android.art/lib64/libart.so (art::gc::Heap::AllocateInternalWithGc(art::Thread*, art::gc::AllocatorType, bool, unsigned long, unsigned long*, unsigned long*, unsigned long*, art::ObjPtr<art::mirror::Class>*)+4844) native: #05 pc 000000000065a860 /apex/com.android.art/lib64/libart.so (artAllocArrayFromCodeResolvedRegionTLAB+560) native: #06 pc 000000000013c084 /apex/com.android.art/lib64/libart.so (art_quick_alloc_array_resolved16_region_tlab+132) at java.util.Arrays.copyOf(Arrays.java:3257) at java.lang.AbstractStringBuilder.ensureCapacityInternal(AbstractStringBuilder.java:124) at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:448) at java.lang.StringBuilder.append(StringBuilder.java:137) at cn.richinfo.dm.receiver.DMBroadCastReceiver.b(:-1) at cn.richinfo.dm.receiver.DMBroadCastReceiver.a(:-1) at cn.richinfo.dm.receiver.a.run(:-1) at java.lang.Thread.run(Thread.java:923) "Binder:27068_6" prio=5 tid=29 Native | group="main" sCount=1 dsCount=0 flags=1 obj=0x12e00120 self=0xb400006f6bd48000 | sysTid=16265 nice=0 cgrp=default sched=0/0 handle=0x6f82662cc0 | state=S schedstat=( 1432711 3536458 6 ) utm=0 stm=0 core=0 HZ=100 | stack=0x6f8256b000-0x6f8256d000 stackSize=995KB | held mutexes= native: #00 pc 0000000000086b4c /apex/com.android.runtime/lib64/bionic/libc.so (syscall+28) native: #01 pc 00000000001b0418 /apex/com.android.art/lib64/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+148) native: #02 pc 00000000003c5fcc /apex/com.android.art/lib64/libart.so (art::JNI<false>::CallStaticObjectMethodV(_JNIEnv*, _jclass*, _jmethodID*, std::__va_list)+500) native: #03 pc 00000000000f44d8 /system/lib64/libandroid_runtime.so (_JNIEnv::CallStaticObjectMethod(_jclass*, _jmethodID*, ...)+124) native: #04 pc 00000000001280d8 /system/lib64/libandroid_runtime.so (android::javaObjectForIBinder(_JNIEnv*, android::sp<android::IBinder> const&)+348) native: #05 pc 000000000012ba28 /system/lib64/libandroid_runtime.so (JavaDeathRecipient::binderDied(android::wp<android::IBinder> const&)+140) native: #06 pc 000000000004b800 /system/lib64/libbinder.so (android::BpBinder::reportOneDeath(android::BpBinder::Obituary const&)+148) native: #07 pc 000000000004b720 /system/lib64/libbinder.so (android::BpBinder::sendObituary()+148) native: #08 pc 0000000000052048 /system/lib64/libbinder.so (android::IPCThreadState::executeCommand(int)+680) native: #09 pc 0000000000051cf0 /system/lib64/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+156) native: #10 pc 0000000000052528 /system/lib64/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+60) native: #11 pc 0000000000078630 /system/lib64/libbinder.so (android::PoolThread::threadLoop()+24) native: #12 pc 00000000000154cc /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+260) native: #13 pc 00000000000a5694 /system/lib64/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+144) native: #14 pc 0000000000014d90 /system/lib64/libutils.so (thread_data_t::trampoline(thread_data_t const*)+412) native: #15 pc 00000000000eb868 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+64) native: #16 pc 000000000008ba88 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64) (no managed stack frames) "Binder:27068_7" prio=5 tid=32 WaitingForGcToComplete | group="main" sCount=1 dsCount=0 flags=1 obj=0x12e00198 self=0xb400006f7866bc00 | sysTid=16267 nice=0 cgrp=default sched=0/0 handle=0x6f8232ecc0 | state=S schedstat=( 1138386 6174220 8 ) utm=0 stm=0 core=1 HZ=100 | stack=0x6f82237000-0x6f82239000 stackSize=995KB | held mutexes= native: #00 pc 0000000000086b4c /apex/com.android.runtime/lib64/bionic/libc.so (syscall+28) native: #01 pc 00000000001b0418 /apex/com.android.art/lib64/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+148) native: #02 pc 000000000028f01c /apex/com.android.art/lib64/libart.so (art::gc::Heap::WaitForGcToCompleteLocked(art::gc::GcCause, art::Thread*)+144) native: #03 pc 00000000002a725c /apex/com.android.art/lib64/libart.so (art::gc::Heap::WaitForGcToComplete(art::gc::GcCause, art::Thread*)+440) native: #04 pc 00000000002996c8 /apex/com.android.art/lib64/libart.so (art::gc::Heap::AllocateInternalWithGc(art::Thread*, art::gc::AllocatorType, bool, unsigned long, unsigned long*, unsigned long*, unsigned long*, art::ObjPtr<art::mirror::Class>*)+160) native: #05 pc 000000000065a37c /apex/com.android.art/lib64/libart.so (artAllocObjectFromCodeInitializedRegionTLAB+396) native: #06 pc 000000000013bb78 /apex/com.android.art/lib64/libart.so (art_quick_alloc_object_initialized_region_tlab+104) at android.content.pm.ParceledListSlice$1.createFromParcel(ParceledListSlice.java:80) at android.content.pm.ParceledListSlice$1.createFromParcel(ParceledListSlice.java:78) at android.app.IApplicationThread$Stub.onTransact(IApplicationThread.java:661) at android.os.Binder.execTransactInternal(Binder.java:1162) at android.os.Binder.execTransact(Binder.java:1126) "Thread-1966" prio=5 tid=31 WaitingForGcToComplete | group="main" sCount=1 dsCount=0 flags=1 obj=0x12e00210 self=0xb400006f6bd4b800 | sysTid=16269 nice=0 cgrp=default sched=0/0 handle=0x6f82225cc0 | state=S schedstat=( 697344 2097656 6 ) utm=0 stm=0 core=1 HZ=100 | stack=0x6f82122000-0x6f82124000 stackSize=1043KB | held mutexes= native: #00 pc 0000000000086b4c /apex/com.android.runtime/lib64/bionic/libc.so (syscall+28) native: #01 pc 00000000001b0418 /apex/com.android.art/lib64/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+148) native: #02 pc 000000000028f01c /apex/com.android.art/lib64/libart.so (art::gc::Heap::WaitForGcToCompleteLocked(art::gc::GcCause, art::Thread*)+144) native: #03 pc 00000000002a725c /apex/com.android.art/lib64/libart.so (art::gc::Heap::WaitForGcToComplete(art::gc::GcCause, art::Thread*)+440) native: #04 pc 00000000002996c8 /apex/com.android.art/lib64/libart.so (art::gc::Heap::AllocateInternalWithGc(art::Thread*, art::gc::AllocatorType, bool, unsigned long, unsigned long*, unsigned long*, unsigned long*, art::ObjPtr<art::mirror::Class>*)+160) native: #05 pc 000000000065a37c /apex/com.android.art/lib64/libart.so (artAllocObjectFromCodeInitializedRegionTLAB+396) native: #06 pc 000000000013bb78 /apex/com.android.art/lib64/libart.so (art_quick_alloc_object_initialized_region_tlab+104) at android.content.ComponentName$1.createFromParcel(ComponentName.java:390) at android.content.ComponentName$1.createFromParcel(ComponentName.java:388) at android.app.IActivityManager$Stub$Proxy.startService(IActivityManager.java:6064) at android.app.ContextImpl.startServiceCommon(ContextImpl.java:1710) at android.app.ContextImpl.startService(ContextImpl.java:1680) at android.content.ContextWrapper.startService(ContextWrapper.java:731) at android.content.ContextWrapper.startService(ContextWrapper.java:731) at cn.richinfo.dm.receiver.DMBroadCastReceiver.b(:-1) at cn.richinfo.dm.receiver.DMBroadCastReceiver.a(:-1) at cn.richinfo.dm.receiver.a.run(:-1) at java.lang.Thread.run(Thread.java:923) "Thread-1965" prio=5 tid=33 WaitingForGcToComplete | group="main" sCount=1 dsCount=0 flags=1 obj=0x12e003a8 self=0xb400006f6bd4d400 | sysTid=16268 nice=0 cgrp=default sched=0/0 handle=0x6f82438cc0 | state=S schedstat=( 898177 6904949 5 ) utm=0 stm=0 core=5 HZ=100 | stack=0x6f82335000-0x6f82337000 stackSize=1043KB | held mutexes= native: #00 pc 0000000000086b4c /apex/com.android.runtime/lib64/bionic/libc.so (syscall+28) native: #01 pc 00000000001b0418 /apex/com.android.art/lib64/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+148) native: #02 pc 000000000028f01c /apex/com.android.art/lib64/libart.so (art::gc::Heap::WaitForGcToCompleteLocked(art::gc::GcCause, art::Thread*)+144) native: #03 pc 00000000002a725c /apex/com.android.art/lib64/libart.so (art::gc::Heap::WaitForGcToComplete(art::gc::GcCause, art::Thread*)+440) native: #04 pc 00000000002996c8 /apex/com.android.art/lib64/libart.so (art::gc::Heap::AllocateInternalWithGc(art::Thread*, art::gc::AllocatorType, bool, unsigned long, unsigned long*, unsigned long*, unsigned long*, art::ObjPtr<art::mirror::Class>*)+160) native: #05 pc 000000000065a37c /apex/com.android.art/lib64/libart.so (artAllocObjectFromCodeInitializedRegionTLAB+396) native: #06 pc 000000000013bb78 /apex/com.android.art/lib64/libart.so (art_quick_alloc_object_initialized_region_tlab+104) at android.content.ComponentName$1.createFromParcel(ComponentName.java:390) at android.content.ComponentName$1.createFromParcel(ComponentName.java:388) at android.app.IActivityManager$Stub$Proxy.startService(IActivityManager.java:6064) at android.app.ContextImpl.startServiceCommon(ContextImpl.java:1710) at android.app.ContextImpl.startService(ContextImpl.java:1680) at android.content.ContextWrapper.startService(ContextWrapper.java:731) at android.content.ContextWrapper.startService(ContextWrapper.java:731) at cn.richinfo.dm.receiver.DMBroadCastReceiver.b(:-1) at cn.richinfo.dm.receiver.DMBroadCastReceiver.a(:-1) at cn.richinfo.dm.receiver.a.run(:-1) at java.lang.Thread.run(Thread.java:923) ----- end 27068 ----- ----- Waiting Channels: pid 27068 at 2025-09-01 08:35:45 ----- Cmd line: com.miui.dmregservice sysTid=27068 do_epoll_wait sysTid=27074 futex_wait_queue_me sysTid=27075 futex_wait_queue_me sysTid=27076 futex_wait_queue_me sysTid=27077 futex_wait_queue_me sysTid=27078 do_sigtimedwait sysTid=27079 futex_wait_queue_me sysTid=27080 futex_wait_queue_me sysTid=27081 futex_wait_queue_me sysTid=27082 0 sysTid=27083 futex_wait_queue_me sysTid=27084 futex_wait_queue_me sysTid=27085 binder_ioctl sysTid=27086 binder_ioctl sysTid=27088 binder_ioctl sysTid=27089 do_epoll_wait sysTid=27090 futex_wait_queue_me sysTid=27091 futex_wait_queue_me sysTid=27114 futex_wait_queue_me sysTid=27116 futex_wait_queue_me sysTid=27117 futex_wait_queue_me sysTid=27118 futex_wait_queue_me sysTid=27226 futex_wait_queue_me sysTid=27250 futex_wait_queue_me sysTid=27283 futex_wait_queue_me sysTid=27363 do_epoll_wait sysTid=15971 futex_wait_queue_me sysTid=15972 binder_ioctl sysTid=16013 futex_wait_queue_me sysTid=16014 futex_wait_queue_me ----- end 27068 -----
最新发布
09-06
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值