Bug 950029

Summary: video streaming during migration might result in destination aborting
Product: Red Hat Enterprise Linux 6 Reporter: Yonit Halperin <yhalperi>
Component: spice-serverAssignee: Yonit Halperin <yhalperi>
Status: CLOSED ERRATA QA Contact: Desktop QE <desktop-qa-list>
Severity: high Docs Contact:
Priority: high    
Version: 6.4CC: acathrow, cfergeau, dblechte, djasa, marcandre.lureau, mkenneth, uril
Target Milestone: rcKeywords: ZStream
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: spice-server-0.12.0-13.el6 Doc Type: Bug Fix
Doc Text:
See documentation of bug 956984 in http://rhn.redhat.com/errata/RHBA-2013-0866.html Cause + Consequence [taken from comment #0]: When there are active video streams during migration, it is possible that the src-spice server will send to the client stream-related messages after sending MSG_MIGRATE. This should not happen. The src server may only send MSG_MIGRATE_DATA after MSG_MIGRATE. As a result of this bug, the client forwarded a wrong message as MSG_MIGRATE_DATA to the destination server and the destination server aborted. Fix: When migrating spice display channel, stop all video streams before sending MSG_MIGRATE. Result: No stream messages are sent after MSG_MIGRATE, destination does not abort and migration completes successfully.
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-11-21 07:40:05 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: 956984    
Attachments:
Description Flags
fix: destroy video streams before sending MIGRATE_DATA none

Description Yonit Halperin 2013-04-09 13:36:25 UTC
Description of problem:

When there are active video streams during migration, it is possible that the src-spice server will send to the client stream-related messages after sending MSG_MIGRATE. This should not happen. The src server may only send MSG_MIGRATE_DATA after MSG_MIGRATE.
As a result of this bug, the client forwarded a wrong message as MSG_MIGRATE_DATA to the destination server and the destination server aborted.

In the remote-viewer log you can find:
(remote-viewer:30911): GSpice-WARNING **: expected SPICE_MSG_MIGRATE_DATA, got 124

The destination server aborts with "bad message size" error in
"display_channel_handle_migrate_data"

How reproducible:

Play video during migration. Use a setting with high latency and limited bandwidth between the client and the servers.

Comment 1 Marc-Andre Lureau 2013-04-22 16:37:14 UTC
Yonit, the bug is in POST, but I don't see reference to the patch/change. You may also want to devel_ack+?

Comment 2 Yonit Halperin 2013-04-22 17:00:28 UTC
Created attachment 738600 [details]
fix: destroy video streams before sending MIGRATE_DATA

patch was acked and pushed upstream.

Comment 3 Yonit Halperin 2013-04-22 17:03:30 UTC
(In reply to comment #1)
> Yonit, the bug is in POST, but I don't see reference to the patch/change.
> You may also want to devel_ack+?

I attached the fix. For the devel-ack, I think we should wait for pm-ack. However, I think it should also be proposed for 6.4z, but I don't have the permissions to do so.

Comment 4 David Jaša 2013-04-25 16:39:58 UTC
Reproduced. I took me a couple more of the rounds and I didn't get a dump because of host configuration but the client exited with precisely the exit code specified by Marc-André.

Comment 5 Marc-Andre Lureau 2013-04-25 16:59:38 UTC
(In reply to comment #4)
> Reproduced. I took me a couple more of the rounds and I didn't get a dump
> because of host configuration but the client exited with precisely the exit
> code specified by Marc-André.

by Yonit?

Comment 6 David Jaša 2013-04-25 17:13:48 UTC
Yes, by Yonit.

Comment 11 errata-xmlrpc 2013-11-21 07:40:05 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-1571.html