[Android稳定性] 第044篇 [问题篇] Unable to handle kernel write to read-only memory at virtual address 3周前查看 评论
[Android稳定性] 第044篇 [问题篇] Unable to handle kernel write to read-only memory at virtual address

一、问题现象 老化测试时出现黑屏现象, 9/12: 今天已经确认的现象 使用9-11的版本 72台机器出现27 个黑屏,其中25个为USB问题引起的dump(2个是电量低关机),通过LOG分析是在老化45次重启测试的时候出问题(45次重启1个半小时),9-11版本带了高通的等待probe完成 wai

[Android稳定性] 第042篇 [问题篇] 数组越界导致的Unexpected kernel BRK exception at EL1 4周前查看 评论
[Android稳定性] 第042篇 [问题篇] 数组越界导致的Unexpected kernel BRK exception at EL1

在reboot压力测试中,一台设备出现死机,死机类型为Unexpected kernel BRK exception at EL1,发生在CPU7上的fg_mac_read_block函数。通过分析内核调用跟踪和源码,发现死机是由于fg_checksum函数中的数组越界引起的。具体来说,t_len没有做范围限制,导致在t_buf[35]大于42时,访问t_buf数组越界。解决方案是在t_len大于42时将其限制为42。此外,分析还发现不能完全相信trace32解析处的变量结果,某些情况下需要根据寄存器值来推导实际值。此外,编译器优化也对代码执行产生了影响,例如在某些情况下直接将结果赋值给寄存器,不再运行时计算。

[Android稳定性] 第043篇 [问题篇] Unable to handle kernel NULL pointer dereference at virtual address 7月前查看 评论
[Android稳定性] 第043篇 [问题篇] Unable to handle kernel NULL pointer dereference at virtual address

在测试版本V816.0.24.8.26.UGUCNXM中,稳定版挂测MTBF时出现大量空指针引用错误。通过linux ramdump parser分析dump文件,发现问题源于对NULL指针的访问。进一步分析发现,故障点在`mutex_lock`函数中,由于`iocb->ki_filp->private_data`为NULL导致。检查发现该`file`结构体对应的`/proc/hwinfo`节点存在问题。经过代码检查,该节点已不再需要,可以移除。