高通平台死机例子(log不足或无明显错误)

本文章会持续记录。

在aop.log、ddr.log、tz.log、hyp.log中均没有明显异常的时候,可以尝试的思路。


例①:

dmesg_TZ.log中 能看到kernel BUG at drivers/soc/qcom/rpmh-rsc.c:1007!,但是后面没有log了。

我们可以直接看每个cpu的调用栈,找找有没有死锁相关的问题,关键字spin_lock

Core vcpu1 PC: queued_spin_lock_slowpath+9c <ffffffd5e2e0ac98>
Core vcpu1 LR: do_raw_spin_lock+108 <ffffffd5e2e0b1f0>

[<ffffffd5e2e0ac98>] queued_spin_lock_slowpath+0x9c
[<ffffffd5e2e0b1f0>] do_raw_spin_lock+0x108
[<ffffffd5e2cb30b8>] die+0x7c
[<ffffffd5e2cd6434>] __do_kernel_fault+0x318
[<ffffffd5e2cd5fe4>] do_bad_area+0x44
[<ffffffd5e4612a84>] do_translation_fault+0xc0
[<ffffffd5e2cd5928>] do_mem_abort+0x64
[<ffffffd5e4368a24>] el1_abort+0x40
[<ffffffd5e43689a8>] el1h_64_sync_handler+0x5c
[<ffffffd5e2c11310>] el1h_64_sync+0x7c
[<ffffffd5e30febac>] __kmalloc+0x208
[<ffffffd5e3615a20>] sg_alloc_table+0xd0
[<ffffffd5e244a57c>] qcom_iommu_dma_get_sgtable[qcom_iommu_util]+0xbc
[<ffffffd5e244cbac>] fast_smmu_get_sgtable[qcom_iommu_util]+0x10
[<ffffffd5e2e6e400>] dma_get_sgtable_attrs+0x5c
[<ffffffd5e7baad80>] cnss_va_to_pa[cnss2]+0x48
[<ffffffd5e7bbfc28>] cnss_pci_add_dump_seg[cnss2]+0xdc
[<ffffffd5e7bbf46c>] cnss_pci_collect_dump_info[cnss2]+0xa80
[<ffffffd5e7bc057c>] cnss_qca6290_crash_shutdown[cnss2]+0x9c
[<ffffffd5e7bc037c>] cnss_pci_dev_crash_shutdown[cnss2][jt]+0x114
[<ffffffd5e7baa248>] cnss_panic_handler[cnss2]+0x4c
[<ffffffd5e2cb33ac>] die+0x370
[<ffffffd5e2cd6434>] __do_kernel_fault+0x318
[<ffffffd5e2cd5fe4>] do_bad_area+0x44
[<ffffffd5e4612a84>] do_translation_fault+0xc0
[<ffffffd5e2cd5928>] do_mem_abort+0x64
[<ffffffd5e4368a24>] el1_abort+0x40
[<ffffffd5e43689a8>] el1h_64_sync_handler+0x5c
[<ffffffd5e2c11310>] el1h_64_sync+0x7c
[<ffffffd5e30fad00>] kmem_cache_alloc_trace+0x19c
[<ffffffd5e6bc1588>] check_threads_run[honor_fas]+0x178
[<ffffffd5e6bc0d04>] check_do_rescue[honor_fas]+0x4c
[<ffffffd5e6bc0bec>] fas_do_rescue[honor_fas]+0xac
[<ffffffd5e6bcc224>] fas_do_activeup[honor_fas]+0x10
[<ffffffd5e2d90ae0>] process_one_work+0x2f0
[<ffffffd5e2d902f0>] worker_thread+0x3ac
[<ffffffd5e2d9c378>] kthread+0x178
[<ffffffd5e2c15110>] ret_from_fork+0x10

可以看到连续两次死机了,这会导致死锁,最后调用栈没打出来。

后来分析是踩内存的问题。


例②

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

thonmin

您的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值