Bug 1012270

Summary: resume S4 cause qemu-kvm core dump after hot-plug block device
Product: Red Hat Enterprise Linux 6 Reporter: zhonglinzhang <zhzhang>
Component: qemu-kvmAssignee: Virtualization Maintenance <virt-maint>
Status: CLOSED WONTFIX QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 6.5CC: acathrow, bsarathy, juzhang, michen, mkenneth, qzhang, 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-06-05 22:15:08 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: 912287    

Description zhonglinzhang 2013-09-26 07:19:57 UTC
Description of problem:
Boot a RHEL6.5 guest, then hotplug block device to guest. Do S4 inside guest, qemu-kvm core dump when resuming guest from S4(resume RHEL6.5 guest with new device command line, it include hotplug block device)

Version-Release number of selected component (if applicable):
host and guest kernel: 2.6.32-419.el6.x86_64
qemu-kvm: qemu-kvm-0.12.1.2-2.404.el6.x86_64

How reproducible:
100%

Steps to Reproduce:
1. Boot linux guest
/usr/libexec/qemu-kvm -M pc -cpu SandyBridge -enable-kvm -m 4G -smp 4,sockets=1,cores=4,threads=1 -name test \
-rtc base=localtime,clock=host,driftfix=slew  -k en-us  -boot menu=on \     -vnc :3 -vga cirrus   -usb -device usb-tablet \
-global PIIX4_PM.disable_s3=0 -global PIIX4_PM.disable_s4=0 -monitor stdio \            
-drive file=/home/RHEL6.5-64-IDE.raw,if=none,id=drive-system-disk,media=disk,format=raw,aio=native,werror=stop,rerror=stop -device virtio-blk-pci,drive=drive-system-disk,id=system-disk,addr=0x3 \
-netdev tap,id=hostnet0,vhost=on,script=/etc/qemu-ifup -device virtio-net-pci,netdev=hostnet0,id=virtio-net-pci0,mac=00:22:15:27:54:8d,bus=pci.0,addr=0x8 \
-qmp tcp:0:7777,server,nowait

2. Hot block device in monitor:
(qemu) __com.redhat_drive_add file=/home/adddisk.raw,format=raw,id=drive-s1-disk
(qemu) device_add virtio-blk-pci,drive=drive-s1-disk,id=s1-disk,addr=0x7

3. Do s4 in guest:

4. Resume s4:
/usr/libexec/qemu-kvm -M pc -cpu SandyBridge -enable-kvm -m 4G -smp 4,sockets=1,cores=4,threads=1 -name test \
.....................................
-drive file=/home/adddisk.raw,if=none,format=raw,id=drive-s1-disk  -device virtio-blk-pci,drive=drive-s1-disk,id=s1-disk,addr=0x7


Actual results:
Core dump;
(qemu) qemu: hardware error: register_ioport_write: invalid opaque
CPU #0:
RAX=0000000000000000 RBX=0000000000000000 RCX=0000000000000000 RDX=0000000000000000
RSI=0000000000000001 RDI=ffffffff81de5228 RBP=ffffffff81a01ea8 RSP=ffffffff81a01ea8
R8 =0000000000000000 R9 =0000000000000000 R10=0000001087ee0600 R11=0000000000000000
R12=ffffffff81c06600 R13=0000000000000000 R14=ffffffffffffffff R15=ffffffff81de1000
RIP=ffffffff8103eccb RFL=00000246 [---Z-P-] CPL=0 II=0 A20=1 SMM=0 HLT=1
ES =0018 0000000000000000 ffffffff 00c09300 DPL=0 DS   [-WA]
CS =0010 0000000000000000 ffffffff 00a09b00 DPL=0 CS64 [-RA]
SS =0018 0000000000000000 ffffffff 00c09300 DPL=0 DS   [-WA]
DS =0018 0000000000000000 ffffffff 00c09300 DPL=0 DS   [-WA]
FS =0000 0000000000000000 ffffffff 00000000
GS =0000 ffff880028200000 ffffffff 00000000
LDT=0000 0000000000000000 ffffffff 00000000
TR =0040 ffff8800282143c0 00002087 00008b00 DPL=0 TSS64-busy
GDT=     ffff880028204000 0000007f
IDT=     ffffffff81de1000 00000fff
CR0=8005003b CR2=00007f4d230bb996 CR3=000000011c13c000 CR4=000406f0
DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000 
DR6=00000000ffff0ff0 DR7=0000000000000400
FCW=037f FSW=0000 [ST=0] FTW=00 MXCSR=00001f80
FPR0=0000000000000033 ffff FPR1=000000000000000d ffff
FPR2=8000000000000000 ffff FPR3=001c000000000000 ffff
FPR4=0000000000000000 0000 FPR5=0000000000000000 0000
FPR6=f000000000000000 ffff FPR7=0000000000000003 ffff
XMM00=00000000000000000000000000000000 XMM01=00000000000000000000000000000000
XMM02=0000ff000000ff000000000000000000 XMM03=0000000000000000000000ff00000000
XMM04=20726f6620676e6974696177002f2a2f XMM05=00000000000000000000000000000000
XMM06=00000000000000000000000000000000 XMM07=00000000000000000000000000000000
XMM08=00000000000000000000000000000000 XMM09=00000000000000000000000000000000
XMM10=00000000000000000000000000000000 XMM11=00000000000000000000000000000000
XMM12=00000000000000000000000000000000 XMM13=00000000000000000000000000000000
XMM14=00000000000000000000000000000000 XMM15=00000000000000000000000000000000
CPU #1:
RAX=0000000000000000 RBX=0000000000000001 RCX=0000000000000000 RDX=0000000000000000
RSI=0000000000000001 RDI=ffffffff81de5228 RBP=ffff88011dc13ed8 RSP=ffff88011dc13ed8
R8 =0000000000000000 R9 =0000000000000000 R10=000000133a769302 R11=0000000000000000
R12=ffffffff81c06600 R13=0000000000000000 R14=0000000000000000 R15=0000000000000000
RIP=ffffffff8103eccb RFL=00000246 [---Z-P-] CPL=0 II=0 A20=1 SMM=0 HLT=1
ES =0018 0000000000000000 ffffffff 00c09300 DPL=0 DS   [-WA]
CS =0010 0000000000000000 ffffffff 00a09b00 DPL=0 CS64 [-RA]
SS =0018 0000000000000000 ffffffff 00c09300 DPL=0 DS   [-WA]
DS =0018 0000000000000000 ffffffff 00c09300 DPL=0 DS   [-WA]
FS =0000 0000000000000000 ffffffff 00000000
GS =0000 ffff880028280000 ffffffff 00000000
LDT=0000 0000000000000000 ffffffff 00000000
TR =0040 ffff8800282943c0 00002087 00008b00 DPL=0 TSS64-busy
GDT=     ffff880028284000 0000007f
IDT=     ffffffff81de1000 00000fff
CR0=8005003b CR2=000000000193845c CR3=0000000001a85000 CR4=000406e0
DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000 
DR6=00000000ffff0ff0 DR7=0000000000000400
FCW=037f FSW=0000 [ST=0] FTW=00 MXCSR=00001f80
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
XMM08=00000000000000000000000000000000 XMM09=00000000000000000000000000000000
XMM10=00000000000000000000000000000000 XMM11=00000000000000000000000000000000
XMM12=00000000000000000000000000000000 XMM13=00000000000000000000000000000000
XMM14=00000000000000000000000000000000 XMM15=00000000000000000000000000000000
CPU #2:
RAX=0000000000000000 RBX=0000000000000002 RCX=0000000000000000 RDX=0000000000000000
RSI=0000000000000001 RDI=ffffffff81de5228 RBP=ffff88011dc27ed8 RSP=ffff88011dc27ed8
R8 =0000000000000000 R9 =0000000000000000 R10=000000133d52b03d R11=0000000000000000
R12=ffffffff81c06600 R13=0000000000000000 R14=0000000000000000 R15=0000000000000000
RIP=ffffffff8103eccb RFL=00000246 [---Z-P-] CPL=0 II=0 A20=1 SMM=0 HLT=1
ES =0018 0000000000000000 ffffffff 00c09300 DPL=0 DS   [-WA]
CS =0010 0000000000000000 ffffffff 00a09b00 DPL=0 CS64 [-RA]
SS =0018 0000000000000000 ffffffff 00c09300 DPL=0 DS   [-WA]
DS =0018 0000000000000000 ffffffff 00c09300 DPL=0 DS   [-WA]
FS =0000 0000000000000000 ffffffff 00000000
GS =0000 ffff880028300000 ffffffff 00000000
LDT=0000 0000000000000000 ffffffff 00000000
TR =0040 ffff8800283143c0 00002087 00008b00 DPL=0 TSS64-busy
GDT=     ffff880028304000 0000007f
IDT=     ffffffff81de1000 00000fff
CR0=8005003b CR2=000000000193845c CR3=0000000001a85000 CR4=000406e0
DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000 
DR6=00000000ffff0ff0 DR7=0000000000000400
FCW=037f FSW=0000 [ST=0] FTW=00 MXCSR=00001f80
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
XMM08=00000000000000000000000000000000 XMM09=00000000000000000000000000000000
XMM10=00000000000000000000000000000000 XMM11=00000000000000000000000000000000
XMM12=00000000000000000000000000000000 XMM13=00000000000000000000000000000000
XMM14=00000000000000000000000000000000 XMM15=00000000000000000000000000000000
CPU #3:
RAX=000000000000c081 RBX=ffff88011ddd2400 RCX=0000000000000010 RDX=0000000000000cfc
RSI=0000000000000000 RDI=0000000000000097 RBP=ffff88011b5e1c78 RSP=ffff88011b5e1c48
R8 =0000000000000004 R9 =000000000000c081 R10=0000000000000040 R11=000000000000000c
R12=0000000000000246 R13=000000000000c081 R14=0000000000000010 R15=ffff88011b5e1d14
RIP=ffffffff81440a79 RFL=00000046 [---Z-P-] CPL=0 II=0 A20=1 SMM=0 HLT=0
ES =0000 0000000000000000 ffffffff 00000000
CS =0010 0000000000000000 ffffffff 00a09b00 DPL=0 CS64 [-RA]
SS =0018 0000000000000000 ffffffff 00c09300 DPL=0 DS   [-WA]
DS =0000 0000000000000000 ffffffff 00000000
FS =0000 00007f22fbf95700 ffffffff 00000000
GS =0000 ffff880028380000 ffffffff 00000000
LDT=0000 0000000000000000 ffffffff 00000000
TR =0040 ffff8800283943c0 00002087 00008b00 DPL=0 TSS64-busy
GDT=     ffff880028384000 0000007f
IDT=     ffffffff81de1000 00000fff
CR0=8005003b CR2=00007f344b88dd1b CR3=000000011c13c000 CR4=000406e0
DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000 
DR6=00000000ffff0ff0 DR7=0000000000000400
FCW=037f FSW=0000 [ST=0] FTW=00 MXCSR=00001f80
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
XMM08=00000000000000000000000000000000 XMM09=00000000000000000000000000000000
XMM10=00000000000000000000000000000000 XMM11=00000000000000000000000000000000
XMM12=00000000000000000000000000000000 XMM13=00000000000000000000000000000000
XMM14=00000000000000000000000000000000 XMM15=00000000000000000000000000000000

Program received signal SIGABRT, Aborted.
[Switching to Thread 0x7fffee0cc700 (LWP 15606)]
0x00007ffff4c9c925 in raise () from /lib64/libc.so.6
Missing separate debuginfos, use: debuginfo-install alsa-lib-1.0.22-3.el6.x86_64 celt051-0.5.1.3-0.el6.x86_64 cyrus-sasl-lib-2.1.23-13.el6_3.1.x86_64 cyrus-sasl-md5-2.1.23-13.el6_3.1.x86_64 cyrus-sasl-plain-2.1.23-13.el6_3.1.x86_64 db4-4.7.25-18.el6_4.x86_64 dbus-libs-1.2.24-7.el6_3.x86_64 flac-1.2.1-6.1.el6.x86_64 glib2-2.26.1-3.el6.x86_64 glibc-2.12-1.129.el6.x86_64 glusterfs-api-3.4.0.21rhs-1.el6.x86_64 glusterfs-libs-3.4.0.21rhs-1.el6.x86_64 gnutls-2.8.5-10.el6_4.2.x86_64 keyutils-libs-1.4-4.el6.x86_64 krb5-libs-1.10.3-10.el6_4.6.x86_64 libICE-1.0.6-1.el6.x86_64 libSM-1.2.1-2.el6.x86_64 libX11-1.5.0-4.el6.x86_64 libXau-1.0.6-4.el6.x86_64 libXext-1.3.1-2.el6.x86_64 libXi-1.6.1-3.el6.x86_64 libXtst-1.2.1-2.el6.x86_64 libaio-0.3.107-10.el6.x86_64 libasyncns-0.8-1.1.el6.x86_64 libcom_err-1.41.12-18.el6.x86_64 libgcrypt-1.4.5-9.el6_2.2.x86_64 libgpg-error-1.7-4.el6.x86_64 libjpeg-turbo-1.2.1-1.el6.x86_64 libogg-1.1.4-2.1.el6.x86_64 libselinux-2.0.94-5.3.el6_4.1.x86_64 libsndfile-1.0.20-5.el6.x86_64 libtasn1-2.3-3.el6_2.1.x86_64 libuuid-2.17.2-12.14.el6.x86_64 libvorbis-1.2.3-4.el6_2.1.x86_64 libxcb-1.8.1-1.el6.x86_64 nss-softokn-freebl-3.14.3-6.el6.x86_64 openssl-1.0.1e-11.el6.x86_64 pulseaudio-libs-0.9.21-14.el6_3.x86_64 spice-server-0.12.4-3.el6.x86_64 tcp_wrappers-libs-7.6-57.el6.x86_64 zlib-1.2.3-29.el6.x86_64
(gdb) 
(gdb) bt
#0  0x00007ffff4c9c925 in raise () from /lib64/libc.so.6
#1  0x00007ffff4c9e105 in abort () from /lib64/libc.so.6
#2  0x00007ffff7dc9712 in hw_error (fmt=<value optimized out>)
    at /usr/src/debug/qemu-kvm-0.12.1.2/vl.c:519
#3  0x00007ffff7e3f89d in register_ioport_write (start=<value optimized out>, 
    length=<value optimized out>, size=6, func=0xffffffffffffffff, opaque=0x7fffee0cc700)
    at /usr/src/debug/qemu-kvm-0.12.1.2/ioport.c:171
#4  0x00007ffff7de059a in virtio_map (pci_dev=0x7ffff8783110, region_num=<value optimized out>, 
    addr=49280, size=<value optimized out>, type=<value optimized out>)
    at /usr/src/debug/qemu-kvm-0.12.1.2/hw/virtio-pci.c:533
#5  0x00007ffff7dd67bb in pci_update_mappings (d=0x7ffff8783110)
    at /usr/src/debug/qemu-kvm-0.12.1.2/hw/pci.c:1067
#6  0x00007ffff7de0d32 in virtio_write_config (pci_dev=0x7ffff8783110, address=16, val=49281, len=4)
    at /usr/src/debug/qemu-kvm-0.12.1.2/hw/virtio-pci.c:559
#7  0x00007ffff7decfac in kvm_handle_io (env=0x7ffff8734db0)
    at /usr/src/debug/qemu-kvm-0.12.1.2/kvm-all.c:151
#8  kvm_run (env=0x7ffff8734db0) at /usr/src/debug/qemu-kvm-0.12.1.2/qemu-kvm.c:1049
#9  0x00007ffff7ded089 in kvm_cpu_exec (env=<value optimized out>)
    at /usr/src/debug/qemu-kvm-0.12.1.2/qemu-kvm.c:1744
#10 0x00007ffff7dedf6d in kvm_main_loop_cpu (_env=0x7ffff8734db0)
    at /usr/src/debug/qemu-kvm-0.12.1.2/qemu-kvm.c:2005
#11 ap_main_loop (_env=0x7ffff8734db0) at /usr/src/debug/qemu-kvm-0.12.1.2/qemu-kvm.c:2061
#12 0x00007ffff77009d1 in start_thread () from /lib64/libpthread.so.0
#13 0x00007ffff4d52a8d in clone () from /lib64/libc.so.6
(gdb) 
#0  0x00007ffff4c9c925 in raise () from /lib64/libc.so.6
#1  0x00007ffff4c9e105 in abort () from /lib64/libc.so.6
#2  0x00007ffff7dc9712 in hw_error (fmt=<value optimized out>)
    at /usr/src/debug/qemu-kvm-0.12.1.2/vl.c:519
#3  0x00007ffff7e3f89d in register_ioport_write (start=<value optimized out>, 
    length=<value optimized out>, size=6, func=0xffffffffffffffff, opaque=0x7fffee0cc700)
    at /usr/src/debug/qemu-kvm-0.12.1.2/ioport.c:171
#4  0x00007ffff7de059a in virtio_map (pci_dev=0x7ffff8783110, region_num=<value optimized out>, 
    addr=49280, size=<value optimized out>, type=<value optimized out>)
    at /usr/src/debug/qemu-kvm-0.12.1.2/hw/virtio-pci.c:533
#5  0x00007ffff7dd67bb in pci_update_mappings (d=0x7ffff8783110)
    at /usr/src/debug/qemu-kvm-0.12.1.2/hw/pci.c:1067
#6  0x00007ffff7de0d32 in virtio_write_config (pci_dev=0x7ffff8783110, address=16, val=49281, len=4)
    at /usr/src/debug/qemu-kvm-0.12.1.2/hw/virtio-pci.c:559
#7  0x00007ffff7decfac in kvm_handle_io (env=0x7ffff8734db0)
    at /usr/src/debug/qemu-kvm-0.12.1.2/kvm-all.c:151
#8  kvm_run (env=0x7ffff8734db0) at /usr/src/debug/qemu-kvm-0.12.1.2/qemu-kvm.c:1049
#9  0x00007ffff7ded089 in kvm_cpu_exec (env=<value optimized out>)
    at /usr/src/debug/qemu-kvm-0.12.1.2/qemu-kvm.c:1744
#10 0x00007ffff7dedf6d in kvm_main_loop_cpu (_env=0x7ffff8734db0)
    at /usr/src/debug/qemu-kvm-0.12.1.2/qemu-kvm.c:2005
#11 ap_main_loop (_env=0x7ffff8734db0) at /usr/src/debug/qemu-kvm-0.12.1.2/qemu-kvm.c:2061
#12 0x00007ffff77009d1 in start_thread () from /lib64/libpthread.so.0
#13 0x00007ffff4d52a8d in clone () from /lib64/libc.so.6
(gdb) 
#0  0x00007ffff4c9c925 in raise () from /lib64/libc.so.6
#1  0x00007ffff4c9e105 in abort () from /lib64/libc.so.6
#2  0x00007ffff7dc9712 in hw_error (fmt=<value optimized out>)
    at /usr/src/debug/qemu-kvm-0.12.1.2/vl.c:519
#3  0x00007ffff7e3f89d in register_ioport_write (start=<value optimized out>, 
    length=<value optimized out>, size=6, func=0xffffffffffffffff, opaque=0x7fffee0cc700)
    at /usr/src/debug/qemu-kvm-0.12.1.2/ioport.c:171
#4  0x00007ffff7de059a in virtio_map (pci_dev=0x7ffff8783110, region_num=<value optimized out>, 
    addr=49280, size=<value optimized out>, type=<value optimized out>)
    at /usr/src/debug/qemu-kvm-0.12.1.2/hw/virtio-pci.c:533
#5  0x00007ffff7dd67bb in pci_update_mappings (d=0x7ffff8783110)
    at /usr/src/debug/qemu-kvm-0.12.1.2/hw/pci.c:1067
#6  0x00007ffff7de0d32 in virtio_write_config (pci_dev=0x7ffff8783110, address=16, val=49281, len=4)
    at /usr/src/debug/qemu-kvm-0.12.1.2/hw/virtio-pci.c:559
#7  0x00007ffff7decfac in kvm_handle_io (env=0x7ffff8734db0)
    at /usr/src/debug/qemu-kvm-0.12.1.2/kvm-all.c:151
#8  kvm_run (env=0x7ffff8734db0) at /usr/src/debug/qemu-kvm-0.12.1.2/qemu-kvm.c:1049
#9  0x00007ffff7ded089 in kvm_cpu_exec (env=<value optimized out>)
    at /usr/src/debug/qemu-kvm-0.12.1.2/qemu-kvm.c:1744
#10 0x00007ffff7dedf6d in kvm_main_loop_cpu (_env=0x7ffff8734db0)
    at /usr/src/debug/qemu-kvm-0.12.1.2/qemu-kvm.c:2005
#11 ap_main_loop (_env=0x7ffff8734db0) at /usr/src/debug/qemu-kvm-0.12.1.2/qemu-kvm.c:2061
#12 0x00007ffff77009d1 in start_thread () from /lib64/libpthread.so.0
#13 0x00007ffff4d52a8d in clone () from /lib64/libc.so.6
(gdb) q
A debugging session is active.

	Inferior 1 [process 15589] will be killed.

Expected results:
Guest should work well after s4.

Additional info:
RHEL6.5 host: win8 guest can not resume from s4 with new adding device command line.
RHEL6.4 host qemu-kvm core dump.

Comment 2 zhonglinzhang 2013-09-27 05:25:24 UTC
resume S4 cause qemu-kvm core dump after hot-plug network:
win8 guest

Steps to Reproduce:
1. Boot a win8 guest
/usr/libexec/qemu-kvm -M pc -cpu SandyBridge -enable-kvm -m 4G -smp 4,sockets=1,cores=4,threads=1 -name test \
-rtc base=localtime,clock=host,driftfix=slew  -k en-us  -boot menu=on \  
-vnc :3 -vga cirrus   -usb -device usb-tablet     
-global PIIX4_PM.disable_s3=0 -global PIIX4_PM.disable_s4=0 -monitor stdio \
-drive file=/home/win8-32.raw,if=none,id=drive-system-disk,media=disk,format=raw,aio=native,werror=stop,rerror=stop \
-device virtio-blk-pci,drive=drive-system-disk,id=system-disk,addr=0x5

2. Hotplug rtl8139 
(qemu) netdev_add tap,id=virtio2,script=/etc/qemu-ifup
(qemu) device_add driver=rtl8139,netdev=virtio2,mac=00:22:15:27:54:8d,id=test2,addr=0xa

3. Do s4

4. Resume from s4
/usr/libexec/qemu-kvm ... \
-netdev tap,id=virtio2,script=/etc/qemu-ifup -device rtl8139,netdev=virtio2,id=test2,mac=00:22:15:27:54:8d,addr=0xa

Actual Results:
qemu-kvm core dump
(qemu) qemu-kvm: virtio_pci_set_host_notifier_internal: unable to unmap ioeventfd: -2
qemu-kvm: /builddir/build/BUILD/qemu-kvm-0.12.1.2/hw/virtio-pci.c:310: virtio_pci_stop_ioeventfd: Assertion `r >= 0' failed.

Program received signal SIGABRT, Aborted.
[Switching to Thread 0x7fffef4ce700 (LWP 6193)]
0x00007ffff4c9c925 in raise () from /lib64/libc.so.6
(gdb) 
(gdb) 
(gdb) bt
#0  0x00007ffff4c9c925 in raise () from /lib64/libc.so.6
#1  0x00007ffff4c9e105 in abort () from /lib64/libc.so.6
#2  0x00007ffff4c95a4e in __assert_fail_base () from /lib64/libc.so.6
#3  0x00007ffff4c95b10 in __assert_fail () from /lib64/libc.so.6
#4  0x00007ffff7ddfe15 in virtio_pci_stop_ioeventfd (proxy=0x7ffff877b2b0)
    at /usr/src/debug/qemu-kvm-0.12.1.2/hw/virtio-pci.c:310
#5  0x00007ffff7de0b65 in virtio_ioport_write (opaque=0x7ffff877b2b0, addr=<value optimized out>, 
    val=0) at /usr/src/debug/qemu-kvm-0.12.1.2/hw/virtio-pci.c:364
#6  0x00007ffff7dece4f in kvm_handle_io (env=0x7ffff86fc230)
    at /usr/src/debug/qemu-kvm-0.12.1.2/kvm-all.c:145
#7  kvm_run (env=0x7ffff86fc230) at /usr/src/debug/qemu-kvm-0.12.1.2/qemu-kvm.c:1049
#8  0x00007ffff7ded089 in kvm_cpu_exec (env=<value optimized out>)
    at /usr/src/debug/qemu-kvm-0.12.1.2/qemu-kvm.c:1744
#9  0x00007ffff7dedf6d in kvm_main_loop_cpu (_env=0x7ffff86fc230)
    at /usr/src/debug/qemu-kvm-0.12.1.2/qemu-kvm.c:2005
#10 ap_main_loop (_env=0x7ffff86fc230) at /usr/src/debug/qemu-kvm-0.12.1.2/qemu-kvm.c:2061
#11 0x00007ffff77009d1 in start_thread () from /lib64/libpthread.so.0
#12 0x00007ffff4d52a8d in clone () from /lib64/libc.so.6
(gdb)

Additional info:
qemu-kvm can not core dump for RHEL6.5 guest(First: hotplug network. Second: s4, Third: resume from s4)

Comment 5 Ademar Reis 2014-06-05 22:15:08 UTC
S3/S4 support is tech-preview in RHEL6 and it'll be promoted to fully supported
at some point, but only in RHEL7.

Therefore we're closing all S3/S4 related bugs in RHEL6. New bugs will be
considered only if they're regressions or break some important use-case or
certification.

RHEL7 is being more extensively tested and effort from QE is underway in
certifying that this particular bug is not present there.

Please reopen with a justification if you believe this bug should not be
closed. We'll consider them on a case-by-case basis following a best effort
approach.


Thank you.