Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.

Bug 1430258

Summary: fails to start a VM: unable to execute QEMU command 'query-iothreads': The command query-iothreads has not been found
Product: Red Hat Enterprise Linux 7 Reporter: Pino Toscano <ptoscano>
Component: libvirtAssignee: Pavel Hrdina <phrdina>
Status: CLOSED ERRATA QA Contact: lijuan men <lmen>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.4CC: dyuan, kuwei, lhuang, mmarhefk, mxie, phrdina, rbalakri, rjones, tzheng, xuzhang, yisun
Target Milestone: rcKeywords: Regression
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: libvirt-3.1.0-2.el7 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-08-01 17:24:15 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 910269    
Attachments:
Description Flags
full debug log of libguestfs-test-tool none

Description Pino Toscano 2017-03-08 08:27:58 UTC
Description of problem:
When trying to use libguestfs with libvirt 3.1.0, the appliance cannot be started using the libvirt backend:

libguestfs: error: could not create appliance through libvirt.

Try running qemu directly without libvirt using this environment variable:
export LIBGUESTFS_BACKEND=direct

Original error from libvirt: internal error: unable to execute QEMU command 'query-iothreads': The command query-iothreads has not been found [code=1 int1=-1]

Most probably libvirt assumes a too new QEMU is available, while only 1.5 is around.

Version-Release number of selected component (if applicable):
libvirt-client-3.1.0-1.el7.x86_64
libvirt-daemon-3.1.0-1.el7.x86_64
libvirt-daemon-config-network-3.1.0-1.el7.x86_64
libvirt-daemon-config-nwfilter-3.1.0-1.el7.x86_64
libvirt-daemon-driver-interface-3.1.0-1.el7.x86_64
libvirt-daemon-driver-network-3.1.0-1.el7.x86_64
libvirt-daemon-driver-nodedev-3.1.0-1.el7.x86_64
libvirt-daemon-driver-nwfilter-3.1.0-1.el7.x86_64
libvirt-daemon-driver-qemu-3.1.0-1.el7.x86_64
libvirt-daemon-driver-secret-3.1.0-1.el7.x86_64
libvirt-daemon-driver-storage-3.1.0-1.el7.x86_64
libvirt-daemon-driver-storage-core-3.1.0-1.el7.x86_64
libvirt-daemon-driver-storage-disk-3.1.0-1.el7.x86_64
libvirt-daemon-driver-storage-gluster-3.1.0-1.el7.x86_64
libvirt-daemon-driver-storage-iscsi-3.1.0-1.el7.x86_64
libvirt-daemon-driver-storage-logical-3.1.0-1.el7.x86_64
libvirt-daemon-driver-storage-mpath-3.1.0-1.el7.x86_64
libvirt-daemon-driver-storage-rbd-3.1.0-1.el7.x86_64
libvirt-daemon-driver-storage-scsi-3.1.0-1.el7.x86_64
libvirt-daemon-kvm-3.1.0-1.el7.x86_64
libvirt-devel-3.1.0-1.el7.x86_64
libvirt-docs-3.1.0-1.el7.x86_64
libvirt-libs-3.1.0-1.el7.x86_64
qemu-img-1.5.3-132.el7.x86_64
qemu-kvm-1.5.3-132.el7.x86_64
qemu-kvm-common-1.5.3-132.el7.x86_64

How reproducible:
100% with libvirt 3.1.0.

Steps to Reproduce:
1. Make sure libvirt >= 3.1.0 is available
2. Try to run libguestfs, for example libguestfs-test-tool

Additional info:
This is a regression, since it used to work until libvirt 3.0.0.

Comment 1 Pino Toscano 2017-03-08 08:36:47 UTC
Created attachment 1261134 [details]
full debug log of libguestfs-test-tool

Comment 2 Pino Toscano 2017-03-08 09:46:42 UTC
Reproducer without libguestfs:

$ [get a e.g. CentOS guest installed, as centos.img]
$ virt-install --connect qemu:///system -n centos --memory 2048 --disk path=centos.img --network network=default --hvm --noreboot --import --os-variant centos7.0
[...]
$ virsh -c qemu:///system start --console centos
[...]
error: Failed to start domain centos
error: internal error: unable to execute QEMU command 'query-iothreads': The command query-iothreads has not been found

Comment 3 Pavel Hrdina 2017-03-08 09:53:47 UTC
*** Bug 1430273 has been marked as a duplicate of this bug. ***

Comment 4 Pino Toscano 2017-03-08 10:52:36 UTC
*** Bug 1430214 has been marked as a duplicate of this bug. ***

Comment 6 Pavel Hrdina 2017-03-08 11:25:35 UTC
Upstream commit:

commit bb0bffb16c2afe976802aae2059c27fdd0845b2f
Author: Pavel Hrdina <phrdina>
Date:   Wed Mar 8 10:45:10 2017 +0100

    qemu_process: don't probe iothreads if it's not supported by QEMU

Comment 9 lijuan men 2017-04-12 08:44:44 UTC
verify the bug

version:
libvirt-3.2.0-2.el7.x86_64
qemu-kvm-rhev-2.8.0-6.el7.x86_64


steps:
1.ensure libvirtd is active
[root@localhost ~]# systemctl status libvirtd
● libvirtd.service - Virtualization daemon
   Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2017-04-12 04:40:22 EDT; 10s ago
     Docs: man:libvirtd(8)
           http://libvirt.org

2.start libguestfs-test-tool
[root@localhost ~]# libguestfs-test-tool

no error

Comment 10 errata-xmlrpc 2017-08-01 17:24:15 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHEA-2017:1846

Comment 11 errata-xmlrpc 2017-08-02 00:03:43 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHEA-2017:1846