Bug 821692

Summary: Migration always failed from rhel6.3 to rhel6.1 host with sound device
Product: Red Hat Enterprise Linux 6 Reporter: Qunfang Zhang <qzhang>
Component: qemu-kvmAssignee: Gerd Hoffmann <kraxel>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 6.3CC: acathrow, areis, bsarathy, dyasny, juzhang, michen, minovotn, mkenneth, owasserm, quintela, qzhou, shu, tburke, uril, virt-maint
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: qemu-kvm-0.12.1.2-2.297.el6 Doc Type: Bug Fix
Doc Text:
Cause: live migration format for the hda-audio device has changed due to a bugfix Consequence: migration from new to old qemu version failed with hda sound active because the old qemu doesn't understand the new migration format. Fix: send old migration format when -M $oldversion is used. Result: migration works.
Story Points: ---
Clone Of:
: 991698 (view as bug list) Environment:
Last Closed: 2013-02-21 07:36:23 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: 798682, 841379, 991698    

Description Qunfang Zhang 2012-05-15 11:01:04 UTC
Description of problem:
Migrate guest from rhel6.3 host to rhel6.1 host with "-M rhel6.1.0" and with intel-hda sound device, migration always failed. QEMU on dst side prompts:
savevm: unsupported version 2 for 'hda-audio' v1
load of migration failed

Version-Release number of selected component (if applicable):
kernel-2.6.32-270.el6.x86_64
qemu-kvm-0.12.1.2-2.292.el6.x86_64 & qemu-kvm-0.12.1.2-2.293.el6.x86_64 
seabios-0.6.1.2-19.el6.x86_64

How reproducible:
Always (about 3/5)

Steps to Reproduce:
1. Boot guest with intel-hda sound device on rhel6.3 host
/usr/libexec/qemu-kvm -M rhel6.1.0 -enable-kvm -m 1024 -smp 2 -name rhel6.3-64 -uuid 4c21b4e8-de85-4e31-89b6-8b746d1eeca2 -rtc base=localtime,clock=host,driftfix=slew -boot c  -drive file=/mnt/RHEL-Server-6.3-64-virtio.qcow2,if=none,id=drive-virtio-disk0,format=qcow2,werror=stop,rerror=stop -device ide-drive,bus=ide.0,unit=1,drive=drive-virtio-disk0,id=virtio-disk0 -netdev tap,id=hostnet1,script=/etc/qemu-ifup,downscript=no -device rtl8139,netdev=hostnet1,id=net1,mac=64:31:50:41:e1:13 -netdev tap,id=hostnet3,script=/etc/qemu-ifup,downscript=no -device e1000,netdev=hostnet3,id=net3,mac=64:31:50:41:b1:e3  -monitor stdio -qmp tcp:0:5555,server,nowait -spice port=9000,disable-ticketing -device virtio-balloon-pci,id=balloon0,bus=pci.0,id=0x6 -device virtio-serial-pci,id=virtio-serial0,max_ports=16,vectors=17,bus=pci.0,addr=0x7 -chardev socket,path=/tmp/qzhang-test,server,nowait,id=isa1 -device isa-serial,chardev=isa1,id=isa-serial1 -device intel-hda,id=sound0,bus=pci.0,addr=0x8 -device hda-duplex 

2. Boot guest on 6.1 host with listening mode "-incoming tcp:0:5800"

3. Migrate guest from rhel6.3 host to rhel6.1 host.

4. If step 3 pass, repeat ping-pong migration
  
Actual results:
Guest always failed to load migration on rhel6.1 host:
(qemu) handle_dev_destroy_surfaces: 
qxl_worker_loadvm_commands: 
handle_dev_input: loadvm_commands
handle_dev_destroy_surfaces: 
savevm: unsupported version 2 for 'hda-audio' v1
load of migration failed


Expected results:
Migration succeed.

Additional info:

Comment 3 Qunfang Zhang 2012-05-21 07:50:25 UTC
Re-test this scenario between RHEL6.2 and RHEL6.1 hosts. And 6.2->6.1 has the same problem migration failed.

Comment 12 Qunfang Zhang 2012-11-28 04:16:02 UTC
Reproduced with the command line and steps in bug description between qemu-kvm-0.12.1.2-2.295.el6.x86_64.rpm and qemu-kvm-0.12.1.2-2.160.el6.x86_64.

Verified pass between a rhel6.4 host with the following version and a rhel6.1 one with -M rhel6.1.0.
rhel6.4 version:
qemu-kvm-0.12.1.2-2.337.el6.x86_64
rhel6.1 version:
qemu-kvm-0.12.1.2-2.160.el6.x86_64

And also test migration with sound device between two rhel6.4 host, passed.

CLI:
/usr/libexec/qemu-kvm -M rhel6.1.0 -enable-kvm -m 1024 -smp 2 -name rhel6.3-64 -uuid 4c21b4e8-de85-4e31-89b6-8b746d1eeca2 -rtc base=localtime,clock=host,driftfix=slew -boot c  -drive file=/opt/rhel6.3-64-virtio.raw,if=none,id=drive-virtio-disk0,format=raw,werror=stop,rerror=stop -device ide-drive,bus=ide.0,unit=1,drive=drive-virtio-disk0,id=virtio-disk0 -netdev tap,id=hostnet1,script=/etc/qemu-ifup,downscript=no -device rtl8139,netdev=hostnet1,id=net1,mac=64:31:50:41:e1:13 -netdev tap,id=hostnet3,script=/etc/qemu-ifup,downscript=no -device e1000,netdev=hostnet3,id=net3,mac=64:31:50:41:b1:e3  -monitor stdio -qmp tcp:0:5556,server,nowait -spice port=9001,disable-ticketing -device virtio-balloon-pci,id=balloon0,bus=pci.0,id=0x6 -device virtio-serial-pci,id=virtio-serial0,max_ports=16,vectors=17,bus=pci.0,addr=0x7 -chardev socket,path=/tmp/qzhang-test,server,nowait,id=isa1 -device isa-serial,chardev=isa1,id=isa-serial1 -device intel-hda,id=sound0,bus=pci.0,addr=0x8 -device hda-duplex

So, this bug is fixed.

Comment 14 errata-xmlrpc 2013-02-21 07:36:23 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-2013-0527.html