Bug 1362019

Summary: Crashes when using query-hotpluggable-cpus with pseries-rhel7.2.0 machine type
Product: Red Hat Enterprise Linux 7 Reporter: Andrea Bolognani <abologna>
Component: qemu-kvm-rhevAssignee: David Gibson <dgibson>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.3CC: knoel, mrezanin, qzhang, virt-maint, xuhan, xuma
Target Milestone: rc   
Target Release: ---   
Hardware: ppc64le   
OS: Linux   
Whiteboard:
Fixed In Version: qemu-kvm-rhev-2.6.0-20.el7 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-11-07 21:27:49 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: 1288337    

Description Andrea Bolognani 2016-08-01 07:56:22 UTC
Calling the query-hotpluggable-cpus QMP command with the
pseries-rhel7.2.0 machine type causes QEMU to crash:

  $ /usr/libexec/qemu-kvm -M pseries-rhel7.2.0 -qmp stdio
  {"QMP": {"version": {"qemu": {"micro": 0, "minor": 6, "major": 2},
  "package": " (qemu-kvm-rhev-2.6.0-17.el7)"}, "capabilities": []}}
  VNC server running on '::1;5900'
  {"execute": "qmp_capabilities"}
  {"return": {}}
  {"execute": "query-hotpluggable-cpus"}
  Segmentation fault

The same doesn't happen when using the pseries-rhel7.3.0
machine type.

kernel-3.10.0-481.el7.ppc64
qemu-kvm-rhev-2.6.0-17.el7.ppc64

Comment 2 David Gibson 2016-08-02 04:23:53 UTC
I've confirmed the same problem exists upstream (for pseries-2.6 and earlier machine types).  I've sent an upstream patch, and will backport it once merged.

Comment 3 David Gibson 2016-08-03 23:09:33 UTC
A fix for the upstream version of this problem is now merged upstream.

Comment 4 David Gibson 2016-08-09 02:24:57 UTC
I've brewed a downstream fix at:
    https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=11523275

Comment 5 Miroslav Rezanina 2016-08-10 18:55:20 UTC
Fix included in qemu-kvm-rhev-2.6.0-20.el7

Comment 7 Xujun Ma 2016-08-16 06:01:44 UTC
Reproduced the issue on old version:

Version-Release number of selected component (if applicable):
kernel-3.10.0-470.el7.ppc64le
qemu-kvm-rhev-2.6.0-17.el7.ppc64le

Steps to Reproduce:
1.Boot up a guest with command:
/usr/libexec/qemu-kvm \
 -name test \
 -M pseries-rhel7.2.0 \
 -smp 1,maxcpus=3,sockets=1,cores=1,threads=1 \
 -m 1024 \
 -monitor stdio \
 -vnc :20 \
 -qmp tcp:0:4444,server,nowait \
 -device virtio-scsi-pci,bus=pci.0 \
 -device scsi-hd,id=scsi-hd0,drive=scsi-hd0-dr0,bootindex=0 \
 -drive file=/root/RHEL-7.2.qcow2,if=none,id=scsi-hd0-dr0,format=qcow2,cache=none \
 -device virtio-net-pci,netdev=net0,id=nic0,mac=52:54:00:c4:e7:84 \
 -netdev tap,id=net0,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown,vhost=on \
 
2.check hotpluggable cpus in qmp:
{ "execute": "qmp_capabilities"}
{"return": {}}
{"execute": "query-hotpluggable-cpus"}
Connection closed by foreign host.

Actual results:
Guest crashs with "Segmentation fault" error 

Verified the issue on the latest build:
Version-Release number of selected component (if applicable):
kernel-3.10.0-470.el7.ppc64le
qemu-kvm-rhev-2.6.0-20.el7.ppc64le

Steps to Reproduce:
1.The same steps as above
2.check hotpluggable cpus in qmp:
{ "execute": "qmp_capabilities"}
{"return": {}}
{"execute": "query-hotpluggable-cpus"}
{"error": {"class": "GenericError", "desc": "The feature 'query-hotpluggable-cpus' is not enabled"}}


Actual results:
guest runs normally ,and  it return "The feature 'query-hotpluggable-cpus' is not enabled" after query hotpluggable cpus command.

Base on the above results ,the bug has been fixed.

Comment 9 errata-xmlrpc 2016-11-07 21:27:49 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://rhn.redhat.com/errata/RHBA-2016-2673.html