Bug 1171942

Summary: qemu coredump when boot with more qxl-vga device
Product: Red Hat Enterprise Linux 7 Reporter: Xu Tian <xutian>
Component: qemu-kvmAssignee: Gerd Hoffmann <kraxel>
Status: CLOSED WONTFIX QA Contact: Virtualization Bugs <virt-bugs>
Severity: low Docs Contact:
Priority: low    
Version: 7.2CC: hhuang, huding, juzhang, mazhang, rbalakri, virt-maint, xfu
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 1206030 (view as bug list) Environment:
Last Closed: 2016-06-13 12:46:09 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: 1206030, 1206037    
Attachments:
Description Flags
backtrace none

Description Xu Tian 2014-12-09 03:48:10 UTC
Created attachment 966062 [details]
backtrace

Description of problem:

Qemu coredump when boot with more qxl-vga device because of RAMBlock "vga.vram" already registered by default primary qxl device. 
I know up layer tool can avoid to add more primary qxl device, but codedump always looks not friendly. it better to quit qemu with error info.

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


How reproducible:

100%


Steps to Reproduce:
1. qemu-kvm  -vga qxl  -device qxl-vga -monitor stdio

2.
3.

Actual results:
qemu coredump

Expected results:

qemu quit with error info

Additional info:

see backtrack in attachment

gdb /usr/libexec/qemu-kvm /tmp/crash.qemu-kvm.5713/core

#0  0x00007f67d99885d7 in raise () from /lib64/libc.so.6
#1  0x00007f67d9989cc8 in abort () from /lib64/libc.so.6
#2  0x00007f67e105913c in qemu_ram_set_idstr (addr=<optimized out>, name=0x7f67e2044c30 "vga.vram", dev=<optimized out>) at /usr/src/debug/qemu-2.1.2/exec.c:1244
#3  0x00007f67e10915e3 in vmstate_register_ram (mr=mr@entry=0x7f67e2099438, dev=<optimized out>) at /usr/src/debug/qemu-2.1.2/savevm.c:1407
#4  0x00007f67e109eb81 in vga_common_init (s=0x7f67e2099428, obj=0x7f67e2098830, global_vmstate=<optimized out>) at /usr/src/debug/qemu-2.1.2/hw/display/vga.c:2141
#5  0x00007f67e11d883c in qxl_init_primary (dev=0x7f67e2098830) at hw/display/qxl.c:2068
#6  0x00007f67e11f94d7 in pci_qdev_init (qdev=0x7f67e2098830) at hw/pci/pci.c:1767
#7  0x00007f67e11b6c34 in device_realize (dev=0x7f67e2098830, errp=0x7fff37beaa30) at hw/core/qdev.c:183
#8  0x00007f67e11b7d78 in device_set_realized (obj=<optimized out>, value=<optimized out>, errp=0x7fff37beab58) at hw/core/qdev.c:834
#9  0x00007f67e123448e in property_set_bool (obj=0x7f67e2098830, v=<optimized out>, opaque=0x7f67e2045c50, name=<optimized out>, errp=0x7fff37beab58)
    at qom/object.c:1473
#10 0x00007f67e1236c37 in object_property_set_qobject (obj=0x7f67e2098830, value=<optimized out>, name=0x7f67e12f6d70 "realized", errp=0x7fff37beab58)
    at qom/qom-qobject.c:24
#11 0x00007f67e1235850 in object_property_set_bool (obj=obj@entry=0x7f67e2098830, value=value@entry=true, name=name@entry=0x7f67e12f6d70 "realized", 
    errp=errp@entry=0x7fff37beab58) at qom/object.c:888
#12 0x00007f67e1144a9f in qdev_device_add (opts=0x7f67e1f5f0a0) at qdev-monitor.c:554
#13 0x00007f67e1156ab9 in device_init_func (opts=<optimized out>, opaque=<optimized out>) at vl.c:2366
#14 0x00007f67e12c3cab in qemu_opts_foreach (list=<optimized out>, func=func@entry=0x7f67e1156ab0 <device_init_func>, opaque=opaque@entry=0x0, 
    abort_on_failure=abort_on_failure@entry=1) at util/qemu-option.c:1072
#15 0x00007f67e10520c8 in main (argc=<optimized out>, argv=<optimized out>, envp=<optimized out>) at vl.c:4488

Comment 1 Xu Tian 2014-12-09 03:50:39 UTC
qemu-kvm version: qemu-kvm-rhev-2.1.2-16.el7.x86_64

Comment 3 Gerd Hoffmann 2014-12-10 11:40:13 UTC
Not a valid configuration -> low priority.
A more friendly way to report that would be nice though.

Comment 4 langfang 2015-01-09 08:13:14 UTC
*** Bug 1180376 has been marked as a duplicate of this bug. ***