Bugzilla will be upgraded to version 5.0 on a still to be determined date in the near future. The original upgrade date has been delayed.
Bug 1201387 - remote-viewer freezes temporarily with high memory consumption when working with isochronous devices (webcam, headset)
remote-viewer freezes temporarily with high memory consumption when working w...
Product: Red Hat Enterprise Virtualization Manager
Classification: Red Hat
Component: mingw-virt-viewer (Show other bugs)
Unspecified Unspecified
medium Severity medium
: ovirt-3.6.1
: 3.6.1
Assigned To: Victor Toso
SPICE QE bug list
Depends On: 1264156 1270363 1276707 1290749 1312913
  Show dependency treegraph
Reported: 2015-03-12 11:45 EDT by David Jaša
Modified: 2016-03-09 15:07 EST (History)
16 users (show)

See Also:
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.
Story Points: ---
Clone Of:
Last Closed: 2016-03-09 15:07:51 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: Spice
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHEA-2016:0377 normal SHIPPED_LIVE rhevm-spice-client bug fix and enhancement update 2016-03-09 19:39:05 EST

  None (edit)
Description David Jaša 2015-03-12 11:45:57 EDT
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
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:
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 @:
Comment 1 Dmitry Fleytman 2015-03-31 05:02:11 EDT
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 08:43:32 EDT
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 14:54:35 EDT
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 07:25:37 EDT
(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 07:56:52 EDT
(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 10:57:43 EDT
Patches pushed upstream


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


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 15:07:51 EST
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.


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