Bug 1264156 - usbredir/100MB/s memory leak redirecting a camera
usbredir/100MB/s memory leak redirecting a camera
Status: CLOSED EOL
Product: Fedora
Classification: Fedora
Component: spice-gtk (Show other bugs)
22
Unspecified Unspecified
unspecified Severity unspecified
: ---
: ---
Assigned To: Victor Toso
Fedora Extras Quality Assurance
:
Depends On:
Blocks: 1201387 1270363 1276707 1290749 1312913
  Show dependency treegraph
 
Reported: 2015-09-17 12:13 EDT by Dr. David Alan Gilbert
Modified: 2016-07-19 13:55 EDT (History)
11 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 1270363 1276707 (view as bug list)
Environment:
Last Closed: 2016-07-19 13:55:34 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
Memory leak data extracted using valgrind's massif (362.32 KB, text/plain)
2015-09-17 12:13 EDT, Dr. David Alan Gilbert
no flags Details

  None (edit)
Description Dr. David Alan Gilbert 2015-09-17 12:13:44 EDT
Created attachment 1074502 [details]
Memory leak data extracted using valgrind's massif

Description of problem:
I'm seeing ~100MB/s memory leak in either virt-viewer or virt-manager when redirecting a usb-webcam.

Version-Release number of selected component (if applicable):
Client: virt-viewer or virt-manager on f22
spice-gtk-debuginfo-0.29-1.fc22.x86_64
spice-gtk-0.29-1.fc22.x86_64
spice-gtk3-0.29-1.fc22.x86_64
spice-protocol-0.12.7-2.fc21.noarch
spice-glib-devel-0.29-1.fc22.x86_64
spice-glib-0.29-1.fc22.x86_64
spice-server-devel-0.12.5-6.fc22.x86_64
spice-gtk-tools-0.29-1.fc22.x86_64
spice-debuginfo-0.12.5-5.fc22.x86_64
spice-vdagent-0.15.0-3.fc22.x86_64
spice-server-0.12.5-6.fc22.x86_64
usbredir-0.7-3.fc22.x86_64
virt-viewer-2.0-1.fc22.x86_64

guest: RHEL7.1
host: RHEL6
spice-server-0.12.4-12.el6_7.1.x86_64
spice-gtk-python-0.26-4.el6.x86_64
spice-glib-0.26-4.el6.x86_64
spice-gtk-0.26-4.el6.x86_64



How reproducible:
100%

Steps to Reproduce:
1. Start virt-viewer or virt-manager on your local machine
2. Connect to a remote host running the guest
3. Perform a usbredir via spice of a cheap webcam (0c45:62f0 is the USB model in my case) to a usb 2 card on the guest
4. Start 'cheese' in the guest

Actual results:
~ 100MB/s leak

Expected results:
No leak.

Additional info:
Snippet from a massif dump; full dump attached.

99.12% (3,872,899,472B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->74.13% (2,896,327,659B) 0x33B50647B7: spice_malloc (mem.c:93)
| ->71.82% (2,806,089,336B) 0x33B5063D6C: spice_marshaller_new (marshaller.c:121)
| | ->71.82% (2,806,089,336B) 0x33B501F0A7: spice_msg_out_new (spice-channel.c:632)
| |   ->71.82% (2,806,089,336B) 0x33B50345CD: usbredir_write_callback (channel-usbredir.c:539)
| |   | ->71.82% (2,806,089,336B) 0x3D32C033B1: usbredirparser_do_write (usbredirparser.c:1066)
| |   |   ->71.82% (2,806,089,336B) 0x33B5405324: usbredirhost_iso_packet_complete (usbredirhost.c:1490)
| |   |   | ->71.82% (2,806,089,336B) 0x33B80092B3: usbi_handle_transfer_completion (io.c:1597)
| |   |   |   ->71.82% (2,806,089,336B) 0x33B800EDE4: op_handle_events (linux_usbfs.c:2459)
| |   |   |     ->71.82% (2,806,089,336B) 0x33B8008F69: handle_events (io.c:2089)
| |   |   |       ->71.82% (2,806,089,336B) 0x33B8009BD1: libusb_handle_events_timeout_completed (io.c:2174)
| |   |   |         ->71.82% (2,806,089,336B) 0x33B8009CBD: libusb_handle_events (io.c:2250)
| |   |   |           ->71.82% (2,806,089,336B) 0x33B5037E5E: spice_usb_device_manager_usb_ev_thread (usb-device-manager.c:1165)
| |   |   |             ->71.82% (2,806,089,336B) 0x3D07A710A3: g_thread_proxy (gthread.c:764)
| |   |   |               ->71.82% (2,806,089,336B) 0x3D06207553: start_thread (pthread_create.c:333)
| |   |   |                 ->71.82% (2,806,089,336B) 0x3D05702B9B: clone (clone.S:109)
| |   |   |
Comment 1 Dr. David Alan Gilbert 2015-09-17 12:16:04 EDT
Note: The connection between the host/client may be relevant:

host - somewhere in Boston
client - UK; on the end of a 50 down/3 MBps up cable link
with a VPN and the atlantic in between.
Comment 2 Victor Toso 2015-09-18 10:33:41 EDT
Thanks for the report + massif!
I can reproduce this on slow connection. Working on it!
Comment 3 Victor Toso 2015-10-09 14:58:17 EDT
Patch sent to the mailing list:

[0] http://lists.freedesktop.org/archives/spice-devel/2015-October/022271.html
Comment 4 Victor Toso 2015-10-29 07:11:42 EDT
Patches were acked upstream [1] and [2]
Moving this to POST and devel_ack+
I'll update here with the hashes after they are pushed upstream.

[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 5 Victor Toso 2015-10-30 10:56:33 EDT
Patches pushed upstream

usbredir:
a88e197b18785d6de2322b5f26484c4130a6f2b9
e1a7e3dbbe091bfdc568372ff5ab18ed7eae972e

spice-gtk:
36c7db9a38cc5335727c2abbe7968112eb6667e0
Comment 6 Mike McCune 2016-03-28 19:43:17 EDT
This bug was accidentally moved from POST to MODIFIED via an error in automation, please see mmccune@redhat.com with any questions
Comment 7 Fedora End Of Life 2016-07-19 13:55:34 EDT
Fedora 22 changed to end-of-life (EOL) status on 2016-07-19. Fedora 22 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.

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