Bug 1201387 - remote-viewer freezes temporarily with high memory consumption when working with isochronous devices (webcam, headset)
Summary: remote-viewer freezes temporarily with high memory consumption when working w...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Virtualization Manager
Classification: Red Hat
Component: mingw-virt-viewer
Version: 3.5.0
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: ovirt-3.6.1
: 3.6.1
Assignee: Victor Toso
QA Contact: SPICE QE bug list
URL:
Whiteboard:
Depends On: 1264156 1270363 1276707 1290749 1312913
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-03-12 15:45 UTC by David Jaša
Modified: 2016-03-09 20:07 UTC (History)
16 users (show)

Fixed In Version: mingw-usbredir-0.6-5 mingw-spice-gtk-0.26-9 mingw-virt-viewer-2.0.7 rhevm-spice-client-3.6-5
Doc Type: Bug Fix
Doc Text:
Isochronous devices (for example, a webcam and headset) previously caused remote-viewer to freeze temporarily due to high memory consumption, which was a result of poor buffer management in the virt-viewer client. This issue has now been improved by adding a buffer limit in the client, while still allowing enough data to be sent to update the remote device. Data can now be sent over a low bandwidth network without high memory consumption in the client.
Clone Of:
Environment:
Last Closed: 2016-03-09 20:07:51 UTC
oVirt Team: Spice
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHEA-2016:0377 0 normal SHIPPED_LIVE rhevm-spice-client bug fix and enhancement update 2016-03-10 00:39:05 UTC

Description David Jaša 2015-03-12 15:45:57 UTC
Description of problem:
When working with isochronous devices, a situations arise when:
  * remote-viewer windows is not responsive
  * r-v RAM usage keeps growing from ~110M to more than one GB
  * video from webcam keeps being received by the VM but gains tens-of-seconds
    latency
After some time, the situation settles. Some info about the environment/setup:
  * client-guest is site network with ~80-100 Mbps real speed
  * RHEL client on the same physical HW/network works correctly
  * tests with video call (through skype) showed that video stream from webcam
    keeps being received (although with big delay) in spite of non-responsive UI

Version-Release number of selected component (if applicable):
usbdk v0.04-1 + associated virt-viewer patches (64b)
Windows 7 64b

How reproducible:
frequent but no clear reproducer

Steps to Reproduce:
A)
0) launch task manager/(h)top
1) go to app that will pick up webcam automatically, e.g:
    * linux: cheese
    * windows: skype -> options -> video settings
2) plug in the webcam
3) watch remote-viewer process memory consumption while waiting till it resumes

B) (not sure about reliability)
0) configure skype in the guest to use webcam mic and then headset mic
1) disconnect from VM, unplug the devices
2) connect to a VM, plug webcam, make skype call
3) during the call, plug headset

Actual results:
As in description, for some time, remote-viewer process has:
  * irresponsive UI
  * steadily growing memory usage

Expected results:
remote-viewer works from start

Additional info:
process dump (64b) is available @:
http://10.34.73.3/nfs/iso/djasa/dumps/remote-viewer_webcam_temp-mem-surge_unresponsive.dmp
\\10.34.73.3\\iso\djasa\dumps\remote-viewer_webcam_temp-mem-surge_unresponsive.dmp

Comment 1 Dmitry Fleytman 2015-03-31 09:02:11 UTC
80-100 Mbps (Mega-bit per second) is not enough for camera redirection.
Depending on resolution and frame rate camera may consume much more (one of cameras we have consumes around 200 Mbps).
Do you see the same problem with faster network (1Gbps)?

In case the problem is not observed on faster connections it looks like there is a bufferization strategy glitch on application layer (libusbredir/spice-gtk) that needs to be investigated.

Comment 2 Sandro Bonazzola 2015-10-26 12:43:32 UTC
this is an automated message. oVirt 3.6.0 RC3 has been released and GA is targeted to next week, Nov 4th 2015.
Please review this bug and if not a blocker, please postpone to a later release.
All bugs not postponed on GA release will be automatically re-targeted to

- 3.6.1 if severity >= high
- 4.0 if severity < high

Comment 3 David Blechter 2015-10-27 18:54:35 UTC
The problem was solved in another component ( spice-gtk ), pending approval. See dependencies. We need another BZ for mingw... in rhevm 3.6

Comment 4 Victor Toso 2015-10-29 11:25:37 UTC
(In reply to David Blechter from comment #3)
> The problem was solved in another component ( spice-gtk ), pending approval.
> See dependencies. We need another BZ for mingw... in rhevm 3.6

Patches were acked and it will be upstream this week.

Comment 5 Victor Toso 2015-10-29 11:56:52 UTC
(In reply to David Blechter from comment #3)
> The problem was solved in another component ( spice-gtk ), pending approval.
> See dependencies. We need another BZ for mingw... in rhevm 3.6

Moving this to mingw-virt-viewer which it seems more accurate then ovirt.
Target release is set to 3.6 and moving to POST due patches being acked [1] [2]

[1] http://lists.freedesktop.org/archives/spice-devel/2015-October/022660.html
[2] http://lists.freedesktop.org/archives/spice-devel/2015-October/022661.html

Comment 6 Victor Toso 2015-10-30 14:57:43 UTC
Patches pushed upstream

usbredir:
a88e197b18785d6de2322b5f26484c4130a6f2b9
e1a7e3dbbe091bfdc568372ff5ab18ed7eae972e

spice-gtk:
36c7db9a38cc5335727c2abbe7968112eb6667e0

Comment 18 Dayle Parker 2016-02-22 01:02:41 UTC
If this bug requires doc text for errata release, please provide draft text in the doc text field in the following format:

 Cause:
 Consequence:
 Fix:
 Result:

The documentation team will review, edit, and approve the text.
If this bug does not require doc text, please set the 'requires_doc_text' flag to -.

Comment 20 errata-xmlrpc 2016-03-09 20:07:51 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.

https://rhn.redhat.com/errata/RHEA-2016-0377.html


Note You need to log in before you can comment on or make changes to this bug.