Hide Forgot
Description of problem: Boot guest on src host and also in dst host with spice. On dst host: "-spice port=5930,disable-ticketing -vga qxl -incoming tcp:0:5800". When open the dst guest with spice but using a wrong port number 5800, the guest quit. Version-Release number of selected component (if applicable): kernel-2.6.32-178.el6.x86_64 qemu-kvm-0.12.1.2-2.177.el6.x86_64 How reproducible: 100% Steps to Reproduce: 1.Boot guest on src host with spice. /usr/libexec/qemu-kvm -m 2G -smp 4 -cpu cpu64-rhel6,+x2apic -usbdevice tablet -drive file=/mnt/win7-32-virtio.qcow2,if=none,id=drive-ide0-0-0,werror=stop,rerror=stop,cache=none -device virtio-blk-pci,drive=drive-ide0-0-0,id=ide0-0-0 -netdev tap,id=hostnet0,script=/etc/qemu-ifup -device virtio-net-pci,netdev=hostnet0,mac=00:10:1a:3b:20:1f,bus=pci.0,addr=0x4 -boot dc -uuid 6d59434d-3f1c-4558-afc3-37e2cc430d6b -rtc-td-hack -no-kvm-pit-reinjection -monitor stdio -name rhel6.1-32 -spice port=5930,disable-ticketing -vga qxl -device virtio-balloon-pci,bus=pci.0,id=balloon0 -device virtio-serial-pci,id=virtio-serial0,max_ports=16,bus=pci.0,addr=0x7 -chardev socket,id=channel0,host=127.0.0.1,port=12345,server,nowait -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=channel0,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 -k en-us -global qxl-vga.vram_size=67108864 2.Boot guest on dst host in listening mode: /usr/libexec/qemu-kvm -m 2G -smp 4 -cpu cpu64-rhel6,+x2apic -usbdevice tablet -drive file=/mnt/win7-32-virtio.qcow2,if=none,id=drive-ide0-0-0,werror=stop,rerror=stop,cache=none -device virtio-blk-pci,drive=drive-ide0-0-0,id=ide0-0-0 -netdev tap,id=hostnet0,script=/etc/qemu-ifup -device virtio-net-pci,netdev=hostnet0,mac=00:10:1a:3b:20:1f,bus=pci.0,addr=0x4 -boot dc -uuid 6d59434d-3f1c-4558-afc3-37e2cc430d6b -rtc-td-hack -no-kvm-pit-reinjection -monitor stdio -name rhel6.1-32 -spice port=5930,disable-ticketing -vga qxl -device virtio-balloon-pci,bus=pci.0,id=balloon0 -device virtio-serial-pci,id=virtio-serial0,max_ports=16,bus=pci.0,addr=0x7 -chardev socket,id=channel0,host=127.0.0.1,port=12345,server,nowait -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=channel0,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 -k en-us -global qxl-vga.vram_size=67108864 -incoming tcp:0:5800 3.View the guest with spice but using a wrong port number # spicec -h dst_host_ip -p 5800 (actually should be 5930) 4. On dst guest qemu monitor: (qemu) load of migration failed Actual results: dst guest quit. Expected results: dst guest should not quit, spice can not open with the wrong port. Additional info:
Not sure we need to protect against it. Spice clients should use a connection concentration instead
This is not a bug. qemu-kvm is expecting migration packets coming in its migration "incoming" port (5800 in the example above), and gets spice packets. This is seen as migration failure and qemu-kvm on the destination host quits. This is not related to spice. Any program that connect to a tcp port will do. For example "telnet <dst-host-ip> <incoming-migration-port>" would end up with the qemu-kvm exiting. And running spice client with a different "bad" port will do nothing to the VM. Closing as "not a bug".