Description of problem: libusbx isn't updated with qemu-kvm Version-Release number of selected component (if applicable): qemu-kvm-5.0.0-0.module+el8.3.0+7323+d54bb644.wrb200701.x86_64 libusbx-1.0.22-1.el8.x86_64 How reproducible: 100% Steps to Reproduce: 1.Check current version of qemu-kvm and libusbx # rpm -q qemu-kvm libusbx qemu-kvm-5.0.0-0.module+el8.3.0+6620+5d5e1420.x86_64 libusbx-1.0.22-1.el8.x86_64 2.Configure correct repo to update qemu-kvm to latest version but found libusbx is not updated with qemu-kvm together and qemu-kvm doesn't depend on libusbx 2.1 # yum update qemu-kvm -y 2.2 # rpm -q qemu-kvm libusbx qemu-kvm-5.0.0-0.module+el8.3.0+7323+d54bb644.wrb200701.x86_64 libusbx-1.0.22-1.el8.x86_64 2.3 # yum deplist qemu-kvm ...... package: qemu-kvm-15:5.0.0-0.module+el8.3.0+7323+d54bb644.wrb200701.x86_64 dependency: libpmem provider: libpmem-1.6.1-1.el8.x86_64 dependency: mesa-dri-drivers provider: mesa-dri-drivers-20.1.2-3.el8.i686 provider: mesa-dri-drivers-20.1.2-3.el8.x86_64 dependency: mesa-libEGL provider: mesa-libEGL-20.1.2-3.el8.i686 provider: mesa-libEGL-20.1.2-3.el8.x86_64 dependency: mesa-libGL provider: mesa-libGL-20.1.2-3.el8.i686 provider: mesa-libGL-20.1.2-3.el8.x86_64 dependency: qemu-kvm-block-curl = 15:5.0.0-0.module+el8.3.0+7323+d54bb644.wrb200701 provider: qemu-kvm-block-curl-15:5.0.0-0.module+el8.3.0+7323+d54bb644.wrb200701.x86_64 dependency: qemu-kvm-block-gluster = 15:5.0.0-0.module+el8.3.0+7323+d54bb644.wrb200701 provider: qemu-kvm-block-gluster-15:5.0.0-0.module+el8.3.0+7323+d54bb644.wrb200701.x86_64 dependency: qemu-kvm-block-iscsi = 15:5.0.0-0.module+el8.3.0+7323+d54bb644.wrb200701 provider: qemu-kvm-block-iscsi-15:5.0.0-0.module+el8.3.0+7323+d54bb644.wrb200701.x86_64 dependency: qemu-kvm-block-rbd = 15:5.0.0-0.module+el8.3.0+7323+d54bb644.wrb200701 provider: qemu-kvm-block-rbd-15:5.0.0-0.module+el8.3.0+7323+d54bb644.wrb200701.x86_64 dependency: qemu-kvm-block-ssh = 15:5.0.0-0.module+el8.3.0+7323+d54bb644.wrb200701 provider: qemu-kvm-block-ssh-15:5.0.0-0.module+el8.3.0+7323+d54bb644.wrb200701.x86_64 dependency: qemu-kvm-core = 15:5.0.0-0.module+el8.3.0+7323+d54bb644.wrb200701 provider: qemu-kvm-core-15:5.0.0-0.module+el8.3.0+7323+d54bb644.wrb200701.x86_64 3.Failed to start a guest by virsh and v2v can't convert guest after updating qemu-kvm to 5.0.0-0.module+el8.3.0+7323 3.1 # virsh start avocado-vt-vm1 error: Failed to start domain avocado-vt-vm1 error: An error occurred, but the cause is unknown 3.2 # virt-v2v avocado-vt-vm1 -o null [ 0.0] Opening the source -i libvirt avocado-vt-vm1 [ 0.0] Creating an overlay to protect the source from being modified [ 0.1] Opening the overlay virt-v2v: error: libguestfs error: libvirt hypervisor doesn’t support qemu or KVM, so we cannot create the libguestfs appliance. The current backend is ‘libvirt’. Check that the PATH environment variable is set and contains the path to the qemu (‘qemu-system-*’) or KVM (‘qemu-kvm’, ‘kvm’ etc). Or: try setting: export LIBGUESTFS_BACKEND=libvirt:qemu:///session Or: if you want to have libguestfs run qemu directly, try: export LIBGUESTFS_BACKEND=direct For further help, read the guestfs(3) man page and libguestfs FAQ. If reporting bugs, run virt-v2v with debugging enabled and include the complete output: virt-v2v -v -x [...] 4.Update libusbx to latest version and try to start a guest by virsh and use v2v to convert a guest 4.1 # rpm -q libusbx libusbx-1.0.23-3.el8.x86_64 4.2 # virsh start avocado-vt-vm1 Domain avocado-vt-vm1 started 4.3 # virt-v2v avocado-vt-vm1 -o null [ 0.0] Opening the source -i libvirt avocado-vt-vm1 [ 0.0] Creating an overlay to protect the source from being modified [ 0.1] Opening the overlay [ 13.2] Inspecting the overlay [ 24.4] Checking for sufficient free disk space in the guest [ 24.4] Estimating space required on target for each disk [ 24.4] Converting Red Hat Enterprise Linux 8.3 Beta (Ootpa) to run on KVM virt-v2v: This guest has virtio drivers installed. [ 71.6] Mapping filesystem data to avoid copying unused and blank areas [ 72.3] Closing the overlay [ 72.6] Assigning disks to buses [ 72.6] Checking if the guest needs BIOS or UEFI to boot [ 72.6] Initializing the target -o null [ 72.6] Copying disk 1/1 to qemu URI json:{ "file.driver": "null-co", "file.size": "1E" } (raw) (100.00/100%) [ 78.1] Creating output metadata [ 78.1] Finishing off Actual results: As above description Expected results: qemu-kvm should depend on libusbx and libusbx should be updated with qemu-kvm and
Qemu log: 2020-07-16 05:04:23.772+0000: 888678: error : qemuProcessQMPLaunch:8531 : internal error: Failed to start QEMU binary /usr/libexec/qemu-kvm for probing: 2020-07-16 05:04:23.752+0000: 888761: debug : virFileClose:134 : Closed fd 34 /usr/libexec/qemu-kvm: symbol lookup error: /usr/libexec/qemu-kvm: undefined symbol: libusb_wrap_sys_device 2020-07-16 05:04:23.772+0000: 888678: warning : virQEMUCapsLogProbeFailure:5376 : Failed to probe capabilities for /usr/libexec/qemu-kvm: internal error: Failed to start QEMU binary /usr/libexec/qemu-kvm for probing: 2020-07-16 05:04:23.752+0000: 888761: debug : virFileClose:134 : Closed fd 34 /usr/libexec/qemu-kvm: symbol lookup error: /usr/libexec/qemu-kvm: undefined symbol: libusb_wrap_sys_device 2020-07-16 05:04:23.772+0000: 888678: error : virQEMUCapsCacheLookup:5650 : internal error: no capabilities available for /usr/libexec/qemu-kvm
Assigned to Jeff for initial triage per bz process and age of bug created or assigned to virt-maint without triage
Using the latest compose RHEL-8.3.0-20200721.n.0, libusbx version is 1.0.23-3. # rpm -q libusbx libusbx-1.0.23-3.el8.x86_64
There are several versions of qemu-kvm mentioned in the problem description. They all start with "qemu-kvm-5.0.0". That means the system has the qemu-kvm that is part of RHEL AV. In fact, one can tell that this is happening because the last version contains the string "wrb" (weekly rebase). Here are the mentions: > 1.Check current version of qemu-kvm and libusbx > # rpm -q qemu-kvm libusbx > qemu-kvm-5.0.0-0.module+el8.3.0+6620+5d5e1420.x86_64 > libusbx-1.0.22-1.el8.x86_64 > > >2.Configure correct repo to update qemu-kvm to latest version but found libusbx is not updated with qemu-kvm together and qemu-kvm doesn't depend on libusbx > >2.1 # yum update qemu-kvm -y > >2.2 # rpm -q qemu-kvm libusbx >qemu-kvm-5.0.0-0.module+el8.3.0+7323+d54bb644.wrb200701.x86_64 >libusbx-1.0.22-1.el8.x86_64 > >2.3 # yum deplist qemu-kvm >...... >package: qemu-kvm-15:5.0.0-0.module+el8.3.0+7323+d54bb644.wrb200701.x86_64 This appears to be a legitimate bug; it appears that the qemu-kvm package doesn't have the correct dependency to libusbx. Moving this report to the RHEL AV product, reassigning for followup and setting ITR to 8.3.0.
Fixed in the rebase
Still can reproduce this problem with qemu-kvm-5.1.0-4.module+el8.3.0+7846+ae9b566f.x86_64 and libusbx-1.0.22-1.el8.x86_64. # yum deplist ./qemu-kvm-core-5.0.0-0.module+el8.3.0+7323+d54bb644.wrb200701.x86_64.rpm | grep usb Last metadata expiration check: 0:09:05 ago on Mon 07 Sep 2020 10:18:31 AM EDT. dependency: libusb-1.0.so.0()(64bit) provider: libusbx-1.0.23-4.el8.x86_64 dependency: libusbredirparser.so.1()(64bit) provider: usbredir-0.8.0-1.el8.x86_64 dependency: libusbx >= 1.0.19 <============================= provider: libusbx-1.0.23-4.el8.i686 provider: libusbx-1.0.23-4.el8.x86_64 dependency: usbredir >= 0.7.1 provider: usbredir-0.8.0-1.el8.i686 provider: usbredir-0.8.0-1.el8.x86_64 # yum deplist ./qemu-kvm-core-5.1.0-4.module+el8.3.0+7846+ae9b566f.x86_64.rpm | grep usb Last metadata expiration check: 0:09:52 ago on Mon 07 Sep 2020 10:18:31 AM EDT. dependency: libusb-1.0.so.0()(64bit) provider: libusbx-1.0.23-4.el8.x86_64 dependency: libusbx >= 1.0.19 <============================= provider: libusbx-1.0.23-4.el8.i686 provider: libusbx-1.0.23-4.el8.x86_64 dependency: usbredir >= 0.7.1 provider: usbredir-0.8.0-1.el8.i686 provider: usbredir-0.8.0-1.el8.x86_64 IIUC, there is no change for qemu-kvm dependency to libusbx.
Should be working now.
# yum deplist ./qemu-kvm-core-5.0.0-0.module+el8.3.0+7323+d54bb644.wrb200701.x86_64.rpm | grep usb Last metadata expiration check: 2:42:25 ago on Thu 10 Sep 2020 09:39:08 PM EDT. dependency: libusb-1.0.so.0()(64bit) provider: libusbx-1.0.23-4.el8.x86_64 dependency: libusbredirparser.so.1()(64bit) provider: usbredir-0.8.0-1.el8.x86_64 dependency: libusbx >= 1.0.19 <============================= provider: libusbx-1.0.23-4.el8.i686 provider: libusbx-1.0.23-4.el8.x86_64 dependency: usbredir >= 0.7.1 provider: usbredir-0.8.0-1.el8.i686 provider: usbredir-0.8.0-1.el8.x86_64 # yum deplist ./qemu-kvm-core-5.1.0-6.module+el8.3.0+8041+42ff16b8.x86_64.rpm | grep usb Last metadata expiration check: 2:41:25 ago on Thu 10 Sep 2020 09:39:08 PM EDT. dependency: libusb-1.0.so.0()(64bit) provider: libusbx-1.0.23-4.el8.x86_64 dependency: libusbx >= 1.0.23 <============================= provider: libusbx-1.0.23-4.el8.i686 provider: libusbx-1.0.23-4.el8.x86_64 dependency: usbredir >= 0.7.1 provider: usbredir-0.8.0-1.el8.i686 provider: usbredir-0.8.0-1.el8.x86_64
Clear the NEEDINFO.
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 (virt:8.3 bug fix and enhancement update), 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/RHBA-2020:5137