Bug 589891

Summary: Using device_add command add vga related drivers lead to qemu-kvm process die
Product: Red Hat Enterprise Linux 6 Reporter: juzhang <juzhang>
Component: qemu-kvmAssignee: Gerd Hoffmann <kraxel>
Status: CLOSED CURRENTRELEASE QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: low    
Version: 6.0CC: gcosta, lihuang, michen, tburke, virt-maint
Target Milestone: rc   
Target Release: 6.1   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-04-28 12:01:06 UTC Type: ---
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: 580954    

Description juzhang 2010-05-07 08:38:48 UTC
Description of problem:
Using device_add command add vga related drivers lead to qemu-kvm process die.

Version-Release number of selected component (if applicable):
qemu-kvm-0.12.1.2-2.48.el6

How reproducible:


Steps to Reproduce:
1.boot the guest with qmp enabled
/usr/libexec/qemu-kvm -m 2G -smp 1 -drive file=/root/zhangjunyi/win2003-32.qcow2,if=ide,cache=none,boot=on -net nic,model=e1000,vlan=1,macaddr=00:00:40:3F:20:21 -net tap,vlan=1,script=/etc/qemu-ifup  -no-hpet -rtc-td-hack -no-kvm-pit-reinjection -monitor stdio -cpu qemu64,+sse2 -balloon none -startdate now  -boot c -vnc :10 -qmp tcp:0:4444,server
2.telnet the host
3.Issue the following commands:
{"execute":"device_add","arguments":{"driver":"VGA"}}
{"execute":"device_add","arguments":{"driver":"cirrus-vga"}}
{"execute":"device_add","arguments":{"driver":"vmware-svga"}}
  
Actual results:
1. After executed the "{"execute":"device_add","arguments":{"driver":"VGA"}}"
qemu-kvm was aborted
qemu: hardware error: register_ioport_write: invalid opaque
CPU #0:
EAX=e6d6e5fb EBX=ffdffee0 ECX=ffdffee0 EDX=0000023c
ESI=ffdffec0 EDI=8a197930 EBP=8089a600 ESP=8089a5e4
EIP=f7629886 EFL=00000206 [-----P-] CPL=0 II=0 A20=1 SMM=0 HLT=0
ES =0023 00000000 ffffffff 00c0f300 DPL=3 DS   [-WA]
CS =0008 00000000 ffffffff 00c09b00 DPL=0 CS32 [-RA]
SS =0010 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
DS =0023 00000000 ffffffff 00c0f300 DPL=3 DS   [-WA]
FS =0030 ffdff000 00001fff 00c09300 DPL=0 DS   [-WA]
GS =0000 00000000 ffffffff 00000000
LDT=0000 00000000 ffffffff 00000000
TR =0028 80042000 000020ab 00008b00 DPL=0 TSS32-busy
GDT=     8003f000 000003ff
IDT=     8003f400 000007ff
CR0=8001003b CR2=c52ff77c CR3=0039f000 CR4=000006f8
DR0=00000000 DR1=00000000 DR2=00000000 DR3=00000000 
DR6=ffff0ff0 DR7=00000400
FCW=027f FSW=4020 [ST=0] FTW=00 MXCSR=00000000
FPR0=0000000000000000 0000 FPR1=0000000000000000 0000
FPR2=0000000000000000 0000 FPR3=0000000000000000 0000
FPR4=fff0600000000000 4029 FPR5=a000000000000000 4002
FPR6=0000000000000000 0000 FPR7=0000000000000000 0000
XMM00=00000000000000000000000000000000 XMM01=00000000000000000000000000000000
XMM02=00000000000000000000000000000000 XMM03=00000000000000000000000000000000
XMM04=00000000000000000000000000000000 XMM05=00000000000000000000000000000000
XMM06=00000000000000000000000000000000 XMM07=00000000000000000000000000000000
Aborted

2. After executed the "{"execute":"device_add","arguments":{"driver":"vmware-svga"}}"
qemu: hardware error: register_ioport_write: invalid opaque
CPU #0:
EAX=e7e93237 EBX=ffdffee0 ECX=ffdffee0 EDX=000000aa
ESI=ffdffec0 EDI=8a197930 EBP=8089a600 ESP=8089a5e4
EIP=f7659886 EFL=00000206 [-----P-] CPL=0 II=0 A20=1 SMM=0 HLT=0
ES =0023 00000000 ffffffff 00c0f300 DPL=3 DS   [-WA]
CS =0008 00000000 ffffffff 00c09b00 DPL=0 CS32 [-RA]
SS =0010 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
DS =0023 00000000 ffffffff 00c0f300 DPL=3 DS   [-WA]
FS =0030 ffdff000 00001fff 00c09300 DPL=0 DS   [-WA]
GS =0000 00000000 ffffffff 00000000
LDT=0000 00000000 ffffffff 00000000
TR =0028 80042000 000020ab 00008b00 DPL=0 TSS32-busy
GDT=     8003f000 000003ff
IDT=     8003f400 000007ff
CR0=8001003b CR2=daf1c000 CR3=0039f000 CR4=000006f8
DR0=00000000 DR1=00000000 DR2=00000000 DR3=00000000 
DR6=ffff0ff0 DR7=00000400
FCW=027f FSW=0120 [ST=0] FTW=00 MXCSR=00000000
FPR0=0000000000000000 0000 FPR1=0000000000000000 0000
FPR2=0000000000000000 0000 FPR3=0000000000000000 0000
FPR4=fff0600000000000 4029 FPR5=b400000000000000 4005
FPR6=ccc999a000000000 4019 FPR7=cccccc0000000000 bffc
XMM00=00000000000000000000000000000000 XMM01=00000000000000000000000000000000
XMM02=00000000000000000000000000000000 XMM03=00000000000000000000000000000000
XMM04=00000000000000000000000000000000 XMM05=00000000000000000000000000000000
XMM06=00000000000000000000000000000000 XMM07=00000000000000000000000000000000
Aborted

3. After executed the "{"execute":"device_add","arguments":{"driver":"cirrus-vga"}}"
qemu: hardware error: register_ioport_write: invalid opaque
CPU #0:
EAX=0000c009 EBX=80a643a0 ECX=000000e0 EDX=0000c000
ESI=8a19b2a0 EDI=89ac53f4 EBP=8089a268 ESP=8089a258
EIP=80a643a9 EFL=00000202 [-------] CPL=0 II=0 A20=1 SMM=0 HLT=0
ES =0023 00000000 ffffffff 00c0f300 DPL=3 DS   [-WA]
CS =0008 00000000 ffffffff 00c09b00 DPL=0 CS32 [-RA]
SS =0010 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
DS =0023 00000000 ffffffff 00c0f300 DPL=3 DS   [-WA]
FS =0030 ffdff000 00001fff 00c09300 DPL=0 DS   [-WA]
GS =0000 00000000 ffffffff 00000000
LDT=0000 00000000 ffffffff 00000000
TR =0028 80042000 000020ab 00008b00 DPL=0 TSS32-busy
GDT=     8003f000 000003ff
IDT=     8003f400 000007ff
CR0=8001003b CR2=00077000 CR3=003c9000 CR4=000006f8
DR0=00000000 DR1=00000000 DR2=00000000 DR3=00000000 
DR6=ffff0ff0 DR7=00000400
FCW=027f FSW=0000 [ST=0] FTW=00 MXCSR=00000000
FPR0=0000000000000000 0000 FPR1=0000000000000000 0000
FPR2=0000000000000000 0000 FPR3=0000000000000000 0000
FPR4=0000000000000000 0000 FPR5=0000000000000000 0000
FPR6=0000000000000000 0000 FPR7=0000000000000000 0000
XMM00=00000000000000000000000000000000 XMM01=00000000000000000000000000000000
XMM02=00000000000000000000000000000000 XMM03=00000000000000000000000000000000
XMM04=00000000000000000000000000000000 XMM05=00000000000000000000000000000000
XMM06=00000000000000000000000000000000 XMM07=00000000000000000000000000000000
Aborted

Expected results:
At least,qemu-kvm process should not be aborted.
Additional info:

Comment 2 RHEL Program Management 2010-05-07 10:16:08 UTC
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux major release.  Product Management has requested further
review of this request by Red Hat Engineering, for potential inclusion in a Red
Hat Enterprise Linux Major release.  This request is not yet committed for
inclusion.

Comment 3 Gerd Hoffmann 2010-05-20 13:14:48 UTC
Patches submitted upstream
http://patchwork.ozlabs.org/patch/52969/
http://patchwork.ozlabs.org/patch/52968/

Comment 4 Gerd Hoffmann 2010-05-26 08:46:15 UTC
Alternative patch submitted upstream as pbrook seems to not like version 1 ...

http://patchwork.ozlabs.org/patch/53594/

Comment 7 Gerd Hoffmann 2011-04-28 12:01:06 UTC
Please verify the latest 6.1 qemu-kvm package, I believe the bug has been fixed.
Patches probably sneaked in with another bug number (windows-offers-piix-chipset-for-unplug issue).