IE6 memory leak - very fiddly

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Daniel Orner

    IE6 memory leak - very fiddly

    Hi all,

    I've been trying to pin down a memory leak in IE6 for several WEEKS
    now. I've done my share of googling etc., and know all about common
    leaks like circular references and closures, but have found nothing like
    this.
    This app is designed to run in a kiosk environment, so it has
    things like a persistent frame which holds data as well as the visible
    frame (actually an iframe). After 1,000 page transitions our app is up
    by almost 20MB; considering kiosks can run for days or even weeks this
    is definitely not ideal. There's definitely a lot of stuff happening,
    but I've managed to pin the leak down to a very odd case.

    I have two identical test pages which I click between using a
    navigate() function. I am absolutely sure that the tags in question have
    their event handlers set to null before the page is navigated away from.

    The following shows the leak (apologies, my news server disallows
    HTML tags):

    [a onmousedown="na vigate('testPag e2.html');"]CLICK ME[/a]

    The following does NOT leak (there's a small leak but nowhere near
    as much):

    [a href='#' onmousedown="na vigate('testPag e2.html');"]CLICK ME[/a]

    The following DOES leak:

    [a onmousedown="lo cation.href='#' ;navigate('test Page2.html');"]CLICK ME[/a]

    Does anyone have any clue why this might be, ignoring the mass of
    code that gets executed on page load/unload? Why would clicking that
    link not leak only when there's an href assigned? Does that do something
    weird to the event bubbling, perhaps? Or fire an extra event (or *not*
    fire some other event)? And why wouldn't the magic also trip when
    location.href is assigned via JavaScript?

    Anyone who has any idea about this is invited to make my life a lot
    happier. Thanks very much!

    --Daniel Orner
  • kit.ludwick

    #2
    Re: IE6 memory leak - very fiddly

    Wouldn't the "location.href= '#'" reload the page, thereby reinitialize
    any event handlers you have in your code? What does "navigate() " do,
    besides the obvious I mean...

    Comment

    • Daniel Orner

      #3
      Re: IE6 memory leak - very fiddly

      kit.ludwick wrote:
      Wouldn't the "location.href= '#'" reload the page, thereby reinitialize
      any event handlers you have in your code? What does "navigate() " do,
      besides the obvious I mean...
      No, I tried it and it doesn't reload the page, at least on IE6. And if
      it did, the same thing would have happened in the onmousedown handler,
      and yet they act differently.
      The navigate() basically moves to the next page. Like I said, there's a
      lot of stuff going on there (there are several frames/iframes involved),
      but I'd like to concentrate on the difference between adding an href='#'
      attribute and removing it.

      Comment

      • Thomas 'PointedEars' Lahn

        #4
        Re: IE6 memory leak - very fiddly

        kit.ludwick wrote:
        Wouldn't the "location.href= '#'" reload the page, [...]
        Of course not. Read RFC3986.


        PointedEars
        --
        var bugRiddenCrashP ronePieceOfJunk = (
        navigator.userA gent.indexOf('M SIE 5') != -1
        && navigator.userA gent.indexOf('M ac') != -1
        ) // Plone, register_functi on.js:16

        Comment

        • Thomas 'PointedEars' Lahn

          #5
          Re: IE6 memory leak - very fiddly

          Daniel Orner wrote:
          I have two identical test pages which I click between using a
          navigate() function. I am absolutely sure that the tags in question have
          their event handlers set to null before the page is navigated away from.
          >
          The following shows the leak (apologies, my news server disallows
          HTML tags):
          Find a better server. aioe.org is, due to its lack of policy, a home for
          spammers and trolls to begin with, and filtered by some people and servers
          because of this.
          [a onmousedown="na vigate('testPag e2.html');"]CLICK ME[/a]
          >
          The following does NOT leak (there's a small leak but nowhere near
          as much):
          >
          [a href='#' onmousedown="na vigate('testPag e2.html');"]CLICK ME[/a]
          >
          The following DOES leak:
          >
          [a onmousedown="lo cation.href='#' ;navigate('test Page2.html');"]CLICK ME[/a]
          >
          Does anyone have any clue why this might be, ignoring the mass of
          code that gets executed on page load/unload?
          Chances are something else happens than posted here. Not all event
          listeners are obvious from the markup. In fact, some people, particularly
          clueless authors and users of libraries, like to obfuscate their
          applications by using scripting methods to add event listeners when there is
          no need for that, calling such atrocities "Unobtrusiv e JavaScript" then.
          Makes it a PITA to debug the application every time.

          Then again, IE 6 is a piece of outdated junk. I'm looking forward to its
          end-of-life.


          PointedEars
          --
          Use any version of Microsoft Frontpage to create your site.
          (This won't prevent people from viewing your source, but no one
          will want to steal it.)
          -- from <http://www.vortex-webdesign.com/help/hidesource.htm>

          Comment

          • Daniel Orner

            #6
            Re: IE6 memory leak - very fiddly

            Thomas 'PointedEars' Lahn wrote:
            Daniel Orner wrote:
            > I have two identical test pages which I click between using a
            >navigate() function. I am absolutely sure that the tags in question have
            >their event handlers set to null before the page is navigated away from.
            >>
            > The following shows the leak (apologies, my news server disallows
            >HTML tags):
            >
            Find a better server. aioe.org is, due to its lack of policy, a home for
            spammers and trolls to begin with, and filtered by some people and servers
            because of this.
            >
            >[a onmousedown="na vigate('testPag e2.html');"]CLICK ME[/a]
            >>
            > The following does NOT leak (there's a small leak but nowhere near
            >as much):
            >>
            >[a href='#' onmousedown="na vigate('testPag e2.html');"]CLICK ME[/a]
            >>
            > The following DOES leak:
            >>
            >[a onmousedown="lo cation.href='#' ;navigate('test Page2.html');"]CLICK ME[/a]
            >>
            > Does anyone have any clue why this might be, ignoring the mass of
            >code that gets executed on page load/unload?
            >
            Chances are something else happens than posted here. Not all event
            listeners are obvious from the markup. In fact, some people, particularly
            clueless authors and users of libraries, like to obfuscate their
            applications by using scripting methods to add event listeners when there is
            no need for that, calling such atrocities "Unobtrusiv e JavaScript" then.
            Makes it a PITA to debug the application every time.
            >
            Then again, IE 6 is a piece of outdated junk. I'm looking forward to its
            end-of-life.
            >
            >
            PointedEars
            Can't argue there. -_- It'll be quite a while though, especially in my
            line of work.
            I have a cleanup function that runs and gets rid of the event handlers
            on page unload. I've also installed the latest IE patch (April 2008)
            that *supposedly* renders those issues moot.
            There certainly is more stuff happening on navigation, but I'm more
            concerned about the difference in behavior from adding the href='#' and
            leaving it out... if I could understand that maybe I could mimic that
            behavior in the real app.
            In any case, I'm not doing anything with those tags other than what's
            hardcoded in them plus removing the event handlers on page unload. So
            unless the Prototype library manually seeks out every tag on the page
            and does stuff to them (which I highly doubt) that wouldn't have
            anything to do with it.

            Thanks for your feedback!

            --Daniel

            Comment

            • Thomas 'PointedEars' Lahn

              #7
              Re: IE6 memory leak - very fiddly

              Daniel Orner wrote:
              Thomas 'PointedEars' Lahn wrote:
              >Daniel Orner wrote:
              >> The following does NOT leak (there's a small leak but nowhere near
              >>as much):
              >>>
              >>[a href='#' onmousedown="na vigate('testPag e2.html');"]CLICK ME[/a]
              >>>
              >> The following DOES leak:
              >>>
              >>[a onmousedown="lo cation.href='#' ;navigate('test Page2.html');"]CLICK ME[/a]
              >>>
              >> Does anyone have any clue why this might be, ignoring the mass of
              >>code that gets executed on page load/unload?
              >Chances are something else happens than posted here. Not all event
              >listeners are obvious from the markup. In fact, some people, particularly
              >clueless authors and users of libraries, like to obfuscate their
              >applications by using scripting methods to add event listeners when there is
              >no need for that, calling such atrocities "Unobtrusiv e JavaScript" then.
              >Makes it a PITA to debug the application every time.
              >[...]
              >
              [...]
              In any case, I'm not doing anything with those tags other than what's
              hardcoded in them plus removing the event handlers on page unload. So
              unless the Prototype library manually seeks out every tag on the page
              and does stuff to them (which I highly doubt) that wouldn't have
              anything to do with it.
              Prototype.js is junk, and an example of the libaries I mentioned above, so
              all bets are off. Dump it and a lot of problems will go away.

              Please trim your quotes.


              PointedEars
              --
              Anyone who slaps a 'this page is best viewed with Browser X' label on
              a Web page appears to be yearning for the bad old days, before the Web,
              when you had very little chance of reading a document written on another
              computer, another word processor, or another network. -- Tim Berners-Lee

              Comment

              • Daniel Orner

                #8
                Re: IE6 memory leak - very fiddly

                Thomas 'PointedEars' Lahn wrote:
                Daniel Orner wrote:
                >Thomas 'PointedEars' Lahn wrote:
                >>Daniel Orner wrote:
                >>> The following does NOT leak (there's a small leak but nowhere near
                >>>as much):
                >>>>
                >>>[a href='#' onmousedown="na vigate('testPag e2.html');"]CLICK ME[/a]
                >>>>
                >>> The following DOES leak:
                >>>>
                >>>[a onmousedown="lo cation.href='#' ;navigate('test Page2.html');"]CLICK ME[/a]
                >>>>
                >>> Does anyone have any clue why this might be, ignoring the mass of
                >>>code that gets executed on page load/unload?
                >>Chances are something else happens than posted here. Not all event
                >>listeners are obvious from the markup. In fact, some people, particularly
                >>clueless authors and users of libraries, like to obfuscate their
                >>application s by using scripting methods to add event listeners when there is
                >>no need for that, calling such atrocities "Unobtrusiv e JavaScript" then.
                >>Makes it a PITA to debug the application every time.
                >>[...]
                >[...]
                > In any case, I'm not doing anything with those tags other than what's
                >hardcoded in them plus removing the event handlers on page unload. So
                >unless the Prototype library manually seeks out every tag on the page
                >and does stuff to them (which I highly doubt) that wouldn't have
                >anything to do with it.
                >
                Prototype.js is junk, and an example of the libaries I mentioned above, so
                all bets are off. Dump it and a lot of problems will go away.
                >
                Please trim your quotes.
                >
                >
                PointedEars
                Thanks for the tip. I did look at the quotes but thought that they were
                all relevant to my reply.
                Unfortunately, getting rid of Prototype will be difficult at this
                point. Even if Prototype was the culprit, however, that still doesn't
                answer the question of why the leak doesn't happen when I add that
                "href" attribute to the link. That's what I'm most concerned about.

                Comment

                • David Mark

                  #9
                  Re: IE6 memory leak - very fiddly

                  On Nov 19, 5:38 pm, Daniel Orner <dor...@ca.ibm. comwrote:
                  Thomas 'PointedEars' Lahn wrote:
                  Daniel Orner wrote:
                  Thomas 'PointedEars' Lahn wrote:
                  >Daniel Orner wrote:
                  >>     The following does NOT leak (there's a small leak but nowhere near
                  >>as much):
                  >
                  >>[a href='#' onmousedown="na vigate('testPag e2.html');"]CLICK ME[/a]
                  >
                  >>     The following DOES leak:
                  >
                  >>[a onmousedown="lo cation.href='#' ;navigate('test Page2.html');"]CLICK ME[/a]
                  >
                  >>     Does anyone have any clue why this might be, ignoring themass of
                  >>code that gets executed on page load/unload?
                  >Chances are something else happens than posted here.  Not all event
                  >listeners are obvious from the markup.  In fact, some people, particularly
                  >clueless authors and users of libraries, like to obfuscate their
                  >applications by using scripting methods to add event listeners when there is
                  >no need for that, calling such atrocities "Unobtrusiv e JavaScript" then.
                  >Makes it a PITA to debug the application every time.
                  >[...]
                  [...]
                         In any case, I'm not doing anything with those tags other than what's
                  hardcoded in them plus removing the event handlers on page unload. So
                  unless the Prototype library manually seeks out every tag on the page
                  and does stuff to them (which I highly doubt) that wouldn't have
                  anything to do with it.
                  >
                  Prototype.js is junk, and an example of the libaries I mentioned above,so
                  all bets are off.  Dump it and a lot of problems will go away.
                  >
                  Please trim your quotes.
                  >
                  PointedEars
                  >
                          Thanks for the tip. I did look at the quotes but thought that they were
                  all relevant to my reply.
                          Unfortunately, getting rid of Prototype will be difficultat this
                  point. Even if Prototype was the culprit, however, that still doesn't
                  See what you did? Great way to save time.
                  answer the question of why the leak doesn't happen when I add that
                  "href" attribute to the link. That's what I'm most concerned about.
                  Why?

                  Comment

                  • Bart Van der Donck

                    #10
                    Re: IE6 memory leak - very fiddly

                    Daniel Orner wrote:
                         I've been trying to pin down a memory leak in IE6 for several WEEKS
                    now. I've done my share of googling etc., and know all about common
                    leaks like circular references and closures, but have found nothing like
                    this.
                         This app is designed to run in a kiosk environment, so it has
                    things like a persistent frame which holds data as well as the visible
                    frame (actually an iframe). After 1,000 page transitions our app is up
                    by almost 20MB; considering kiosks can run for days or even weeks this
                    is definitely not ideal.
                    A webpage that keeps in the memory for days/weeks, should preferably
                    use scarce client side scripting.
                    There's definitely a lot of stuff happening, but I've managed to pin
                    the leak down to a very odd case.
                    >
                         I have two identical test pages which I click between using a
                    navigate() function. I am absolutely sure that the tags in question have
                    their event handlers set to null before the page is navigated away from.
                    >
                         The following shows the leak (apologies, my news server disallows
                    HTML tags):
                    [a onmousedown="na vigate('testPag e2.html');"]CLICK ME[/a]
                    >
                         The following does NOT leak (there's a small leak but nowhere near
                    as much):
                    [a href='#' onmousedown="na vigate('testPag e2.html');"]CLICK ME[/a]
                    >
                         The following DOES leak:
                    [a onmousedown="lo cation.href='#' ;navigate('test Page2.html');"]CLICK ME[/a]
                    Your code is the same as:

                    <a href="testPage2 .html" target="xx">CLI CK ME</a>

                    If you need additional code in your 'navigate()'-function, it could be
                    placed in an 'onLoad'-event of the body of testPage2.html, or
                    alternatively in an 'onClick'-event of the same <a>:

                    <a href="testPage2 .html" target="xx" onClick="...">C LICK ME</a>

                    The 'onLoad' is maybe better because it is a fresh page. And I like
                    onClick more than onMouseDown, but that is probably a personal
                    preference nowadays.
                         Does anyone have any clue why this might be, ignoring the massof
                    code that gets executed on page load/unload? Why would clicking that
                    link not leak only when there's an href assigned? Does that do something
                    weird to the event bubbling, perhaps? Or fire an extra event (or *not*
                    fire some other event)? And why wouldn't the magic also trip when
                    location.href is assigned via JavaScript?
                    The reason for the leak is impossible to determine, as it is MSIE
                    source code. My best bet goes to MS coders who assumed that there will
                    always be a href-attribute if an <a>-tag holds an onMouseDown, and
                    they overlooked the possibility if that were different.

                    Microsoft's JScript knows the unofficial and undocumented
                    'CollectGarbage ()'. Maybe it could help in this case, but it's better
                    to avoid it when possible.


                    In your type of application (Kiosk), I suppose you should have the
                    possibility to update to MSIE 7/8. That could maybe solve the problem
                    as well.

                    Anyway, your posted code is a bit unusual and awkward IMHO. I would
                    rewrite it.

                    Hope this helps,

                    --
                    Bart

                    Comment

                    • Daniel Orner

                      #11
                      Re: IE6 memory leak - very fiddly

                      David Mark wrote:
                      On Nov 19, 5:38 pm, Daniel Orner <dor...@ca.ibm. comwrote:
                      >Thomas 'PointedEars' Lahn wrote:
                      >>Daniel Orner wrote:
                      >>>Thomas 'PointedEars' Lahn wrote:
                      >>>>Daniel Orner wrote:
                      >>>>> The following does NOT leak (there's a small leak but nowhere near
                      >>>>>as much):
                      >>>>>[a href='#' onmousedown="na vigate('testPag e2.html');"]CLICK ME[/a]
                      >>>>> The following DOES leak:
                      >>>>>[a onmousedown="lo cation.href='#' ;navigate('test Page2.html');"]CLICK ME[/a]
                      >>>>> Does anyone have any clue why this might be, ignoring the mass of
                      >>>>>code that gets executed on page load/unload?
                      <SNIP>
                      >
                      >answer the question of why the leak doesn't happen when I add that
                      >"href" attribute to the link. That's what I'm most concerned about.
                      >
                      Why?
                      Because if I could isolate that behavior and somehow apply it to my
                      other tags, it would immediately fix the problem without forcing me to
                      go back and totally redo half my code. There are parts of Prototype I
                      use extensively which would be very hard to do without.

                      Comment

                      • Daniel Orner

                        #12
                        Re: IE6 memory leak - very fiddly

                        Bart Van der Donck wrote:
                        >
                        A webpage that keeps in the memory for days/weeks, should preferably
                        use scarce client side scripting.
                        Unfortunately it's difficult to work around that while still doing
                        browser-based apps. Part of the problem is trying to balance the
                        necessity of contacting the server with the complexity of the client code.
                        >
                        >There's definitely a lot of stuff happening, but I've managed to pin
                        >the leak down to a very odd case.
                        >>
                        > I have two identical test pages which I click between using a
                        >navigate() function. I am absolutely sure that the tags in question have
                        >their event handlers set to null before the page is navigated away from.
                        >>
                        > The following shows the leak (apologies, my news server disallows
                        >HTML tags):
                        >[a onmousedown="na vigate('testPag e2.html');"]CLICK ME[/a]
                        >>
                        > The following does NOT leak (there's a small leak but nowhere near
                        >as much):
                        >[a href='#' onmousedown="na vigate('testPag e2.html');"]CLICK ME[/a]
                        >>
                        > The following DOES leak:
                        >[a onmousedown="lo cation.href='#' ;navigate('test Page2.html');"]CLICK
                        ME[/a]
                        >
                        Your code is the same as:
                        >
                        [a href="testPage2 .html" target="xx"]CLICK ME[/a]
                        I thought "target" indicated which window frame to click into? How is
                        that the same as my code? And which one is the same as that? The one
                        that does leak or the one that doesn't?
                        >
                        If you need additional code in your 'navigate()'-function, it could be
                        placed in an 'onLoad'-event of the body of testPage2.html, or
                        alternatively in an 'onClick'-event of the same [a]:
                        >
                        [a href="testPage2 .html" target="xx" onClick="..."]CLICK ME[/a]
                        What's the difference between onmousedown and onClick? I'm not sure I
                        get this.
                        >
                        The 'onLoad' is maybe better because it is a fresh page. And I like
                        onClick more than onMouseDown, but that is probably a personal
                        preference nowadays.
                        onClick is unfortunately not usable in a kiosk environment with a touch
                        screen where inadvertent mouse drags might mess it up.
                        >
                        > Does anyone have any clue why this might be, ignoring the mass of
                        >code that gets executed on page load/unload? Why would clicking that
                        >link not leak only when there's an href assigned? Does that do something
                        >weird to the event bubbling, perhaps? Or fire an extra event (or *not*
                        >fire some other event)? And why wouldn't the magic also trip when
                        >location.hre f is assigned via JavaScript?
                        >
                        The reason for the leak is impossible to determine, as it is MSIE
                        source code. My best bet goes to MS coders who assumed that there will
                        always be a href-attribute if an [a]-tag holds an onMouseDown, and
                        they overlooked the possibility if that were different.
                        >
                        Microsoft's JScript knows the unofficial and undocumented
                        'CollectGarbage ()'. Maybe it could help in this case, but it's better
                        to avoid it when possible.
                        http://groups.google.com/group/comp....3c7c11f20ad185
                        I don't think that's the issue... we do long-running tests and
                        doubtless the garbage collection happens at least at the end of it. I'll
                        give it a try though... thanks for the tip.
                        >
                        In your type of application (Kiosk), I suppose you should have the
                        possibility to update to MSIE 7/8. That could maybe solve the problem
                        as well.
                        Unfortunately we don't own the kiosks and can't demand this of the
                        operators.
                        >
                        Anyway, your posted code is a bit unusual and awkward IMHO. I would
                        rewrite it.
                        The posted code is a very simple test; it isn't what we'd actually use.
                        I'm just trying to analyze it, particularly why that "href='#'" suddenly
                        causes the leak to go away.

                        Thanks very much for the help!

                        Comment

                        • Bart Van der Donck

                          #13
                          Re: IE6 memory leak - very fiddly

                          Daniel Orner wrote:
                          Bart Van der Donck wrote:
                          >Daniel Orner wrote:
                          >>[a onmousedown="na vigate('testPag e2.html');"]CLICK ME[/a]
                          >>[a href='#' onmousedown="na vigate('testPag e2.html');"]CLICK ME[/a]
                          >>[a onmousedown="lo cation.href='#' ;navigate('test Page2.html');"]
                          >>CLICK ME[/a]
                          >>
                          >Your code is the same as:
                          >  [a href="testPage2 .html" target="xx"]CLICK ME[/a]
                          >
                                  I thought "target" indicated which window frame to click into? How is
                          that the same as my code? And which one is the same as that? The one
                          that does leak or the one that doesn't?
                          It is identical to the three (I assume that your 'navigate()' modifies
                          the location of another frame).

                          The target-attribute specifies in which frame or window the link
                          should be opened.

                          Suppose your page has 2 frames, one <frame name="upperfram e"
                          src="1.htm"and the other <frame name="lowerfram e" src="2.htm">, then
                          a line <a href="3.htm" target="lowerfr ame">click</ainside the upper
                          frame will open in the lower frame. The content of upper frame remains
                          identical in this case, unless, for example, 3.htm holds a <body
                          onLoad=""with an instruction to alter the location of the upper
                          frame.
                          >  [a href="testPage2 .html" target="xx" onClick="..."]CLICK ME[/a]
                          >
                                 What's the difference between onmousedown and onClick? I'mnot sure I
                          get this.
                          'onClick' has stronger historical roots, but I think it actually
                          doesn't matter.
                           The 'onLoad' is maybe better because it is a fresh page. And I like
                           onClick more than onMouseDown, but that is probably a personal
                           preference nowadays.
                          >
                                  onClick is unfortunately not usable in a kiosk environment with a touch
                          screen where inadvertent mouse drags might mess it up.
                          I see. Then you can of course not use 'onClick'.
                          >Microsoft's JScript knows the unofficial and undocumented
                          >'CollectGarbag e()'. Maybe it could help in this case, but it's better
                          >to avoid it when possible.
                          >
                                  I don't think that's the issue... we do long-running tests and
                          doubtless the garbage collection happens at least at the end of it. I'll
                          give it a try though... thanks for the tip.
                          You're welcome. But I doubt if it will help.

                          --
                          Bart

                          Comment

                          • The Natural Philosopher

                            #14
                            Re: IE6 memory leak - very fiddly

                            Daniel Orner wrote:
                            David Mark wrote:
                            >On Nov 19, 5:38 pm, Daniel Orner <dor...@ca.ibm. comwrote:
                            >>Thomas 'PointedEars' Lahn wrote:
                            >>>Daniel Orner wrote:
                            >>>>Thomas 'PointedEars' Lahn wrote:
                            >>>>>Daniel Orner wrote:
                            >>>>>> The following does NOT leak (there's a small leak but
                            >>>>>>nowhere near
                            >>>>>>as much):
                            >>>>>>[a href='#' onmousedown="na vigate('testPag e2.html');"]CLICK ME[/a]
                            >>>>>> The following DOES leak:
                            >>>>>>[a
                            >>>>>>onmousedo wn="location.hr ef='#';navigate ('testPage2.htm l');"]CLICK
                            >>>>>>ME[/a]
                            >>>>>> Does anyone have any clue why this might be, ignoring the
                            >>>>>>mass of
                            >>>>>>code that gets executed on page load/unload?
                            <SNIP>
                            >>
                            >>answer the question of why the leak doesn't happen when I add that
                            >>"href" attribute to the link. That's what I'm most concerned about.
                            >>
                            >Why?
                            >
                            Because if I could isolate that behavior and somehow apply it to my
                            other tags, it would immediately fix the problem without forcing me to
                            go back and totally redo half my code. There are parts of Prototype I
                            use extensively which would be very hard to do without.
                            This is a long shot. And shoot me down, but possibly what is happening
                            is that a succession of windows opening in different targets are causing
                            an excessive amount of window objects to build up in the browser.
                            Windows that are closed, are not 'destroyed', merely *marked as closed*.
                            I try to always re-use window targets for this reason, and to also not
                            proliferate too many popups




                            Comment

                            • David Mark

                              #15
                              Re: IE6 memory leak - very fiddly

                              On Nov 20, 6:49 pm, The Natural Philosopher <a...@b.cwrot e:

                              [snip]
                              This is a long shot. And shoot me down, but possibly what is happening
                              No.

                              Comment

                              Working...