[Android稳定性] 第004篇 [原理篇] minidump的原理介绍 6月前查看 评论
[Android稳定性] 第004篇 [原理篇] minidump的原理介绍

Minidump 是一种记录系统崩溃信息的机制,各子系统注册在内存映射表中,当系统崩溃时,引导子系统会加密并保存注册过的内存信息,存到 RAM EMMC 分区。通过在用户空间设置 dload_mode=mini,将 0x40 的值写入到 0x3d3000,在手机崩溃后,引导子系统会读取 0x3d3000 的值,如果设置为 minidump 模式,则会读取存在 md_kmsg 和 md_pmsg 地址的 kmsg log 和 logcat log,并将 log 存于 minidump 分区。

[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`节点存在问题。经过代码检查,该节点已不再需要,可以移除。