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

        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.

          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