DOM node leak on receiving websocket message

Bug #1180959 reported by Benji York
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
juju-gui
Incomplete
High
Unassigned

Bug Description

There is a DOM node leak triggered by processing websocket messages. By triggering annotation deltas (by moving a service and cuasing the new x and y to be store in the environemnt) the leak can be observed.

To reproduce:

- start the app against the improv script
- remove all services but one
- remove all relations
- start the memory timeline
- click on the trash can icon to trigger a GC collection
- clear the memory timeline
- move a service a few times
- click on the trash can icon to trigger a GC collection
- double-click on the timeline range selector to expand it to "all time"
- note whether or not the DOM node bar goes back to baseline
- note that the leak

If you do the same steps using the sandbox backend, no DOM leak is triggered.

Benji York (benji)
summary: - DOM node leak in relations
+ DOM node leak on receiving websocket message
description: updated
Benji York (benji)
Changed in juju-gui:
status: New → Incomplete
Revision history for this message
Benjamin Saller (bcsaller) wrote : [Bug 1180959] Re: DOM node leak on receiving websocket message

Sadly there is an indication about this in the test suite already. If you
look at test/test_environment_view.js there is a comment about needing to
clone the delta to avoid downstream mutation. This is I believe the same
issue. When those tests run w/o that clone we should be in better shape. I
feel bad because this was on my radar at one point and dropped off.

On Friday, May 17, 2013, Benji York wrote:

> ** Changed in: juju-gui
> Status: New => Incomplete
>
> --
> You received this bug notification because you are a member of Juju GUI
> Hackers, which is subscribed to juju-gui.
> https://bugs.launchpad.net/bugs/1180959
>
> Title:
> DOM node leak on receiving websocket message
>
> Status in Juju Graphical Interface:
> Incomplete
>
> Bug description:
> There is a DOM node leak triggered by processing websocket messages.
> By triggering annotation deltas (by moving a service and cuasing the
> new x and y to be store in the environemnt) the leak can be observed.
>
> To reproduce:
>
> - start the app against the improv script
> - remove all services but one
> - remove all relations
> - start the memory timeline
> - click on the trash can icon to trigger a GC collection
> - clear the memory timeline
> - move a service a few times
> - click on the trash can icon to trigger a GC collection
> - double-click on the timeline range selector to expand it to "all time"
> - note whether or not the DOM node bar goes back to baseline
> - note that the leak
>
> If you do the same steps using the sandbox backend, no DOM leak is
> triggered.
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/juju-gui/+bug/1180959/+subscriptions
>

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.