RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 625948 - qemu exits when hot adding rtl8139 nic to win2k8 guest
Summary: qemu exits when hot adding rtl8139 nic to win2k8 guest
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: qemu-kvm
Version: 6.0
Hardware: All
OS: Linux
low
medium
Target Milestone: rc
: ---
Assignee: Alex Williamson
QA Contact: Virtualization Bugs
URL:
Whiteboard:
Depends On:
Blocks: 580954
TreeView+ depends on / blocked
 
Reported: 2010-08-20 21:47 UTC by Alex Williamson
Modified: 2013-01-09 23:03 UTC (History)
11 users (show)

Fixed In Version: qemu-kvm-0.12.1.2-2.114.el6
Doc Type: Bug Fix
Doc Text:
Adding an rtl8139 NIC to an active Windows 2008 guest may result in the qemu-kvm process exiting. To work around this issue, shutdown the guest before adding additional rtl8139 NICs. Alternatively, install the virtio-net drivers and add a virtio NIC.
Clone Of:
Environment:
Last Closed: 2011-05-19 11:30:45 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2011:0534 0 normal SHIPPED_LIVE Important: qemu-kvm security, bug fix, and enhancement update 2011-05-19 11:20:36 UTC

Description Alex Williamson 2010-08-20 21:47:16 UTC
Description of problem:
Using virt-manager to exercise hotplug with a win2k8 64bit guest, I can often hit an error when adding an rtl8139 where qemu exits.  The problem occurs when the guest assigns I/O port addresses to the device that overlap a range registered inside qemu for deprecated vga vbe handlers.

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

How reproducible:
easy

Steps to Reproduce:
1. create a win2k8 guest
2. hot add an rtl8139
3.
  
Actual results:
guest dies

Expected results:
guest continues running and nic works

Additional info:

Comment 2 Alex Williamson 2010-08-20 22:06:27 UTC
Upstream patch - http://lists.nongnu.org/archive/html/qemu-devel/2010-08/msg01074.html

Comment 6 Alex Williamson 2010-08-30 18:08:47 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
Adding an rtl8139 NIC to a running Windows 2008 guest may result in the qemu-kvm process exiting.  To avoid this issue, shutdown and add additional rtl8139 NICs only while the guest is not running, or install virtio-net drivers and add a virtio NIC instead of an rtl8139 NIC.

Comment 7 YangFeng 2010-09-08 08:12:22 UTC
Reproduce this bug on Windows 7 64. 
Guest core dump.

(gdb) bt
#0  0x0000003f1d8329c5 in raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1  0x0000003f1d8341a5 in abort () at abort.c:94
#2  0x000000000040d308 in hw_error (fmt=<value optimized out>) at /usr/src/debug/qemu-kvm-0.12.1.2/vl.c:356
#3  0x00000000004a161b in register_ioport_write (start=<value optimized out>, length=<value optimized out>, size=6, func=0xffffffffffffffff, opaque=0x7f2bc28d6710) at ioport.c:170
#4  0x0000000000434b75 in rtl8139_ioport_map (pci_dev=0x417b010, region_num=<value optimized out>, addr=65280, size=<value optimized out>, type=<value optimized out>) at /usr/src/debug/qemu-kvm-0.12.1.2/hw/rtl8139.c:3207
#5  0x00000000004189bb in pci_update_mappings (d=0x417b010) at /usr/src/debug/qemu-kvm-0.12.1.2/hw/pci.c:1006
#6  0x000000000042a969 in kvm_handle_io (env=0x1d2c810) at /usr/src/debug/qemu-kvm-0.12.1.2/kvm-all.c:538
#7  kvm_run (env=0x1d2c810) at /usr/src/debug/qemu-kvm-0.12.1.2/qemu-kvm.c:975
#8  0x000000000042aa09 in kvm_cpu_exec (env=<value optimized out>) at /usr/src/debug/qemu-kvm-0.12.1.2/qemu-kvm.c:1658
#9  0x000000000042b62f in kvm_main_loop_cpu (_env=0x1d2c810) at /usr/src/debug/qemu-kvm-0.12.1.2/qemu-kvm.c:1900
#10 ap_main_loop (_env=0x1d2c810) at /usr/src/debug/qemu-kvm-0.12.1.2/qemu-kvm.c:1950
#11 0x0000003f1dc077e1 in start_thread (arg=0x7f2bc28d6710) at pthread_create.c:301
#12 0x0000003f1d8e153d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
(gdb)

Some message got from qemu-kvm
(qemu) create_cairo_context: using cairo canvas
 (qemu) qemu: hardware error: register_ioport_write: invalid opaque
 (qemu) CPU #0:
 (qemu) RAX=0000000000000407 RBX=0000000000000002 RCX=fffff88003132460 RDX=0000000000000cfc
 (qemu) RSI=fffff88003132620 RDI=0000000000000004 RBP=fffff88003132460 RSP=fffff880031323a8
 (qemu) R8 =0000000000000000 R9 =fffff88003132620 R10=0000000000000000 R11=0000000000000006
 (qemu) R12=fffff80002642890 R13=fffff88000d7c200 R14=fffff800026481d0 R15=0000000000000001
 (qemu) RIP=fffff8000262b4bb RFL=00000206 [-----P-] CPL=0 II=0 A20=1 SMM=0 HLT=0
 (qemu) ES =002b 0000000000000000 ffffffff 00c0f300 DPL=3 DS   [-WA]
 (qemu) CS =0010 0000000000000000 00000000 00209b00 DPL=0 CS64 [-RA]
 (qemu) SS =0018 0000000000000000 ffffffff 00c09300 DPL=0 DS   [-WA]
 (qemu) DS =002b 0000000000000000 ffffffff 00c0f300 DPL=3 DS   [-WA]
 (qemu) FS =0053 00000000fffdc000 00003c00 0040f300 DPL=3 DS   [-WA]
 (qemu) GS =002b fffff80002851d00 ffffffff 00c0f300 DPL=3 DS   [-WA]
 (qemu) LDT=0000 0000000000000000 ffffffff 00000000
 (qemu) TR =0040 fffff80000b96080 00000067 00008b00 DPL=0 TSS64-busy
 (qemu) GDT=     fffff80000b95000 0000007f
 (qemu) IDT=     fffff80000b95080 00000fff
 (qemu) CR0=80050031 CR2=0000000077765360 CR3=0000000000187000 CR4=000006f8
 (qemu) DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000
 (qemu) DR6=00000000ffff0ff0 DR7=0000000000000400
 (qemu) FCW=027f FSW=3800 [ST=7] FTW=80 MXCSR=00000000
 (qemu) FPR0=9fc0000000000000 4008 FPR1=0000000000000000 0000
 (qemu) FPR2=0000000000000000 0000 FPR3=0000000000000000 0000
 (qemu) FPR4=0000000000000000 0000 FPR5=0000000000000000 0000
 (qemu) FPR6=0000000000000000 0000 FPR7=0000000000000000 0000
 (qemu) XMM00=fffff800029e0210fffff8a0000a0008 XMM01=400000000000802000d80104100000d8
 (qemu) XMM02=000000000000000000000000002cf2a0 XMM03=000000000000000000000000002cf2c0
 (qemu) XMM04=00000000000000000000000000000000 XMM05=00000000000000000000000000000000
 (qemu) XMM06=00000000000000000000000000000000 XMM07=00000000000000000000000000000000
 (qemu) XMM08=00000000000000000000000000000000 XMM09=00000000000000000000000000000000
 (qemu) XMM10=00000000000000000000000000000000 XMM11=00000000000000000000000000000000
 (qemu) XMM12=00000000000000000000000000000000 XMM13=00000000000000000000000000000000
 (qemu) XMM14=00000000000000000000000000000000 XMM15=00000000000000000000000000000000
 (qemu) CPU #1:
 (qemu) RAX=000000000002bb21 RBX=0000000000000000 RCX=fffffa800797a890 RDX=fffffa8007af28b8
 (qemu) RSI=fffff880009e6180 RDI=0000000000000001 RBP=0000000000000000 RSP=fffff88002e5bc98
 (qemu) R8 =0000000000000000 R9 =00000000031ab2d4 R10=000000000000136e R11=fffffa80066ccd30
 (qemu) R12=fffffa8007af2890 R13=fffffa8007af2500 R14=fffffa8007af2800 R15=0000000000000000
 (qemu) RIP=fffff88003e7f9c2 RFL=00000246 [---Z-P-] CPL=0 II=0 A20=1 SMM=0 HLT=1
 (qemu) ES =002b 0000000000000000 ffffffff 00c0f300 DPL=3 DS   [-WA]
 (qemu) CS =0010 0000000000000000 ffffffff 00a09b00 DPL=0 CS64 [-RA]
 (qemu) SS =0018 0000000000000000 ffffffff 00c09300 DPL=0 DS   [-WA]
 (qemu) DS =002b 0000000000000000 ffffffff 00c0f300 DPL=3 DS   [-WA]
 (qemu) FS =0053 00000000fffd8000 00007c00 0040f300 DPL=3 DS   [-WA]
 (qemu) GS =002b fffff880009e6000 ffffffff 00c0f300 DPL=3 DS   [-WA]
 (qemu) LDT=0000 0000000000000000 ffffffff 00000000
 (qemu) TR =0040 fffff880009eaec0 00000067 00008b00 DPL=0 TSS64-busy
 (qemu) GDT=     fffff880009f14c0 0000007f
 (qemu) IDT=     fffff880009f1540 00000fff
 (qemu) CR0=80050031 CR2=000007fef777f268 CR3=0000000000187000 CR4=000006f8
 (qemu) DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000
 (qemu) DR6=00000000ffff0ff0 DR7=0000000000000400
 (qemu) FCW=027f FSW=3800 [ST=7] FTW=80 MXCSR=00000000
 (qemu) FPR0=9fc0000000000000 4008 FPR1=0000000000000000 0000
 (qemu) FPR2=0000000000000000 0000 FPR3=0000000000000000 0000
 (qemu) FPR4=0000000000000000 0000 FPR5=0000000000000000 0000
 (qemu) FPR6=0000000000000000 0000 FPR7=0000000000000000 0000
 (qemu) XMM00=00000000000000000000000000000000 XMM01=00000000000000000000000000000000
 (qemu) XMM02=00000000000000000000000000000000 XMM03=00000000000000000000000000000000
 (qemu) XMM04=00000000000000000000000000000000 XMM05=00000000000000000000000000000000
 (qemu) XMM06=00000000000000000000000000000000 XMM07=00000000000000000000000000000000
 (qemu) XMM08=00000000000000000000000000000000 XMM09=00000000000000000000000000000000
 (qemu) XMM10=00000000000000000000000000000000 XMM11=00000000000000000000000000000000
 (qemu) XMM12=00000000000000000000000000000000 XMM13=00000000000000000000000000000000
 (qemu) XMM14=00000000000000000000000000000000 XMM15=00000000000000000000000000000000
 (qemu) CPU #2:
 (qemu) EAX=00000000 EBX=00000000 ECX=00000203 EDX=00000000
 (qemu) ESI=000085b4 EDI=00000000 EBP=00000000 ESP=00000000
 (qemu) EIP=0000f0a2 EFL=00010002 [-------] CPL=3 II=0 A20=1 SMM=0 HLT=1
 (qemu) ES =0000 00000000 0000ffff 0000f300
 (qemu) CS =f000 000f0000 0000ffff 0000f300
 (qemu) SS =0000 00000000 0000ffff 0000f300
 (qemu) DS =f000 000f0000 0000ffff 0000f300
 (qemu) FS =0000 00000000 0000ffff 0000f300
 (qemu) GS =0000 00000000 0000ffff 0000f300
 (qemu) LDT=0000 00000000 0000ffff 00008200
 (qemu) TR =0000 feffd000 00002088 00008b00
 (qemu) GDT=     00000000 0000ffff
 (qemu) IDT=     00000000 0000ffff
 (qemu) CR0=60000010 CR2=00000000 CR3=00000000 CR4=00000000
 (qemu) DR0=00000000 DR1=00000000 DR2=00000000 DR3=00000000
 (qemu) DR6=ffff0ff0 DR7=00000400
 (qemu) FCW=037f FSW=0000 [ST=0] FTW=00 MXCSR=00000000
 (qemu) FPR0=0000000000000000 0000 FPR1=0000000000000000 0000
 (qemu) FPR2=0000000000000000 0000 FPR3=0000000000000000 0000
 (qemu) FPR4=0000000000000000 0000 FPR5=0000000000000000 0000
 (qemu) FPR6=0000000000000000 0000 FPR7=0000000000000000 0000
 (qemu) XMM00=00000000000000000000000000000000 XMM01=00000000000000000000000000000000
 (qemu) XMM02=00000000000000000000000000000000 XMM03=00000000000000000000000000000000
 (qemu) XMM04=00000000000000000000000000000000 XMM05=00000000000000000000000000000000
 (qemu) XMM06=00000000000000000000000000000000 XMM07=00000000000000000000000000000000
 (qemu) CPU #3:
 (qemu) EAX=00000000 EBX=00000000 ECX=00000203 EDX=00000000
 (qemu) ESI=000085b4 EDI=00000000 EBP=00000000 ESP=00000000
 (qemu) EIP=0000f0a2 EFL=00010006 [-----P-] CPL=3 II=0 A20=1 SMM=0 HLT=1
 (qemu) ES =0000 00000000 0000ffff 0000f300
 (qemu) CS =f000 000f0000 0000ffff 0000f300
 (qemu) SS =0000 00000000 0000ffff 0000f300
 (qemu) DS =f000 000f0000 0000ffff 0000f300
 (qemu) FS =0000 00000000 0000ffff 0000f300
 (qemu) GS =0000 00000000 0000ffff 0000f300
 (qemu) LDT=0000 00000000 0000ffff 00008200
 (qemu) TR =0000 feffd000 00002088 00008b00
 (qemu) GDT=     00000000 0000ffff
 (qemu) IDT=     00000000 0000ffff
 (qemu) CR0=60000010 CR2=00000000 CR3=00000000 CR4=00000000
 (qemu) DR0=00000000 DR1=00000000 DR2=00000000 DR3=00000000
 (qemu) DR6=ffff0ff0 DR7=00000400
 (qemu) FCW=037f FSW=0000 [ST=0] FTW=00 MXCSR=00000000
 (qemu) FPR0=0000000000000000 0000 FPR1=0000000000000000 0000
 (qemu) FPR2=0000000000000000 0000 FPR3=0000000000000000 0000
 (qemu) FPR4=0000000000000000 0000 FPR5=0000000000000000 0000
 (qemu) FPR6=0000000000000000 0000 FPR7=0000000000000000 0000
 (qemu) XMM00=00000000000000000000000000000000 XMM01=00000000000000000000000000000000
 (qemu) XMM02=00000000000000000000000000000000 XMM03=00000000000000000000000000000000
 (qemu) XMM04=00000000000000000000000000000000 XMM05=00000000000000000000000000000000
 (qemu) XMM06=00000000000000000000000000000000 XMM07=00000000000000000000000000000000

Comment 8 Shirley Zhou 2010-09-15 08:14:20 UTC
same issue happens when hot add rtl8139 nic to windows xp guest.

Comment 9 Alex Williamson 2010-09-22 15:52:54 UTC
Brew build with fix:

https://brewweb.devel.redhat.com/taskinfo?taskID=2775863

Comment 11 Ryan Lerch 2010-09-29 04:12:37 UTC
    Technical note updated. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    Diffed Contents:
@@ -1 +1 @@
-Adding an rtl8139 NIC to a running Windows 2008 guest may result in the qemu-kvm process exiting.  To avoid this issue, shutdown and add additional rtl8139 NICs only while the guest is not running, or install virtio-net drivers and add a virtio NIC instead of an rtl8139 NIC.+Adding an rtl8139 NIC to an active Windows 2008 guest may result in the qemu-kvm process exiting.  To word around this issue, shutdown the guest before addind additional rtl8139 NICs. Alternatively, install the virtio-net drivers and add a virtio NIC.

Comment 15 Eric Blake 2010-10-25 20:32:41 UTC
    Technical note updated. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    Diffed Contents:
@@ -1 +1 @@
-Adding an rtl8139 NIC to an active Windows 2008 guest may result in the qemu-kvm process exiting.  To word around this issue, shutdown the guest before addind additional rtl8139 NICs. Alternatively, install the virtio-net drivers and add a virtio NIC.+Adding an rtl8139 NIC to an active Windows 2008 guest may result in the qemu-kvm process exiting.  To work around this issue, shutdown the guest before adding additional rtl8139 NICs. Alternatively, install the virtio-net drivers and add a virtio NIC.

Comment 16 Alex Williamson 2010-11-10 13:32:25 UTC
*** Bug 651715 has been marked as a duplicate of this bug. ***

Comment 20 errata-xmlrpc 2011-05-19 11:30:45 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHSA-2011-0534.html

Comment 21 errata-xmlrpc 2011-05-19 12:47:51 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHSA-2011-0534.html


Note You need to log in before you can comment on or make changes to this bug.