"Failed to initialize display event receiver"导致应用Crash

本文详细解析了SurfaceFlinger文件句柄泄露问题,触发Too many open files错误,导致monkey测试中应用崩溃的现象。通过adb shell命令行,检查进程最大文件数限制,定位问题所在。深入探讨了sync_fence fd异常增长的原因,并使用Qcom的leak_detector工具进行跟踪分析。
部署运行你感兴趣的模型镜像

SurfaceFlinger文件句柄泄露,触发Too many open files,在执行monkey测试时导致应用crash

  1. 确认进程最大文件数限制
    • adb shell进入命令行
    • ps -A | grep xxx确认进程pid
    • cd /proc/proc_pid/
    • cat limits查看max open files限制,一般应用都是1024,surfaceflinger是2048
  2. 查看出问题前进程fd详情
    • cd /proc/proc_pid/fd
    • ls -l查看对应的fd占用
    • 执行复现问题对应操作,然后再ls看一下哪些fd增长异常

本次问题发现surfaceflinger的sync_fence fd明显增长异常,需要进一步确认sync_fence增长的原因,使用Qcom的leak_detector工具跟踪分析。

相关知识点:

  1. 线程是否泄漏: ps -AT | grep pid,查看pid对应进程所有线程信息

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值