[实践篇]如何判断qvm进程异常?
Posted 高桐@BILL
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[实践篇]如何判断qvm进程异常?相关的知识,希望对你有一定的参考价值。
问题描述
在Qcom的8155的Q+LA方案中,表现出的现象是:QNX开机动画循环播放,开机时间长,开机完成后,无adb连接,无android显示,没有gcore产生;
问题分析
首先通过以上可以判断,QNX开机动画循环播放表示la未正常启动,QNX开机动画循环播放超时后不再等待la启动完成;没有gcore产生表示未未发生ramdump或Linux未发生panic。那么最大的可能就是qvm进程发生了异常了。
分析方法
那么我们需要分析qnx侧的slog,搜索qvm.xxx(xxx为进程id,如qvm.2832033),如下关键日志:
qmv.2832033 qvm xxx linux-la.config [pid:2832033]msm_control:[la]VDEV_CTRL_TERMINATE reboot(unexpected)
qmv.2832033 qvm xxx linux-la.config [pid:2832033]vdev-minidump::md_control:[la]VDEV_CTRL_TERMINATE
根据qnx官网的资料,qvmterm_control函数会在qvm进程实例退出时调用。为了管理紧急qvm进程实例的终止以响应一个未知状态,你可以在qvm外运行一个Hypervisor host进程来处理这个终止。这种进程中要包含执行系统清理和硬件关机任务的代码,负责上面描述的 vdev qvmterm 中的VDEV_CTRL_TERMINATE消息块。
详细可参考:【QNX Hypervisor 2.2 用户手册】2.6 处理qvm终止_高桐@BILL的博客-CSDN博客_qvm
以上是关于[实践篇]如何判断qvm进程异常?的主要内容,如果未能解决你的问题,请参考以下文章
[实践篇]13.10 分析slog2info日志拆解qvm重启过程