Bug 1655826

Summary: kvm_put_msrs: Assertion `ret == cpu->kvm_msr_buf->nmsrs' on Opteron_G3 (MSR 0x10a / arch-capabilities)
Product: Red Hat Enterprise Linux Advanced Virtualization Reporter: Han Han <hhan>
Component: qemu-kvmAssignee: Bandan Das <bdas>
Status: CLOSED ERRATA QA Contact: jingzhao <jinzhao>
Severity: high Docs Contact:
Priority: urgent    
Version: 8.0CC: amit, bdas, berrange, cfergeau, chayang, crobinso, ddepaula, dgilbert, dwmw2, dyuan, extras-qa, fjin, hhan, hhuang, itamar, jen, jgao, jinzhao, juzhang, knoel, lhuang, meili, mikhail.v.gavrilov, pbonzini, rbalakri, ribarry, rjones, virt-bugs, virt-maint, virt-maint, wehuang, xuwei, yalzhang
Target Milestone: rcKeywords: Regression
Target Release: 8.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: qemu-3.1.0 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1651021 Environment:
Last Closed: 2019-05-29 16:04:28 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: 1651021    
Bug Blocks: 910269    
Attachments:
Description Flags
cpuinfo and backtrace none

Description Han Han 2018-12-04 03:13:00 UTC
Created attachment 1511169 [details]
cpuinfo and backtrace

On qemu-kvm-3.1.0-0.module+el8+2266+616cf026.next.candidate.x86_64, start with following cmdline:
# LC_ALL=C PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin QEMU_AUDIO_DRV=spice /usr/libexec/qemu-kvm -name guest=pc,debug-threads=on -cpu Opteron_G3,vme=on,x2apic=on,tsc-deadline=on,hypervisor=on,arat=on,mmxext=on,fxsr_opt=on,pdpe1gb=on,3dnowext=on,3dnow=on,cmp_legacy=on,cr8legacy=on,3dnowprefetch=on,osvw=on,monitor=off -m 1024
qemu-kvm: error: failed to set MSR 0x10a to 0x0
qemu-kvm: /builddir/build/BUILD/qemu-3.1.0/target/i386/kvm.c:2211: kvm_put_msrs: Assertion `ret == cpu->kvm_msr_buf->nmsrs' failed.
[1]    13527 abort (core dumped)  LC_ALL=C PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin QEMU_AUDIO_DR

It get SIGUSR1 here.
For the backtrace and host cpuinfo, see the attachment.

+++ This bug was initially created as a clone of Bug #1651021 +++

Description of problem:

Error starting domain: internal error: qemu unexpectedly closed the monitor: 2018-11-18T21:51:02.983748Z qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.01H:EDX.ss [bit 27]
2018-11-18T21:51:03.113175Z qemu-system-x86_64: error: failed to set MSR 0x10a to 0x0
qemu-system-x86_64: /builddir/build/BUILD/qemu-3.1.0-rc1/target/i386/kvm.c:2211: kvm_put_msrs: Assertion `ret == cpu->kvm_msr_buf->nmsrs' failed.

Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/asyncjob.py", line 75, in cb_wrapper
    callback(asyncjob, *args, **kwargs)
  File "/usr/share/virt-manager/virtManager/asyncjob.py", line 111, in tmpcb
    callback(*args, **kwargs)
  File "/usr/share/virt-manager/virtManager/libvirtobject.py", line 66, in newfn
    ret = fn(self, *args, **kwargs)
  File "/usr/share/virt-manager/virtManager/domain.py", line 1400, in startup
    self._backend.create()
  File "/usr/lib64/python3.7/site-packages/libvirt.py", line 1080, in create
    if ret == -1: raise libvirtError ('virDomainCreate() failed', dom=self)
libvirt.libvirtError: internal error: qemu unexpectedly closed the monitor: 2018-11-18T21:51:02.983748Z qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.01H:EDX.ss [bit 27]
2018-11-18T21:51:03.113175Z qemu-system-x86_64: error: failed to set MSR 0x10a to 0x0
qemu-system-x86_64: /builddir/build/BUILD/qemu-3.1.0-rc1/target/i386/kvm.c:2211: kvm_put_msrs: Assertion `ret == cpu->kvm_msr_buf->nmsrs' failed.


# qemu-kvm 
Unable to init server: Could not connect: Connection refused
qemu-system-x86_64: error: failed to set MSR 0x10a to 0x0
qemu-system-x86_64: /builddir/build/BUILD/qemu-3.1.0-rc1/target/i386/kvm.c:2211: kvm_put_msrs: Assertion `ret == cpu->kvm_msr_buf->nmsrs' failed.
Aborted (core dumped)


Version-Release number of selected component (if applicable):

# qemu-kvm --version
QEMU emulator version 3.0.91 (qemu-3.1.0-0.1.rc1.fc30)
Copyright (c) 2003-2018 Fabrice Bellard and the QEMU Project developers

# rpm -q qemu-kvm
qemu-kvm-3.1.0-0.1.rc1.fc30.x86_64

--- Additional comment from Mikhail on 2018-11-18 17:01 EST ---



--- Additional comment from Mikhail on 2018-11-18 22:27:38 EST ---

Latest workable version:

# rpm -q qemu-kvm 
qemu-kvm-3.0.0-1.fc30.x86_64
# qemu-kvm --version
QEMU emulator version 3.0.0 (qemu-3.0.0-1.fc30)
Copyright (c) 2003-2017 Fabrice Bellard and the QEMU Project developers

--- Additional comment from Cole Robinson on 2018-11-19 10:02:09 EST ---

Thanks for the report. Can you provide:

sudo virsh dumpxml $vmname
/var/log/libvirt/qemu/$vmname.log

--- Additional comment from Mikhail on 2018-11-19 13:23 EST ---



--- Additional comment from Mikhail on 2018-11-19 13:26 EST ---



--- Additional comment from Cole Robinson on 2018-11-19 15:42:20 EST ---

Similar report on the list: https://lists.gnu.org/archive/html/qemu-devel/2018-11/msg03509.html

I'll mention this bug there

Comment 1 Han Han 2018-12-04 03:14:24 UTC
BTW, it works on qemu-kvm-3.0.0-2.module+el8+2246+78080371

Comment 2 Han Han 2018-12-04 03:19:56 UTC
A more simple reproduce cmdline:
# /usr/libexec/qemu-kvm
qemu-kvm: error: failed to set MSR 0x10a to 0x0
qemu-kvm: /builddir/build/BUILD/qemu-3.1.0/target/i386/kvm.c:2211: kvm_put_msrs: Assertion `ret == cpu->kvm_msr_buf->nmsrs' failed.
[1]    14428 abort (core dumped)  /usr/libexec/qemu-kvm

Comment 3 Bandan Das 2018-12-04 19:45:03 UTC
Can you try commit aec5e9c3a94cf8b7920f59bef69a6f426092c4a0 from upstream ?
Alternatively, here's a brew build
https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=19371843

Comment 4 Han Han 2018-12-05 01:47:53 UTC
(In reply to Bandan Das from comment #3)
> Can you try commit aec5e9c3a94cf8b7920f59bef69a6f426092c4a0 from upstream ?
> Alternatively, here's a brew build
> https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=19371843

This scratch build works. Bug is not reproduced on it.

Comment 5 Danilo de Paula 2018-12-07 22:18:26 UTC
QA_ACK+, please?

Comment 6 Xueqiang Wei 2018-12-12 05:35:20 UTC
*** Bug 1657738 has been marked as a duplicate of this bug. ***

Comment 10 jingzhao 2019-02-01 03:15:34 UTC
Reproduce it, please check https://bugzilla.redhat.com/show_bug.cgi?id=1656829#c16

Verified it with qemu-kvm-3.1.0-10.module+el8+2732+3228f155.x86_64


Guest can be boot successfully with following command line:

# /usr/libexec/qemu-kvm -M pc-q35-rhel7.6.0 -vga qxl -monitor stdio -smp 4 -m 8G -vnc :0  -cpu Opteron_G3 -device pcie-root-port,id=root1,slot=0 -drive file=/mnt/rhel76-64-virtio-scsi.qcow2,if=none,id=drive-virtio-disk0,format=qcow2,cache=none,discard=unmap,werror=stop,rerror=stop,aio=threads -device virtio-blk-pci,drive=drive-virtio-disk0,bus=root1,id=virtio-disk0,bootindex=1 -vnc :1


According to above test result, changed to verified

Comment 12 errata-xmlrpc 2019-05-29 16:04:28 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/RHBA-2019:1293