Bug 790083

Summary: qxl: primary surface not saved on migration when the qxl is in COMPAT mode
Product: Red Hat Enterprise Linux 6 Reporter: Yonit Halperin <yhalperi>
Component: qemu-kvmAssignee: Yonit Halperin <yhalperi>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.2CC: acathrow, alevy, bsarathy, dblechte, juzhang, michen, minovotn, mkenneth, qzhang, shuang, tburke, virt-maint, xigao, yhalperi
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: qemu-kvm-0.12.1.2-2.237.el6 Doc Type: Bug Fix
Doc Text:
Cause When migrating a Windows guest with display driver qxl-win-0.1.9 or older, the guest memory of the primary surface wasn't marked dirty. Consequence After migration, the primary surface memory is not up to date, and the guest display might look corrupted. Fix The primary surface is marked as dirty when migration starts. Result The memory of the primary surface after migration is up to date.
Story Points: ---
Clone Of: 729869 Environment:
Last Closed: 2012-06-20 11:39:22 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: 729869    
Bug Blocks: 728234    

Comment 2 Yonit Halperin 2012-02-15 13:23:18 UTC
patch was sent and accepted in upstream

Comment 5 Xiaomei Gao 2012-03-22 13:31:29 UTC
repoduced this issue on qemu-kvm-0.12.1.2-2.234.el6.x86_64 && qxl-win-0.1.9

steps:
1. start win7_32 guest as following commands:
/usr/libexec/qemu-kvm -M rhel6.3.0 -cpu cpu64-rhel6,+x2apic  -enable-kvm -m 2048 -smp 2,sockets=2,cores=1,threads=1 -name RHEL6 -uuid 7d955163-2ddd-4711-9347-ce6180998070 -monitor stdio -rtc base=localtime -boot c -device virtio-serial-pci,id=virtio-serial0,max_ports=16,bus=pci.0,addr=0x4 -drive file=/mnt/xigao/win7-32-virtio.qcow2,if=none,id=drive-virtio-disk0,format=qcow2,cache=none,werror=stop,rerror=stop,aio=threads -device virtio-blk-pci,bus=pci.0,addr=0x5,drive=drive-virtio-disk0,id=virtio-disk0 -netdev tap,id=hostnet0,vhost=on -device virtio-net-pci,netdev=hostnet0,id=net0,mac=00:1a:4a:10:20:54,bus=pci.0,addr=0x3 -chardev socket,id=charchannel0,path=/tmp/foo,server,nowait -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=com.redhat.rhevm.vdsm -chardev spicevmc,id=charchannel1,name=vdagent -device virtserialport,bus=virtio-serial0.0,nr=2,chardev=charchannel1,id=channel1,name=com.redhat.spice.0 -usb -device usb-tablet,id=input0 -spice port=5930,disable-ticketing -k en-us -vga qxl -global qxl-vga.vram_size=67108864 
2. install qxl-win-0.1.9 in the guest
3. open a folder,for example C:\Windows\debug\WIA\
4. running it then do live  migration
5. Actual results:
on dest machine, the picture is not synchronized. For example:the picture on dest machine remains at the folder C:\Windows\debug\

verified on qemu-kvm-0.12.1.2-2.237.el6.x86_64 && qxl-win-0.1.9
the picture of src machine and dest machine is synchronous.

Above all, the issue has been fixed.

Comment 8 Yonit Halperin 2012-05-06 05:16:02 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:
Cause
When migrating a Windows guest with display driver qxl-win-0.1.9 or older, the guest memory of the primary surface wasn't marked dirty.

Fix
The primary surface is marked as dirty when migration starts.

Result
The memory of the primary surface after migration is up to date.

Comment 9 Yonit Halperin 2012-05-06 05:29:20 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,5 +1,7 @@
 Cause
 When migrating a Windows guest with display driver qxl-win-0.1.9 or older, the guest memory of the primary surface wasn't marked dirty.
+Consequence
+After migration, the primary surface memory is not up to date, and the guest display might look corrupted.
 
 Fix
 The primary surface is marked as dirty when migration starts.

Comment 10 errata-xmlrpc 2012-06-20 11:39:22 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHBA-2012-0746.html