Bug 994175

Summary: spice server doesn't recognize client disconnection when client disconnects ungracefully
Product: Red Hat Enterprise Linux 6 Reporter: Yonit Halperin <yhalperi>
Component: spice-serverAssignee: Uri Lublin <uril>
Status: CLOSED ERRATA QA Contact: Desktop QE <desktop-qa-list>
Severity: medium Docs Contact:
Priority: urgent    
Version: 6.4CC: cfergeau, dblechte, lyarwood, mkalinin, mkenneth, mkrcmari, nobody, rbalakri, tdosek, uobergfe, xbai, xhao, yaliu, yhalperi, yqu
Target Milestone: rcKeywords: Reopened, ZStream
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: spice-server-0.12.4-7.el6 Doc Type: Bug Fix
Doc Text:
Cause: The spice-server assumed that the client is connected until it gets disconnected Consequence: When the client becomes unresponsive, e.g. suspended or network cable is out, the server continue trying communicating with it. Queues (such as driver commands ring) got filled, and the guest display driver got stuck (waiting for something to get free -- not sure we should mention this). Fix: The spice-server now monitors if the spice client is responsive, and disconnect if it's not. Result: If a spice client is unresponsive, the spice server disconnects it.
Story Points: ---
Clone Of:
: 1016790 (view as bug list) Environment:
Last Closed: 2014-10-14 05:04:33 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: 1016790, 1027244    

Description Yonit Halperin 2013-08-06 16:09:05 UTC
Description of problem:

When the client doesn't disconnect explicitly from the server, e.g., when a Windows client with an open spice-client session moves to Sleep mode,
spice server doesn't identify that the client disconnected.
The implication is that the server keeps trying to send messages to the client,  the driver commands ring can get filled (since we don't manage to send messages to the client), and the display driver on the guest side is stuck (WaitForCmdRing).



How reproducible:
1) Connect to spice-server
2) move the client to sleep mode (maybe disconnecting the network cable will also work)

You can see in the server log file, that the client hasn't been disconnected.

Comment 35 errata-xmlrpc 2014-10-14 05:04:33 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-2014-1435.html