DOM node leak on receiving websocket message
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.
summary: |
- DOM node leak in relations + DOM node leak on receiving websocket message |
description: | updated |
Changed in juju-gui: | |
status: | New → Incomplete |
Sadly there is an indication about this in the test suite already. If you environment_ view.js there is a comment about needing to
look at test/test_
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 /bugs.launchpad .net/bugs/ 1180959 /bugs.launchpad .net/juju- gui/+bug/ 1180959/ +subscriptions
> Status: New => Incomplete
>
> --
> You received this bug notification because you are a member of Juju GUI
> Hackers, which is subscribed to juju-gui.
> https:/
>
> 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:/
>