Tapestry 5
  1. Tapestry 5
  2. TAP5-1147

Ajax updates under IE leak lots of memory

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Critical Critical
    • Resolution: Fixed
    • Affects Version/s: 5.2.0
    • Fix Version/s: 5.2.0
    • Component/s: tapestry-core
    • Labels:

      Description

      When an Ajax update changes content on a page, IE wil leak the old DOM nodes under many circumstances. If the DOM nodes have event handlers that are closures that hold a reference back to the DOM node (very easy to do, even without meaning to) a leak will ensue.

        Activity

        Howard M. Lewis Ship created issue -
        Hide
        Howard M. Lewis Ship added a comment -

        Notes on it:

        http://www.outofhanwell.com/ieleak/index.php?title=Main_Page

        http://javascript.crockford.com/memory/leak.html

        this problem has been around for a while.

        The right course of action is to be careful about anything deleted from the DOM. It is necessary to delete any attributes that look like functions (i.e., onclick or onevent attributes) as well as use Prototype's APIs to delete any event handler functions. Only then do the memory leaks disappear.

        Fortunately, I had some time to work through this for a client.

        Show
        Howard M. Lewis Ship added a comment - Notes on it: http://www.outofhanwell.com/ieleak/index.php?title=Main_Page http://javascript.crockford.com/memory/leak.html this problem has been around for a while. The right course of action is to be careful about anything deleted from the DOM. It is necessary to delete any attributes that look like functions (i.e., onclick or onevent attributes) as well as use Prototype's APIs to delete any event handler functions. Only then do the memory leaks disappear. Fortunately, I had some time to work through this for a client.
        Howard M. Lewis Ship made changes -
        Field Original Value New Value
        Summary Ajax updated under IE leak lots of memory Ajax updates under IE leak lots of memory
        Assignee Howard M. Lewis Ship [ hlship ]
        Priority Major [ 3 ] Critical [ 2 ]
        Howard M. Lewis Ship made changes -
        Labels ie javascript
        Description When an Ajax update changes content on a page, IE wil leak the old DOM nodes under many circumstances. If the DOM nodes have event handlers that are closures that hold a reference back to the DOM node (very easy to do, even without meaning to) a leak will ensue.
        Howard M. Lewis Ship made changes -
        Status Open [ 1 ] In Progress [ 3 ]
        Howard M. Lewis Ship made changes -
        Status In Progress [ 3 ] Closed [ 6 ]
        Fix Version/s 5.2.0 [ 12314122 ]
        Resolution Fixed [ 1 ]
        Transition Time In Source Status Execution Times Last Executer Last Execution Date
        Open Open In Progress In Progress
        19m 50s 1 Howard M. Lewis Ship 12/May/10 23:17
        In Progress In Progress Closed Closed
        19h 34m 1 Howard M. Lewis Ship 13/May/10 18:51

          People

          • Assignee:
            Howard M. Lewis Ship
            Reporter:
            Howard M. Lewis Ship
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development