小米的高通处理器的手机的 Android 内核,rebase 高通上游源码以后,有一个诡异的 bug: 在开关 CPU 核心时(比如用 Kernel Auditor 手动开关,或者各种调试策略/省电策略导致的核心自动开关),在开启 CPU 核心时,有一定概率内核会卡死(不是每次都会,有一定概率会),没有 panic ,而是进入一种诡异的状态: 安卓端的现象就是,整个屏幕定格卡死,无任何响应,闲置一定时间后会暗屏,但是不会熄屏,插入充电器 LED 灯能亮,说明很多进程还是在正常运行的
如果此时连着 ssh ,开着 dmesg -w ,没有任何有价值的线索,只能正常看到 CPUx online 之类的,然后之后的日志也在正常滚动输出,说明 dmesg 此时也是运行正常的。但是如果尝试按 Ctrl+C ,dmesg 就卡死了,也无法正常退出。也无法连接新的 ssh 会话,如果有一个空的 ssh 会话,也无法启动任何新的进程。 总之现象就是:
- dmesg 无线索,无报错
- 已经在运行的进程(似乎)可以正常运行,但是无法启动任何新的进程,也无法退出已有进程,不确定是卡在按 Ctrl+C 响应 signal 上,还是子进程尝试退出,回到父进程 join 这个过程上。
最主要的是 dmesg 无任何线索,这个诡异的 bug 该往哪个方向查呢?或者还有什么地方能提供线索? 有没有大佬有什么思路?
