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 1173034 - virtio-net Win8.1 i386 lost connection under netperf stress
Summary: virtio-net Win8.1 i386 lost connection under netperf stress
Keywords:
Status: CLOSED DUPLICATE of bug 1173323
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: virtio-win
Version: 7.1
Hardware: x86_64
OS: Windows
medium
medium
Target Milestone: rc
: ---
Assignee: Yvugenfi@redhat.com
QA Contact: Virtualization Bugs
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-12-11 10:41 UTC by Xiaoqing Wei
Modified: 2014-12-14 12:49 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-12-14 12:49:38 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Xiaoqing Wei 2014-12-11 10:41:02 UTC
Description of problem:

virtio-net Win8.1 i386 lost connection under netperf stress.


Version-Release number of selected component (if applicable):
qemu-kvm-rhev-2.1.2-16.el7.x86_64
virtio-net version string from devmgmt.msc :
62.71.104.9600 (should be from virtio-win-prewhql-96)
kernel-3.10.0-215.el7.x86_64

How reproducible:
only once,

Steps to Reproduce:
1.install a base img with 8.1 32 bit ISO, and drivers, etc.
then shut it down, and create new qcow2 imgs backing on it.
namely vm1.qcow2, vm2.qcow2
2. 

boot vm1.qcow2 and start netserver.exe -> to be stressed, and lost connection later. get ip addr by 'ipconfig'

boot vm2.qcow2 and echo "netperf -H $ip-of-vm1" > cmd.bat,
and execute this cmd.bat in 10 cmd terminals, parallel.
when netperf exits, re-launch it, till vm1 lost network.


# ps aux | grep -i qemu
qemu      6894 19.1 39.3 6839272 2762580 ?     Sl   17:58   5:20 /usr/libexec/qemu-kvm -name win8.1 -S -machine pc-i440fx-rhel7.1.0,accel=kvm,usb=off -cpu Opteron_G5,hv_time,hv_relaxed,hv_vapic,hv_spinlocks=0x1fff -m 4096 -realtime mlock=off -smp 4,sockets=4,cores=1,threads=1 -uuid 2474645f-07f8-44f1-aa67-32362f37b94e -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/win8.1.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=localtime,driftfix=slew -global kvm-pit.lost_tick_policy=discard -no-hpet -no-shutdown -global PIIX4_PM.disable_s3=1 -global PIIX4_PM.disable_s4=1 -boot strict=on -device ich9-usb-ehci1,id=usb,bus=pci.0,addr=0x5.0x7 -device ich9-usb-uhci1,masterbus=usb.0,firstport=0,bus=pci.0,multifunction=on,addr=0x5 -device ich9-usb-uhci2,masterbus=usb.0,firstport=2,bus=pci.0,addr=0x5.0x1 -device ich9-usb-uhci3,masterbus=usb.0,firstport=4,bus=pci.0,addr=0x5.0x2 -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x6 -drive file=/home/kvm_autotest_root/iso/windows/winutils.iso,if=none,id=drive-ide0-0-0,readonly=on,format=raw -device ide-cd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 -drive file=/home/vm1.qcow2,if=none,id=drive-virtio-disk0,format=qcow2,cache=none -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x8,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 -netdev tap,fd=23,id=hostnet0,vhost=on,vhostfd=24 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:5a:1e:53,bus=pci.0,addr=0x3 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -chardev spicevmc,id=charchannel0,name=vdagent -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=com.redhat.spice.0 -device usb-tablet,id=input0 -spice port=5900,addr=0.0.0.0,disable-ticketing,seamless-migration=on -device qxl-vga,id=video0,ram_size=67108864,vram_size=67108864,vgamem_mb=8,bus=pci.0,addr=0x2 -device intel-hda,id=sound0,bus=pci.0,addr=0x4 -device hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0 -chardev spicevmc,id=charredir0,name=usbredir -device usb-redir,chardev=charredir0,id=redir0 -chardev spicevmc,id=charredir1,name=usbredir -device usb-redir,chardev=charredir1,id=redir1 -chardev spicevmc,id=charredir2,name=usbredir -device usb-redir,chardev=charredir2,id=redir2 -chardev spicevmc,id=charredir3,name=usbredir -device usb-redir,chardev=charredir3,id=redir3 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x7 -msg timestamp=on
qemu      6994 15.1 44.9 6838200 3150896 ?     Sl   17:59   4:10 /usr/libexec/qemu-kvm -name win8.1-client -S -machine pc-i440fx-rhel7.1.0,accel=kvm,usb=off -cpu Opteron_G5,hv_time,hv_relaxed,hv_vapic,hv_spinlocks=0x1fff -m 4096 -realtime mlock=off -smp 4,sockets=4,cores=1,threads=1 -uuid 476cc49b-0da3-4414-9b84-3d3b5b37eeaf -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/win8.1-client.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=localtime,driftfix=slew -global kvm-pit.lost_tick_policy=discard -no-hpet -no-shutdown -global PIIX4_PM.disable_s3=1 -global PIIX4_PM.disable_s4=1 -boot strict=on -device ich9-usb-ehci1,id=usb,bus=pci.0,addr=0x5.0x7 -device ich9-usb-uhci1,masterbus=usb.0,firstport=0,bus=pci.0,multifunction=on,addr=0x5 -device ich9-usb-uhci2,masterbus=usb.0,firstport=2,bus=pci.0,addr=0x5.0x1 -device ich9-usb-uhci3,masterbus=usb.0,firstport=4,bus=pci.0,addr=0x5.0x2 -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x6 -drive file=/home/kvm_autotest_root/iso/windows/winutils.iso,if=none,id=drive-ide0-0-0,readonly=on,format=raw -device ide-cd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 -drive file=/home/vm2.qcow2,if=none,id=drive-virtio-disk0,format=qcow2,cache=none -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x8,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 -netdev tap,fd=23,id=hostnet0,vhost=on,vhostfd=25 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:f5:37:80,bus=pci.0,addr=0x3 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -chardev spicevmc,id=charchannel0,name=vdagent -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=com.redhat.spice.0 -device usb-tablet,id=input0 -spice port=5901,addr=0.0.0.0,disable-ticketing,seamless-migration=on -device qxl-vga,id=video0,ram_size=67108864,vram_size=67108864,vgamem_mb=8,bus=pci.0,addr=0x2 -device intel-hda,id=sound0,bus=pci.0,addr=0x4 -device hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0 -chardev spicevmc,id=charredir0,name=usbredir -device usb-redir,chardev=charredir0,id=redir0 -chardev spicevmc,id=charredir1,name=usbredir -device usb-redir,chardev=charredir1,id=redir1 -chardev spicevmc,id=charredir2,name=usbredir -device usb-redir,chardev=charredir2,id=redir2 -chardev spicevmc,id=charredir3,name=usbredir -device usb-redir,chardev=charredir3,id=redir3 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x7 -msg timestamp=on
root      7834  0.0  0.0 112644   972 pts/1    S+   18:26   0:00 grep --color=auto -i qemu


3. when vm1 network lost, stop netperf in vm2

Actual results:
vm1 lost network.
1) could not either ping ip addr of vm1 from host, or vm2
2) could not either ping ip addr of host or vm2 from vm1(in cmd terminal of vm1)
3) and after vm2 stopping netperf for about 5min, vm1 has network access again.

Expected results:
both vm1 and vm2 and host network working.

Additional info:
switch: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.66.9.186  netmask 255.255.252.0  broadcast 10.66.11.255
        inet6 fe80::215:17ff:feae:f0ba  prefixlen 64  scopeid 0x20<link>
        ether 00:15:17:ae:f0:ba  txqueuelen 0  (Ethernet)
        RX packets 21652462  bytes 1696281161 (1.5 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 50117116  bytes 154872047877 (144.2 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

vnet0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::fc54:ff:fe5a:1e53  prefixlen 64  scopeid 0x20<link>
        ether fe:54:00:5a:1e:53  txqueuelen 500  (Ethernet)
        RX packets 574097  bytes 31214609 (29.7 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 14548610  bytes 21968306392 (20.4 GiB)
        TX errors 0  dropped 1742 overruns 0  carrier 0  collisions 0

vnet1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::fc54:ff:fef5:3780  prefixlen 64  scopeid 0x20<link>
        ether fe:54:00:f5:37:80  txqueuelen 500  (Ethernet)
        RX packets 535402  bytes 21212922625 (19.7 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 602870  bytes 33986040 (32.4 MiB)
        TX errors 0  dropped 214 overruns 0  carrier 0  collisions 0

--------------------------
# ovs-vsctl list-ports switch
enp1s0f0
vnet0
vnet1


==========================
# ethtool -i switch
driver: openvswitch
version: 
firmware-version: 
bus-info: 
supports-statistics: no
supports-test: no
supports-eeprom-access: no
supports-register-dump: no
supports-priv-flags: no

Comment 2 Xiaoqing Wei 2014-12-12 02:54:28 UTC
(In reply to Xiaoqing Wei from comment #0)

> 2) could not either ping ip addr of host or vm2 from vm1(in cmd terminal of
> vm1)

PS: ping addr of vm1 itself is fine, during that period.

though there's not sign of problem of openvswitch or libvirt, I paste versions of tools I touched in this test:

libvirt-daemon-kvm-1.2.8-9.el7.x86_64
libvirt-client-1.2.8-9.el7.x86_64
openvswitch-2.3.0-3.git20141107.el7.x86_64

# ovs-vsctl show
b999e572-5626-4227-a784-bfe78b71b0a2
    Bridge switch
        Port "vnet1"
            Interface "vnet1"
        Port "vnet0"
            Interface "vnet0"
        Port switch
            Interface switch
                type: internal
        Port "enp1s0f0"
            Interface "enp1s0f0"
    ovs_version: "2.3.0-git39ebb203"



and paste the VM definitions here:

#cat win8.1.xml 
<domain type='kvm' id='11'>
  <name>win8.1</name>
  <uuid>2474645f-07f8-44f1-aa67-32362f37b94e</uuid>
  <memory unit='KiB'>4194304</memory>
  <currentMemory unit='KiB'>4194304</currentMemory>
  <vcpu placement='static'>4</vcpu>
  <resource>
    <partition>/machine</partition>
  </resource>
  <os>
    <type arch='x86_64' machine='pc-i440fx-rhel7.1.0'>hvm</type>
    <boot dev='hd'/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <pae/>
    <hyperv>
      <relaxed state='on'/>
      <vapic state='on'/>
      <spinlocks state='on' retries='8191'/>
    </hyperv>
  </features>
  <cpu mode='custom' match='exact'>
    <model fallback='allow'>Opteron_G5</model>
  </cpu>
  <clock offset='localtime'>
    <timer name='rtc' tickpolicy='catchup'/>
    <timer name='pit' tickpolicy='delay'/>
    <timer name='hpet' present='no'/>
    <timer name='hypervclock' present='yes'/>
  </clock>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <pm>
    <suspend-to-mem enabled='no'/>
    <suspend-to-disk enabled='no'/>
  </pm>
  <devices>
    <emulator>/usr/libexec/qemu-kvm</emulator>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source file='/home/kvm_autotest_root/iso/windows/winutils.iso'>
        <seclabel model='selinux' labelskip='yes'/>
      </source>
      <backingStore/>
      <target dev='hda' bus='ide'/>
      <readonly/>
      <alias name='ide0-0-0'/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </disk>
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2' cache='none'/>
      <source file='/home/vm1.qcow2'/>
      <backingStore type='file' index='1'>
        <format type='raw'/>
        <source file='/home/kvm_autotest_root/images/win8-32.1-virtio.qcow2'/>
        <backingStore/>
      </backingStore>
      <target dev='vda' bus='virtio'/>
      <alias name='virtio-disk0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
    </disk>
    <controller type='usb' index='0' model='ich9-ehci1'>
      <alias name='usb0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x7'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci1'>
      <alias name='usb0'/>
      <master startport='0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0' multifunction='on'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci2'>
      <alias name='usb0'/>
      <master startport='2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x1'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci3'>
      <alias name='usb0'/>
      <master startport='4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x2'/>
    </controller>
    <controller type='pci' index='0' model='pci-root'>
      <alias name='pci.0'/>
    </controller>
    <controller type='ide' index='0'>
      <alias name='ide0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <alias name='virtio-serial0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:5a:1e:53'/>
      <source bridge='switch'/>
      <virtualport type='openvswitch'>
        <parameters interfaceid='85e9685e-1c0a-4054-b625-8aa1396755b0'/>
      </virtualport>
      <target dev='vnet0'/>
      <model type='virtio'/>
      <alias name='net0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>
    <serial type='pty'>
      <source path='/dev/pts/0'/>
      <target port='0'/>
      <alias name='serial0'/>
    </serial>
    <console type='pty' tty='/dev/pts/0'>
      <source path='/dev/pts/0'/>
      <target type='serial' port='0'/>
      <alias name='serial0'/>
    </console>
    <channel type='spicevmc'>
      <target type='virtio' name='com.redhat.spice.0' state='disconnected'/>
      <alias name='channel0'/>
      <address type='virtio-serial' controller='0' bus='0' port='1'/>
    </channel>
    <input type='tablet' bus='usb'>
      <alias name='input0'/>
    </input>
    <input type='mouse' bus='ps2'/>
    <input type='keyboard' bus='ps2'/>
    <graphics type='spice' port='5900' autoport='yes' listen='0.0.0.0'>
      <listen type='address' address='0.0.0.0'/>
    </graphics>
    <sound model='ich6'>
      <alias name='sound0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </sound>
    <video>
      <model type='qxl' ram='65536' vram='65536' vgamem='8192' heads='1'/>
      <alias name='video0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </video>
    <redirdev bus='usb' type='spicevmc'>
      <alias name='redir0'/>
    </redirdev>
    <redirdev bus='usb' type='spicevmc'>
      <alias name='redir1'/>
    </redirdev>
    <redirdev bus='usb' type='spicevmc'>
      <alias name='redir2'/>
    </redirdev>
    <redirdev bus='usb' type='spicevmc'>
      <alias name='redir3'/>
    </redirdev>
    <memballoon model='virtio'>
      <alias name='balloon0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
    </memballoon>
  </devices>
  <seclabel type='dynamic' model='selinux' relabel='yes'>
    <label>system_u:system_r:svirt_t:s0:c789,c958</label>
    <imagelabel>system_u:object_r:svirt_image_t:s0:c789,c958</imagelabel>
  </seclabel>
</domain>

VM1(the one as netserver) and VM2(the one running multiple netperf) are having identical hw cfg(except mac and img path, of course.)

# diff win8.1.xml win8.1-client.xml 
1,3c1,3
< <domain type='kvm' id='11'>
<   <name>win8.1</name>
<   <uuid>2474645f-07f8-44f1-aa67-32362f37b94e</uuid>
---
> <domain type='kvm' id='12'>
>   <name>win8.1-client</name>
>   <uuid>476cc49b-0da3-4414-9b84-3d3b5b37eeaf</uuid>
55c55
<       <source file='/home/vm1.qcow2'/>
---
>       <source file='/home/vm2.qcow2'/>
96c96
<       <mac address='52:54:00:5a:1e:53'/>
---
>       <mac address='52:54:00:f5:37:80'/>
101c101
<       <target dev='vnet0'/>
---
>       <target dev='vnet1'/>
107c107
<       <source path='/dev/pts/0'/>
---
>       <source path='/dev/pts/3'/>
111,112c111,112
<     <console type='pty' tty='/dev/pts/0'>
<       <source path='/dev/pts/0'/>
---
>     <console type='pty' tty='/dev/pts/3'>
>       <source path='/dev/pts/3'/>
126c126
<     <graphics type='spice' port='5900' autoport='yes' listen='0.0.0.0'>
---
>     <graphics type='spice' port='5901' autoport='yes' listen='0.0.0.0'>
156,157c156,157
<     <label>system_u:system_r:svirt_t:s0:c789,c958</label>
<     <imagelabel>system_u:object_r:svirt_image_t:s0:c789,c958</imagelabel>
---
>     <label>system_u:system_r:svirt_t:s0:c106,c248</label>
>     <imagelabel>system_u:object_r:svirt_image_t:s0:c106,c248</imagelabel>

Comment 3 Yossi Hindin 2014-12-14 12:49:38 UTC

*** This bug has been marked as a duplicate of bug 1173323 ***


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