[实践篇]如何判断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.15 如何让qvm多吐点日志?

[实践篇]13.11 扒一扒qvm和vmm之间的那点儿事儿

[实践篇]13.11 扒一扒qvm和vmm之间的那点儿事儿

[实践篇]13.10 分析slog2info日志拆解qvm重启过程

[实践篇]13.10 分析slog2info日志拆解qvm重启过程

[实践篇]13.10 分析slog2info日志拆解qvm重启过程