| Summary: | qemu-kvm will core dump with "-smp 254,sockets=2,cores=2,threads=2" | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 7 | Reporter: | Jun Li <juli> |
| Component: | qemu-kvm | Assignee: | Igor Mammedov <imammedo> |
| Status: | CLOSED NOTABUG | QA Contact: | Virtualization Bugs <virt-bugs> |
| Severity: | low | Docs Contact: | |
| Priority: | high | ||
| Version: | 7.0 | CC: | acathrow, hhuang, imammedo, juzhang, michen, virt-maint, xfu |
| Target Milestone: | rc | ||
| Target Release: | --- | ||
| Hardware: | x86_64 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2014-07-17 07:13:47 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: | |
Looking at CLI second time it looks like invalid parameters passed to qemu "-smp 254,sockets=2,cores=2,threads=2". number of CPUs should be equal or less than sokets*cores*thread. Right now qemu behaves as expected and says "Maximum CPUs greater than topology limit". Retest this issue: Version of qemu-kvm: qemu-kvm-rhev-2.1.0-3.el7ev.preview.x86_64 # /usr/libexec/qemu-kvm -M pc -cpu host -enable-kvm -m 4G -smp 254,sockets=2,cores=2,threads=1 -device virtio-scsi-pci,bus=pci.0,addr=0x5,id=scsi0 -drive file=/home/juli/RHEL-7.0-20131127.1.qcow2_v3,if=none,id=drive-scsi0-0-0,media=disk,cache=none,format=qcow2,werror=stop,rerror=stop,aio=native -device scsi-hd,drive=drive-scsi0-0-0,bus=scsi0.0,scsi-id=0,lun=0,id=juli,bootindex=1 -spice port=5932,disable-ticketing -monitor stdio Warning: Number of SMP cpus requested (254) exceeds the recommended cpus supported by KVM (160) Number of SMP cpus requested (254) exceeds the maximum cpus supported by KVM (160) Base on above testing, this issue has gone with qemu-kvm-rhev-2.1.0-3.el7ev.preview.x86_64. But with qemu-kvm-rhev-1.5.3-21.el7.x86_64 still has this issue. Hi Igor, As this issue has been modified on qemu-kvm-rhev-2.1.0-3.el7ev.preview.x86_64. So I think this should not be closed as NOTABUG. When you got a minute, could you give some explanation about this. Also test with qemu-kvm-0.12.1.2-2.434.el6.x86_64, it will check the "-smp" parameter, but the behavior is not the same as rhel 7. # /usr/libexec/qemu-kvm -M pc -cpu host -enable-kvm -m 4G -smp 254,sockets=2,cores=2,threads=1 -device virtio-scsi-pci,bus=pci.0,addr=0x5,id=scsi0 -drive file=/home/juli/RHEL-7.0-20131127.1.qcow2,if=none,id=drive-scsi0-0-0,media=disk,cache=none,format=qcow2,werror=stop,rerror=stop,aio=native -device scsi-hd,drive=drive-scsi0-0-0,bus=scsi0.0,scsi-id=0,lun=0,id=juli,bootindex=1 -spice port=5932,disable-ticketing -monitor stdio kvm_create_vcpu: Invalid argument Failed to create vCPU. Check the -smp parameter. Aborted (core dumped) Best Regards, Jun Li (In reply to Jun Li from comment #5) > Retest this issue: > > Version of qemu-kvm: > qemu-kvm-rhev-2.1.0-3.el7ev.preview.x86_64 > > # /usr/libexec/qemu-kvm -M pc -cpu host -enable-kvm -m 4G -smp > 254,sockets=2,cores=2,threads=1 -device > virtio-scsi-pci,bus=pci.0,addr=0x5,id=scsi0 -drive > file=/home/juli/RHEL-7.0-20131127.1.qcow2_v3,if=none,id=drive-scsi0-0-0, > media=disk,cache=none,format=qcow2,werror=stop,rerror=stop,aio=native > -device > scsi-hd,drive=drive-scsi0-0-0,bus=scsi0.0,scsi-id=0,lun=0,id=juli, > bootindex=1 -spice port=5932,disable-ticketing -monitor stdio > Warning: Number of SMP cpus requested (254) exceeds the recommended cpus > supported by KVM (160) > Number of SMP cpus requested (254) exceeds the maximum cpus supported by KVM > (160) > > Base on above testing, this issue has gone with > qemu-kvm-rhev-2.1.0-3.el7ev.preview.x86_64. But with > qemu-kvm-rhev-1.5.3-21.el7.x86_64 still has this issue. Upstream changes that led to fix in 2.1 were too complex for backport to 1.5.3 so invalid CLI won't be fixed in 1.5.3 until customer opens case. |
Description of problem: qemu-kvm will core dump with "-smp 254,sockets=2,cores=2,threads=2". When boot qemu-kvm with "-smp 254,sockets=127,cores=2,threads=1", guest will works well. virt-manager will give error message: "Error changing VM configuration: Maximum CPUs greater than topology limit". Version-Release number of selected component (if applicable): qemu-kvm-rhev-1.5.3-21.el7.x86_64 3.10.0-60.el7.x86_64 How reproducible: 100% Steps to Reproduce: 1.boot guest with cli. # gdb --args /usr/libexec/qemu-kvm -M pc -cpu host -enable-kvm -m 4G -smp 254,sockets=2,cores=2,threads=1 -device virtio-scsi-pci,bus=pci.0,addr=0x5,id=scsi0 -drive file=/home/juli/RHEL-7.0-20131127.1.qcow2_v3,if=none,id=drive-scsi0-0-0,media=disk,cache=none,format=qcow2,werror=stop,rerror=stop,aio=native -device scsi-hd,drive=drive-scsi0-0-0,bus=scsi0.0,scsi-id=0,lun=0,id=juli,bootindex=1 \ -spice port=5932,disable-ticketing \ -monitor stdio 2. 3. Actual results: qemu-kvm core dump. (gdb) bt #0 0x00007ffff30db979 in raise () from /lib64/libc.so.6 #1 0x00007ffff30dd088 in abort () from /lib64/libc.so.6 #2 0x00007ffff750dbc6 in g_assertion_message () from /lib64/libglib-2.0.so.0 #3 0x00007ffff750dc24 in g_assertion_message_expr () from /lib64/libglib-2.0.so.0 #4 0x000055555565db15 in piix4_init_cpu_status (cpu=0x55555784efd0, data=0x5555578d4633) at hw/acpi/piix4.c:667 #5 0x0000555555777e11 in qemu_for_each_cpu ( func=func@entry=0x55555565daa0 <piix4_init_cpu_status>, data=data@entry=0x5555578d4633) at /usr/src/debug/qemu-1.5.3/exec.c:274 #6 0x000055555565d742 in piix4_acpi_system_hot_add_init (s=0x5555578d3850, bus=0x5555566a7610, parent=0x5555565069f0) at hw/acpi/piix4.c:687 #7 piix4_pm_initfn (dev=0x5555578d3850) at hw/acpi/piix4.c:443 #8 0x00005555556bd8e2 in pci_qdev_init (qdev=0x5555578d3850) at hw/pci/pci.c:1720 #9 0x000055555567a394 in device_realize (dev=0x5555578d3850, err=0x7fffffffdbb0) at hw/core/qdev.c:178 #10 0x000055555567b8fb in device_set_realized (obj=0x5555578d3850, value=<optimized out>, err=0x7fffffffdcc0) at hw/core/qdev.c:699 #11 0x00005555557371ae in property_set_bool (obj=0x5555578d3850, v=<optimized out>, opaque=0x5555578cfc00, name=<optimized out>, errp=0x7fffffffdcc0) at qom/object.c:1301 #12 0x0000555555739a97 in object_property_set_qobject (obj=0x5555578d3850, ---Type <return> to continue, or q <return> to quit--- value=<optimized out>, name=0x5555558abda2 "realized", errp=0x7fffffffdcc0) at qom/qom-qobject.c:24 #13 0x0000555555738a30 in object_property_set_bool ( obj=obj@entry=0x5555578d3850, value=value@entry=true, name=name@entry=0x5555558abda2 "realized", errp=errp@entry=0x7fffffffdcc0) at qom/object.c:852 #14 0x000055555567a8aa in qdev_init (dev=dev@entry=0x5555578d3850) at hw/core/qdev.c:163 #15 0x000055555567aaf9 in qdev_init_nofail (dev=dev@entry=0x5555578d3850) at hw/core/qdev.c:277 #16 0x000055555565dd0d in piix4_pm_init (bus=bus@entry=0x5555566a7610, devfn=<optimized out>, smb_io_base=smb_io_base@entry=45312, sci_irq=0x5555566a70a8, smi_irq=0x5555578cfab0, kvm_enabled=1, fw_cfg=fw_cfg@entry=0x5555566a0090) at hw/acpi/piix4.c:463 #17 0x00005555557a7b9c in pc_init1 (pci_enabled=1, kvmclock_enabled=1, system_io=0x5555565069f0, system_memory=0x555556505c90, args=<optimized out>) at /usr/src/debug/qemu-1.5.3/hw/i386/pc_piix.c:220 #18 pc_init_pci (args=<optimized out>) at /usr/src/debug/qemu-1.5.3/hw/i386/pc_piix.c:233 #19 0x00005555555ffcf8 in main (argc=<optimized out>, argv=<optimized out>, envp=<optimized out>) at vl.c:4227 Expected results: guest can boot as normal or give warning message. Additional info: