Comments you submit will be routed for moderation. If you have an account, please log in first.
Modify

Ticket #123 (closed defect: fixed)

Opened 13 months ago

Last modified 13 months ago

stress test and memory "leaks"

Reported by: Matt Hortman <matt@…> Owned by:
Priority: critical Milestone: Dumb Mud
Component: libguac Version: unstable
Keywords: Cc:
Points:

Description

One of our stress tests is to show a youtube video inside the RDP session that guacamole is connected to. When I do this the memory usage of the tab hosting guacamole grows very rapidly (as reported by the Chrome Task Manager)and soon reaches 2 gig, causing that chrome tab to crash.

Attachments

Change History

comment:1 Changed 13 months ago by mike.jumper

  • Status changed from new to assigned
  • Component changed from guacamole-default-webapp to libguac-client-rdp
  • Priority changed from major to critical
  • Version set to unstable
  • Milestone set to Alpha 3
  • Owner set to mike.jumper

After checking with Chrome's heap profiler, practically all memory is used by the buffers array. Debugging allocation of buffers, I can see the RDP support is allocating a new buffer for essentially every graphical update, but then never freeing or reusing the buffer.

Modifying guacamole.js to give a readout of the number of buffers allocated in realtime and then watching a youtube video over RDP shows this number skyrocket until the tab runs out of memory and crashes.

Need to modify libguac-client-rdp to use buffers properly, perhaps not trusting the RDP protocol to determine whether a particular update should be cached.

comment:2 Changed 13 months ago by mike.jumper

  • Component changed from libguac-client-rdp to libguac

Actually a bug in buffer/layer free in libguac. Buffers and layers are not being readded to the available buffer pool.

comment:3 Changed 13 months ago by mike.jumper

  • Owner mike.jumper deleted
  • Status changed from assigned to please_test

Should be fixed by changeset:013dd23/libguac.

comment:4 Changed 13 months ago by mike.jumper

  • Status changed from please_test to closed
  • Resolution set to fixed

Can no longer reproduce issue.

View

Add a comment

Modify Ticket

Action
as closed
The resolution will be deleted. Next status will be 'reopened'
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.