Bug 1006767

Summary: win8.1-32 BSOD after migration with xbzrle=on in src and des
Product: Red Hat Enterprise Linux 7 Reporter: Jun Li <juli>
Component: qemu-kvmAssignee: Hai Huang <hhuang>
Status: CLOSED DUPLICATE QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.0CC: acathrow, bcao, hhuang, juli, juzhang, michen, qzhang, virt-maint, xfu
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Windows   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-03-06 12:22:30 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:

Description Jun Li 2013-09-11 09:09:33 UTC
Description of problem:
win8.1-32 BSOD after do migration between host A and host B both with xbzrle=on.

Version-Release number of selected component (if applicable):
qemu-kvm-1.5.3-2.el7.x86_64
3.10.0-18.el7.x86_64

How :
race ---- I only hit this time.

Steps to Reproduce:
1.Boot a guest on host A
# /usr/libexec/qemu-kvm -S -M pc-i440fx-rhel7.0.0 -cpu SandyBridge -enable-kvm -m 4G -smp 2,sockets=1,cores=2,threads=1 -name juli -uuid 355a2475-4e03-4cdd-bf7b-5d6a59edaa61 -rtc base=localtime,clock=host,driftfix=slew \
-drive file=/mnt/win8.1-32.qcow2_v3,if=none,cache=none,aio=native,format=qcow2,rerror=stop,werror=stop,id=drive0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive0,id=sys-disk,bootindex=0 \
-drive file=/mnt/sdb-1.qcow2_v3,if=none,cache=none,aio=native,format=qcow2,rerror=stop,werror=stop,id=drive0-1 -device ide-drive,bus=ide.0,unit=1,drive=drive0-1,id=data-disk-1 \
-drive file=/mnt/ISO/en_windows_8.1_preview_x86_dvd_2358833.iso,if=none,media=cdrom,format=raw,aio=native,id=drive-ide1-0-0 -device ide-drive,drive=drive-ide1-0-0,id=ide1-0-0,bus=ide.1,unit=0,bootindex=4 \
-device virtio-balloon-pci,id=ballooning -global PIIX4_PM.disable_s3=0 -global PIIX4_PM.disable_s4=0 \
-netdev tap,id=hostnet0,vhost=off,script=/etc/qemu-ifup -device virtio-net-pci,netdev=hostnet0,id=virtio-net-pci0,mac=24:be:05:0c:1e:a2,addr=0x17,bootindex=2 \
-k en-us -boot menu=on,reboot-timeout=-1,strict=on -qmp tcp:0:4445,server,nowait -serial unix:/tmp/ttyS0,server,nowait -vnc :3 -spice port=5932,disable-ticketing -vga qxl -monitor stdio -monitor tcp:0:7445,server,nowait -monitor unix:/tmp/monitor1,server,nowait \
-drive file=/mnt/virtio-win-prewhql-0.1-69/virtio-win-prewhql-0.1.iso,if=none,media=cdrom,format=raw,aio=native,id=drive-ide1-0-2 \
-device ide-drive,drive=drive-ide1-0-2,id=ide1-0-2,bus=ide.1,unit=1

2.Boot the same guest on host B with listenning mode: -incoming tcp:0:5800
# /usr/libexec/qemu-kvm -S -M pc-i440fx-rhel7.0.0 -cpu SandyBridge -enable-kvm -m 4G -smp 2,sockets=1,cores=2,threads=1 -name juli -uuid 355a2475-4e03-4cdd-bf7b-5d6a59edaa61 -rtc base=localtime,clock=host,driftfix=slew \
-drive file=/mnt/win8.1-32.qcow2_v3,if=none,cache=none,aio=native,format=qcow2,rerror=stop,werror=stop,id=drive0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive0,id=sys-disk,bootindex=0 \
-drive file=/mnt/sdb-1.qcow2_v3,if=none,cache=none,aio=native,format=qcow2,rerror=stop,werror=stop,id=drive0-1 \
-device ide-drive,bus=ide.0,unit=1,drive=drive0-1,id=data-disk-1 \
-drive file=/mnt/ISO/en_windows_8.1_preview_x86_dvd_2358833.iso,if=none,media=cdrom,format=raw,aio=native,id=drive-ide1-0-0 \
-device ide-drive,drive=drive-ide1-0-0,id=ide1-0-0,bus=ide.1,unit=0,bootindex=4 \
-device virtio-balloon-pci,id=ballooning -global PIIX4_PM.disable_s3=0 -global PIIX4_PM.disable_s4=0 \
-device virtio-net-pci,netdev=dev1,mac=24:be:05:0c:1e:a2,id=net1,bootindex=2,addr=0x17 100<>/dev/tap5  -netdev tap,id=dev1,fd=100 \
-k en-us -boot menu=on,reboot-timeout=-1,strict=on -qmp tcp:0:4445,server,nowait -serial unix:/tmp/ttyS0,server,nowait -vnc :3 -spice port=5932,disable-ticketing -vga qxl -monitor stdio -monitor tcp:0:7445,server,nowait -monitor unix:/tmp/monitor1,server,nowait \
-drive file=/mnt/virtio-win-prewhql-0.1-69/virtio-win-prewhql-0.1.iso,if=none,media=cdrom,format=raw,aio=native,id=drive-ide1-0-2 \
-device ide-drive,drive=drive-ide1-0-2,id=ide1-0-2,bus=ide.1,unit=1 -incoming tcp:0:5800

3.open the xbzrle on host A and host B.
(qemu) migrate_set_capability xbzrle on
4.do migration from host A to host B.

Actual results:
After migration, win8.1-32 guest BSOD.
Memory dump download link:
ftp://10.66.33.253/pub/juli_win8.1-32.dmp

Expected results:
After migration, guest can run as well.

Additional info:
I think as I have hit this BSOD, I want to fill a new bug to track whether it is a real bug. The rate of reproduce this issue is very low. I run dozens of times, hit this issue only once.

Comment 7 juzhang 2014-03-05 23:53:35 UTC
Hi Juli,

Please test it and add your comment.

Best Regards,
Junyi

Comment 9 Jun Li 2014-03-06 09:24:17 UTC
add components version of comment 8:
# rpm -qa|grep qemu
qemu-kvm-1.5.3-51.el7.x86_64
# uname -r
3.10.0-94.el7.x86_64