How to find a cause of memory leak in MS Internet Explorer?

"Dimitry Golubovsky" <[email protected]> Tue, 27 Nov 2007 09:58:09 -0500
Newsgroups gmane.comp.web.dom.wdf
Message-ID <[email protected]>
--BNFX2LDOe1tmEyqdqVSzUU-fcdmzXzBPBx1z1IQ
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Hi,

I have a web page which contains some machine-generated (from Haskell
for the curious) Javascript. This page displays an entry field, and
each time a number is typed, and Enter is pressed, the number is
converted to roman and printed above along with the time it took to
convert it. This is my "canonical" test program of the Haskell
converter.

The page is at http://www.golubovsky.org/repos/wsptest/EchoM.html
Haskell source if anybody is interested is
http://www.golubovsky.org/repos/wsptest/EchoM.hs

It works fine in Firefox, but leaks memory terribly in MSIE. I am
trying to find out the reason: where is that circular reference that
prevents objects from being GC'd.

Is there any free (not necessary open-source) tool specifically for
MSIE to inspect Javascript memory allocation and detect such circular
refs? One I saw, "Memory Validator", does not have free version.
Anything else?

Thanks.

-- 
Dimitry Golubovsky

Anywhere on the Web

--BNFX2LDOe1tmEyqdqVSzUU-fcdmzXzBPBx1z1IQ
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 7bit


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
</head>




<body style="background-color: #ffffff;">

<!--~-|**|PrettyHtmlStartT|**|-~-->
<div id="ygrp-mlmsg" style="width:655px; position:relative;">
  <div id="ygrp-msg" style="width: 490px; padding: 0 15px 0 0; float:left;  z-index:1;">
<!--~-|**|PrettyHtmlEndT|**|-~-->

    <div id="ygrp-text">
            <p>Hi,<br>
<br>
I have a web page which contains some machine-generated (from Haskell<br>
for the curious) Javascript. This page displays an entry field, and<br>
each time a number is typed, and Enter is pressed, the number is<br>
converted to roman and printed above along with the time it took to<br>
convert it. This is my &quot;canonical&quot; test program of the Haskell<br>
converter.<br>
<br>
The page is at <a href="http://www.golubovsky.org/repos/wsptest/EchoM.html">http://www.golubovs<wbr>ky.org/repos/<wbr>wsptest/EchoM.<wbr>html</a><br>
Haskell source if anybody is interested is<br>
<a href="http://www.golubovsky.org/repos/wsptest/EchoM.hs">http://www.golubovs<wbr>ky.org/repos/<wbr>wsptest/EchoM.<wbr>hs</a><br>
<br>
It works fine in Firefox, but leaks memory terribly in MSIE. I am<br>
trying to find out the reason: where is that circular reference that<br>
prevents objects from being GC'd.<br>
<br>
Is there any free (not necessary open-source) tool specifically for<br>
MSIE to inspect Javascript memory allocation and detect such circular<br>
refs? One I saw, &quot;Memory Validator&quot;, does not have free version.<br>
Anything else?<br>
<br>
Thanks.<br>
<br>
-- <br>
Dimitry Golubovsky<br>
<br>
Anywhere on the Web<br>
</p>
    </div>  

    <!--~-|**|PrettyHtmlStart|**|-~-->
    <span width="1" style="color: white;">__._,_.___</span>
    <!-- Start the section with Message In topic -->
    <div id="ygrp-actbar">
              <span class="left">
          <a href="http://groups.yahoo.com/group/wdf-dom/message/5623;_ylc=X3oDMTM0MzQybDczBF9TAzk3MzU5NzE0BGdycElkAzI1NjQ1NjMEZ3Jwc3BJZAMxNzA1MDE2MDYxBG1zZ0lkAzU2MjMEc2VjA2Z0cgRzbGsDdnRwYwRzdGltZQMxMTk2MTc2MTQxBHRwY0lkAzU2MjM-">
            Messages in this topic          </a> (<span class="bld">1</span>)
        </span>
        <a href="http://groups.yahoo.com/group/wdf-dom/post;_ylc=X3oDMTJwdHNwM2wyBF9TAzk3MzU5NzE0BGdycElkAzI1NjQ1NjMEZ3Jwc3BJZAMxNzA1MDE2MDYxBG1zZ0lkAzU2MjMEc2VjA2Z0cgRzbGsDcnBseQRzdGltZQMxMTk2MTc2MTQx?act=reply&messageNum=5623">
          <span class="bld">
            Reply          </span> (via web post)
        </a>  | 
        <a href="http://groups.yahoo.com/group/wdf-dom/post;_ylc=X3oDMTJldDU4cXQ2BF9TAzk3MzU5NzE0BGdycElkAzI1NjQ1NjMEZ3Jwc3BJZAMxNzA1MDE2MDYxBHNlYwNmdHIEc2xrA250cGMEc3RpbWUDMTE5NjE3NjE0MQ--" class="bld">
          Start a new topic        </a>
          </div> 
    <!-------     Start Nav Bar  ------>
    <!-- |**|begin egp html banner|**| -->
    <div id="ygrp-vitnav">
                <a href="http://groups.yahoo.com/group/wdf-dom/messages;_ylc=X3oDMTJlZWlhY2NzBF9TAzk3MzU5NzE0BGdycElkAzI1NjQ1NjMEZ3Jwc3BJZAMxNzA1MDE2MDYxBHNlYwNmdHIEc2xrA21zZ3MEc3RpbWUDMTE5NjE3NjE0MQ--">Messages</a>  
        
        
        
        
        
        
        
    </div>  
    <!-- |**|end egp html banner|**| -->

                <div id="ygrp-grft">
                  

              </div>
    
    <!-- yahoo logo -->
    <!-- |**|begin egp html banner|**| -->
    <div id="ygrp-ft">
      <a href="http://groups.yahoo.com/;_ylc=X3oDMTJkaDBhYWM2BF9TAzk3MzU5NzE0BGdycElkAzI1NjQ1NjMEZ3Jwc3BJZAMxNzA1MDE2MDYxBHNlYwNmdHIEc2xrA2dmcARzdGltZQMxMTk2MTc2MTQx">
      <img src="http://us.i1.yimg.com/us.yimg.com/i/yg/img/logo/ma_grp_160.gif" height="15" width="106" border="0" alt="Yahoo! Groups"></a> <br>
      <a href="http://groups.yahoo.com/group/wdf-dom/join;_ylc=X3oDMTJmdGhoaGhxBF9TAzk3MzU5NzE0BGdycElkAzI1NjQ1NjMEZ3Jwc3BJZAMxNzA1MDE2MDYxBHNlYwNmdHIEc2xrA3N0bmdzBHN0aW1lAzExOTYxNzYxNDE-">Change settings via the Web</a> (Yahoo! ID required) <br>
      Change settings via email: <a href="mailto:[email protected]?subject=Email Delivery: Digest">Switch delivery to Daily Digest</a> | <a href = "mailto:[email protected]?subject=Change Delivery Format: Traditional">Switch format to Traditional</a> <br>

      <a href="http://groups.yahoo.com/group/wdf-dom;_ylc=X3oDMTJkYWVpa2U1BF9TAzk3MzU5NzE0BGdycElkAzI1NjQ1NjMEZ3Jwc3BJZAMxNzA1MDE2MDYxBHNlYwNmdHIEc2xrA2hwZgRzdGltZQMxMTk2MTc2MTQx">
        Visit Your Group 
      </a> |
      <a href="http://docs.yahoo.com/info/terms/">
        Yahoo! Groups Terms of Use      </a> |
      <a href="mailto:[email protected]?subject=">
        Unsubscribe      </a> 
    </div>     <!-- |**|end egp html banner|**| -->
  </div> <!-- ygrp-msg -->

  
  <!-- Sponsor -->
  <!-- |**|begin egp html banner|**| -->
  <div id="ygrp-sponsor" style="width:140px;float: left; clear: none; margin-left: 5px; background:white; margin-bottom:25px ;position:absolute; top:0; right: 0;">
    <!-- Network content -->
    
    <!-- Start vitality -->
    <div id="ygrp-vital">
              <div id="vithd">Recent Activity</div>
        <ul style="list-style-type:none; padding: 0; margin: 2px 0;">
                <li style="clear: both;">
      <div class="ct" style="float: right;"><span style="display:none">&nbsp;</span>2</div>
      <div class="cat"><a href="http://groups.yahoo.com/group/wdf-dom/members;_ylc=X3oDMTJmYWhtamFmBF9TAzk3MzU5NzE0BGdycElkAzI1NjQ1NjMEZ3Jwc3BJZAMxNzA1MDE2MDYxBHNlYwN2dGwEc2xrA3ZtYnJzBHN0aW1lAzExOTYxNzYxNDE-">New Members</a></div>
    </li>
  
            
            
            
            
            
        </ul>
            <a href="http://groups.yahoo.com/group/wdf-dom;_ylc=X3oDMTJldTEzYTNoBF9TAzk3MzU5NzE0BGdycElkAzI1NjQ1NjMEZ3Jwc3BJZAMxNzA1MDE2MDYxBHNlYwN2dGwEc2xrA3ZnaHAEc3RpbWUDMTE5NjE3NjE0MQ--">
        Visit Your Group      </a>
    </div> 
              
    <!-- Network content -->
              <div id="nc">
              <div class="ad">
                      <div id="hd1">Food Lovers</div> 
<p><a href="http://us.ard.yahoo.com/SIG=12jn7bpob/M=493064.11036139.11614791.8674578/D=groups/S=1705016061:NC/Y=YAHOO/EXP=1196183341/A=4763757/R=0/SIG=1192rfjiu/*http://groups.yahoo.com/group/realfood/">Real Food Group</a></p> 
<p>on Yahoo! Groups</p> 
<p>find out more.</p>                  </div>
                    <div class="ad">
                      <div id="hd1">Fitness Edge</div> 
<p><a href="http://us.ard.yahoo.com/SIG=12j7idvcr/M=493064.11135487.11710473.8674578/D=groups/S=1705016061:NC/Y=YAHOO/EXP=1196183341/A=4834086/R=0/SIG=11ikjqbtm/*http://sports.groups.yahoo.com/group/accelerade/">A Yahoo! Group</a></p> 
<p>about sharing fitness</p> 
<p>and endurance goals.</p>                  </div>
                    <div class="ad">
                      <div id="hd1">Connect w/Parents</div> 
<p><a href="http://us.ard.yahoo.com/SIG=12j7cd4ir/M=493064.11804636.12264846.8674578/D=groups/S=1705016061:NC/Y=YAHOO/EXP=1196183341/A=5045823/R=0/SIG=11gsqr691/*http://advision.webevents.yahoo.com/parenting/">on Yahoo! Groups</a></p> 
<p>Get support and</p> 
<p>share information.</p>                  </div>
          </div>
    
  </div>   <!-- |**|end egp html banner|**| -->
  <div style="clear:both; color: #FFF; font-size:1px;">.</div>
</div>   <img src="http://geo.yahoo.com/serv?s=97359714/grpId=2564563/grpspId=1705016061/msgId=5623/stime=1196176141/nc1=4763757/nc2=4834086/nc3=5045823" width="1" height="1"> <br>

<span  style="color: white;">__,_._,___</span>
<!--~-|**|PrettyHtmlEnd|**|-~-->
</body>
<!--~-|**|PrettyHtmlStart|**|-~-->
<head>
<style type="text/css">
<!--
#ygrp-mkp{
  border: 1px solid #d8d8d8;
  font-family: Arial;
  margin: 14px 0px;
  padding: 0px 14px;
}
#ygrp-mkp hr{
  border: 1px solid #d8d8d8;
}
#ygrp-mkp #hd{
  color: #628c2a;
  font-size: 85%;
  font-weight: bold;
  line-height: 122%;
  margin: 10px 0px;
}
#ygrp-mkp #ads{
  margin-bottom: 10px;
}
#ygrp-mkp .ad{
  padding: 0 0;
}
#ygrp-mkp .ad a{
  color: #0000ff;
  text-decoration: none;
}
-->
</style>
</head>
<head>
<style type="text/css">
<!--
#ygrp-sponsor #ygrp-lc{
  font-family: Arial;
}
#ygrp-sponsor #ygrp-lc #hd{
  margin: 10px 0px;
  font-weight: bold;
  font-size: 78%;
  line-height: 122%;
}
#ygrp-sponsor #ygrp-lc .ad{
  margin-bottom: 10px;
  padding: 0 0;
}
-->
</style>
</head>
<head>
<style type="text/css">
<!--
#ygrp-mlmsg {font-size:13px; font-family: arial,helvetica,clean,sans-serif;*font-size:small;*font:x-small;}
#ygrp-mlmsg table {font-size:inherit;font:100%;}
#ygrp-mlmsg select, input, textarea {font:99% arial,helvetica,clean,sans-serif;}
#ygrp-mlmsg pre, code {font:115% monospace;*font-size:100%;}
#ygrp-mlmsg * {line-height:1.22em;}
#ygrp-text{
    font-family: Georgia;	
}
#ygrp-text p{
    margin: 0 0 1em 0;
}
#ygrp-tpmsgs{
    font-family: Arial;	
    clear: both;
}
#ygrp-vitnav{
	padding-top: 10px;
	font-family: Verdana;
	font-size: 77%;
	margin: 0;
}
#ygrp-vitnav a{
	padding: 0 1px;
}
#ygrp-actbar{
	clear: both;
	margin: 25px 0;
	white-space:nowrap;
	color: #666;
	text-align: right;
}
#ygrp-actbar .left{
	float: left;
	white-space:nowrap;
}
.bld{font-weight:bold;}
#ygrp-grft{
	font-family: Verdana;
	font-size: 77%;
	padding: 15px 0;
}
#ygrp-ft{
  font-family: verdana;
  font-size: 77%;
  border-top: 1px solid #666; 
  padding: 5px 0; 
}
#ygrp-mlmsg #logo{
  padding-bottom: 10px;
}

#ygrp-vital{
	background-color: #e0ecee;
	margin-bottom: 20px;
	padding: 2px 0 8px 8px;
}
#ygrp-vital #vithd{
	font-size: 77%;
	font-family: Verdana;
	font-weight: bold;
	color: #333;
	text-transform: uppercase;
}
#ygrp-vital ul{
	padding: 0;
	margin: 2px 0;
}
#ygrp-vital ul li{
  list-style-type: none;
  clear: both;
  border: 1px solid #e0ecee;  
}
#ygrp-vital ul li .ct{
  font-weight: bold;
  color: #ff7900;
  float: right;
  width: 2em;
  text-align:right;
  padding-right: .5em;
}
#ygrp-vital ul li .cat{
  font-weight: bold;
}
#ygrp-vital a{
	text-decoration: none;
}

#ygrp-vital a:hover{
  text-decoration: underline;
}

#ygrp-sponsor #hd{
	color: #999;
	font-size: 77%;
}
#ygrp-sponsor #ov{
	padding: 6px 13px;
	background-color: #e0ecee;
	margin-bottom: 20px;
}
#ygrp-sponsor #ov ul{
	padding: 0 0 0 8px;
	margin: 0;
}
#ygrp-sponsor #ov li{
	list-style-type: square;
	padding: 6px 0;
	font-size: 77%;
}
#ygrp-sponsor #ov li a{
	text-decoration: none;
	font-size: 130%;
}
#ygrp-sponsor #nc{
  background-color: #eee;
  margin-bottom: 20px;
  padding: 0 8px;
}
#ygrp-sponsor .ad{
	padding: 8px 0;
}
#ygrp-sponsor .ad #hd1{
	font-family: Arial;
	font-weight: bold;
	color: #628c2a;
	font-size: 100%;
	line-height: 122%;
}
#ygrp-sponsor .ad a{
	text-decoration: none;
}
#ygrp-sponsor .ad a:hover{
	text-decoration: underline;
}
#ygrp-sponsor .ad p{
	margin: 0;
}
o{font-size: 0; }
.MsoNormal{
   margin: 0 0 0 0;
}
#ygrp-text tt{
  font-size: 120%;
}
blockquote{margin: 0 0 0 4px;}
.replbq{margin:4}
-->
</style>
</head>
<!--~-|**|PrettyHtmlEnd|**|-~-->
</html><!--End group email -->


--BNFX2LDOe1tmEyqdqVSzUU-fcdmzXzBPBx1z1IQ--