问题现象

SurfaceFlinger 重启,tombstone 的错误信息如下:

Abort message: 'b/140703823: aborting due to fd leak: check logs for fd backtraces'
Abort message: 'captureScreenCommon: Buffer failed to allocate: 5'

问题分析

Surfaceflinger fd泄露调查

SurfaceFlinger: captureScreenCommon: Buffer failed to allocate: 5

稳定性团队分析是 SurfaceFlinger fd 泄漏导致触发了上限而重启。

HU_SS3-userdebug-SE-TK-LIA.BR8.rc3.0080-20240328-529-testone 版本泄漏:

Tombstone Dmabuf Sync file
tombstone-30004600000000305-2024_04_01_12_34_56.log 816 31845
tombstone-00057900000000175-2024_03_31_17_17_45.log 836 31818

tombstone-30004600000000305-2024_04_01_12_34_56.log

tombstone-00057900000000175-2024_03_31_17_17_45.log

监控

June 4, 2024 9:45 (GMT+8)


2024-06-03 12:57:50 23faa738b0f111111

system_server_surfaceflinger_info-11111100000000235-2024_06_03_12_57_45+0800.txt

tombstone-11111100000000235-2024_06_03_12_57_50+0800.log

fd 10394
socket 318
dmabuf 612
anon_inode:sync_file 9627
BufferStateLayer (SurfaceViewcom.liauto.onemap/com.liauto.onemap.mapeidcard.MapEidCardActivity 87