2018-06-15

libvirtd启动后不响应任何事件("libvirtd" 0x00007fda03f7670d in fts_children)

现场环境:


qemu进程信息


libvirtd状态信息

其中libvirtd主线程与qmp通信线程均跑在fts_children上,导致后续poll事件无任何响应。

问题分析:


libvirtd启动中qmp获取qemu特性过程

如上图,总共有3次fork,最后qemu2会挂在1号进程下面,目的是防止僵尸进程,其中qemu对应上图的PID909进程,qemu1对应PID916进程,qemu2对应PID917进程;

1、qemu1为僵尸进程是由于qemu未waitpid导致,在此处为正常现象;

2、qemu2为僵尸进程,且其父进程为1号进程,可能是有任务未完成导致,此处其存在与libvirtd通信,即怀疑其domain socket存在问题?

3、qemu为退出由于其与qemu2通过pipe通信未完成导致,即阻塞在管道读的过程中;

4、第2点与第3点的共同点均存在qemu2,且qemu2的子线程此时陷入内存等锁过程中,是否pipe与domain socket之间存在锁竞争关系?

to be continued

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容