作者:字节移动技术——陈奕
背景
去年 9 月份开始,许多用户升级到 iOS 14 之后,线上出现很多 ImageIO 相关堆栈的 Crash 问题,而且公司内几乎所有的 APP 上都有出现,在部分 APP上甚至达到了 Top 3 Crash。
得益于 APM 平台精准数据采集机制和丰富的异常信息现场,我们通过收集到详细的 Crash 日志信息进行分析解决。
问题定位
堆栈信息
从堆栈信息看,是在 ImageIO 解析图片信息的时候 Crash ,并且最后调用的方法都是看起来都是和 INameSpacePrefixMap
相关,推测 Crash 应该是和这个方法 CGImageSourceCopyPropertiesAtIndex
的实现有关。
问题聚合特点
机型集中在 iOS14 以上的版本,同时是在后台出现

分析
从 CrashLog 做一个初步分析

从堆栈信息看,这段代码是图片库在子线程通过
CGImageSourceCopyPropertiesAtIndex
解析imageSource
中的图片相关信息,然后发生了野指针的 Crash。CGImageSourceCopyPropertiesAtIndex
的输入只有一个imageSource
&#x