using libvirt 4.5 with upstream qemu

Peter Krempa pkrempa at redhat.com
Mon Mar 1 15:47:23 UTC 2021


On Mon, Mar 01, 2021 at 15:30:58 +0000, Thanos Makatos wrote:
> I'm trying to use QEMU master with libvirt 4.5 and QEMU seems to be hanging
> when I try to start a guest.
> 
> My environment is a modified CentOS 7.9 installation using libvirt 4.5.0. When
> I use a modified version of QEMU 2.12 (reasonably close to the stock CentOS
> version) everything works fine. When I try to use a fairly recent version of
> QEMU (e.g. v5.2.0-729-g89ff714f4b).
> 
>   qemu     118657  1.6  0.0      0     0 ?        Z    14:50   0:00 [qemu-kvm] <defunct>
>   qemu     118664  0.0  0.0 207340  3560 ?        Ssl  14:50   0:00 /usr/libexec/qemu-kvm -S -no-user-config -nodefaults -nographic -machine none,accel=kvm:tcg -qmp unix:/var/lib/libvirt/qemu/capabilities.monitor.sock,server,nowait -pidfile /var/lib/libvirt/qemu/capabilities.pidfile -daemonize
>   qemu     118666  0.0  0.0 275008 13916 ?        Sl   14:50   0:00 /usr/libexec/qemu-kvm -S -no-user-config -nodefaults -nographic -machine none,accel=kvm:tcg -qmp unix:/var/lib/libvirt/qemu/capabilities.monitor.sock,server,nowait -pidfile /var/lib/libvirt/qemu/capabilities.pidfile -daemonize

These are possibly a leftover from libvirt's capability probing. I
recall that we had some issue with capability detection qemu instances
getting stuck but I don't remember the details any more.

> /var/lib/libvirt/qemu/capabilities.pidfile contains the PID of the 2nd QEMU
> process and by experimenting I found that by killing the QEMU process NOT in
> the PID file the same thing happens again (maybe once more or twice) and then
> the guest boots fine.
> 
> Does libvirt have some specific QEMU dependency? Is there some compatibility
> matrix I might have missed? I understand this may not be a supported
> configuration given that I'm not using vanilla libvirt/QEMU, however I'd
> appreciate some pointers so I can further debug this. I've trying debugging
> this in case there's some obvious error but didn't find anything interesting.
> 
> Any ideas?

In general, libvirt can't guarantee support of future qemu versions as
qemu evolving and recently also deprecating and removing superseded
configuration approaches, so you must cross-check with qemu's support
policy.

For debugging, debug logs may be helpful. In case a real VM getting
stuck also the VM log file, but in your case the capability processes
don't have that. 




More information about the libvir-list mailing list