07-09 13:04:23.755 13392 13392 F DEBUG : Timestamp: 2022-07-09 13:04:22.521436101+0300
07-09 13:04:23.755 13392 13392 F DEBUG : Process uptime: 0s
07-09 13:04:23.755 13392 13392 F DEBUG : Cmdline: system_server
07-09 13:04:23.755 13392 13392 F DEBUG : pid: 1712, tid: 1979, name: WifiSelfCu >>> system_server <<<
07-09 13:04:23.755 13392 13392 F DEBUG : uid: 1000
07-09 13:04:23.755 13392 13392 F DEBUG : signal 6 (SIGABRT), code -1 (SI_QUEUE), fault addr --------
07-09 13:04:23.755 13392 13392 F DEBUG : Abort message: 'Thread suspension timed out: 0x6de8e144a8:WifiHandlerThread'
07-09 13:04:23.755 13392 13392 F DEBUG : x0 0000000000000000 x1 00000000000007bb x2 0000000000000006 x3 0000006de8e13f60
07-09 13:04:23.755 13392 13392 F DEBUG : x4 2d726e2d63686e71 x5 2d726e2d63686e71 x6 2d726e2d63686e71
1、wifi 超时
07-09 13:00:58.484 1712 1984 E WificondScannerImpl: Timed out waiting for scan result from wificond
2、获取超时handerthread 堆栈,Thread.getStackTrace线程 suspend 超时抛出异常
07-09 13:01:12.729 1712 1979 W system_server: Suspended thread state_and_flags: 430001, self_suspend_count = 0
0x430001
-->0b10000110000000000000001 表示runnable ,及 suspend 请求
07-09 13:01:12.729 1712 1979 F system_server: thread_list.cc:872] Thread suspension timed out: 0x6de8e144a8:WifiHandlerThread
异常堆栈信息 :
07-09 13:04:22.176 1712 1979 F system_server: runtime.cc:669] Runtime aborting...
07-09 13:04:22.176 1712 1979 F system_server: runtime.cc:669] Skipping all-threads dump as locks are held:
07-09 13:04:22.176 1712 1979 F system_server: runtime.cc:669] Aborting thread:
07-09 13:04:22.176 1712 1979 F system_server: runtime.cc:669] "WifiSelfCureEngine" prio=5 tid=155 Runnable
3、fatal 抛出异常,发送tombstone 请求打印tombstoned
07-09 13:04:22.479 13392 13392 I crash_dump64: obtaining output fd from tombstoned, type: kDebuggerdTombstoneProto
07-09 13:04:22.480 621 621 I tombstoned: received crash request for pid 1979
07-09 13:04:22.486 13392 13392 I crash_dump64: performing dump of process 1712 (target tid = 1979)
07-09 13:04:23.527 1712 1719 I system_server: Thread[2,tid=1719,WaitingInMainSignalCatcherLoop,Thread*=0xb400006efde2c000,peer=0x12c80448,"Signal Catcher"]: reacting to signal 3
07-09 13:04:23.527 1712 1719 I system_server: Mutator lock exclusive owner tid: 0
07-09 13:04:23.527 1712 1719 I system_server: ThreadList lock owner tid: 1979
07-09 13:04:23.527 1712 1719 I system_server: ClassLinker classes lock owner tid: 0
07-09 13:04:23.527 1712 1719 I system_server: ClassLinker dex lock owner tid: 0
4、
这里可以看到wifi 超时前后,SF 不正常一直 RTT dump ,cpu 繁忙,发生suspend 超时
07-09 12:59:41.027 1712 1865 D ActivityManager: getProcessesInErrorState callingUid=10332, CallingPid=13580
07-09 12:59:41.062 11355 11382 E GED : queueBuffer: fence 249 didn't signal in 1000 ms (try = 2)
07-09 12:59:41.062 11355 11382 I GED : queueBuffer: fence(dma_fence_array-unbound784629-1) status(0)
07-09 12:59:41.062 11355 11382 I GED : queueBuffer: sync point: timeline(V3-d.youtube-RenderThread-11355) drv(pvrsrvkm) status(1) timestamp(19723.604697)
07-09 12:59:41.062 11355 11382 I GED : queueBuffer: sync point: timeline(P3-d.youtube-RenderThread-11355) drv(pvrsrvkm) status(0) timestamp(0.000000)
07-09 12:59:41.231 1051 1076 D ccci_mdinit: (1):monitor_time_update_thread round:1687 ########
07-09 12:59:41.308 1040 1176 W surfaceflinger: [SW-WD] tid=1040 spend=77688ms threshold=3000ms
07-09 12:59:41.308 1040 1176 W surfaceflinger: [SW-WD] RTT is still dumping
07-09 12:59:41.529 1712 1865 D ActivityManager: getProcessesInErrorState callingUid=10332, CallingPid=13580
07-09 12:59:41.926 1310 1426 D ULogGuard: Monitoring: 16 threads, 0 requests, 0 time-bombs; 2 guards. ResetFlags = 0x7
07-09 12:59:42.031 1712 1865 D ActivityManager: getProcessesInErrorState callingUid=10332, CallingPid=13580
07-09 12:59:42.063 11355 11382 E GED : queueBuffer: fence 249 didn't signal in 1000 ms (try = 3)
07-09 12:59:42.063 11355 11382 I GED : queueBuffer: fence(dma_fence_array-unbound784629-1) status(0)
07-09 12:59:42.063 11355 11382 I GED : queueBuffer: sync point: timeline(V3-d.youtube-RenderThread-11355) drv(pvrsrvkm) status(1) timestamp(19723.604697)
07-09 12:59:42.063 11355 11382 I GED : queueBuffer: sync point: timeline(P3-d.youtube-RenderThread-11355) drv(pvrsrvkm) status(0) timestamp(0.000000)
07-09 12:59:42.246 921 12293 D DlbDap2Process: process() called [701500] times
Line 9934: 07-09 12:59:29.305 1040 1176 W surfaceflinger: [SW-WD] tid=1040 spend=65686ms threshold=3000ms
Line 9935: 07-09 12:59:29.305 1040 1176 W surfaceflinger: [SW-WD] RTT is still dumping
Line 10015: 07-09 12:59:33.306 1040 1176 W surfaceflinger: [SW-WD] tid=1040 spend=69687ms threshold=3000ms
Line 10016: 07-09 12:59:33.306 1040 1176 W surfaceflinger: [SW-WD] RTT is still dumping
Line 10098: 07-09 12:59:37.307 1040 1176 W surfaceflinger: [SW-WD] tid=1040 spend=73687ms threshold=3000ms
Line 10099: 07-09 12:59:37.307 1040 1176 W surfaceflinger: [SW-WD] RTT is still dumping
Line 10181: 07-09 12:59:41.308 1040 1176 W surfaceflinger: [SW-WD] tid=1040 spend=77688ms threshold=3000ms
Line 10182: 07-09 12:59:41.308 1040 1176 W surfaceflinger: [SW-WD] RTT is still dumping
Line 10262: 07-09 12:59:45.309 1040 1176 W surfaceflinger: [SW-WD] tid=1040 spend=81689ms threshold=3000ms
Line 10263: 07-09 12:59:45.309 1040 1176 W surfaceflinger: [SW-WD] RTT is still dumping
参考: