<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:wfw="http://wellformedweb.org/CommentAPI/"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
>
<!-- MHonArc v2.6.10 -->
	<channel>
		<title>mat-dev</title>
		<link>http://dev.eclipse.org/mhonarc/lists/mat-dev/maillist.html</link>
		<description>mat-dev</description>
		<language>en-us</language>
		<pubDate>Wed, 09 May 2012 10:00:04 GMT</pubDate>
		<lastBuildDate>Wed, 09 May 2012 10:00:04 GMT</lastBuildDate>
		<docs>http://blogs.law.harvard.edu/tech/rss</docs>
		<generator>MHonArc RSS 2.0 RCFile</generator>
		<managingEditor>webmaster@eclipse.org (Webmaster)</managingEditor>
		<webMaster>webmaster@eclipse.org (Webmaster)</webMaster>
		<image>
			<title>mat-dev</title>
			<url>http://www.eclipse.org/eclipse.org-common/themes/Phoenix/images/eclipse_home_header.jpg</url>
			<link>http://dev.eclipse.org/mhonarc/lists/mat-dev/maillist.html</link>
		</image>
 

	<item>
		<title>[mat-dev] Contribution to Juno M7</title>
		<link>http://dev.eclipse.org/mhonarc/lists/mat-dev/msg00332.html</link>
		<description>Just a short info &amp;#8211; I used the build from yesterday (SVN revision 1342) as MAT for M7 of the Juno release.I re-enabled MAT which was temporary excluded from the simultaneous release build because of this: http://dev.eclipse.org/mhonarc/lists/cross-project-...</description>
		<content:encoded><![CDATA[<table width="100%"><tr><td style="a:link { color: blue } a:visited { color: purple } "><div class=WordSection1><p class=MsoNormal><span lang=EN-US>Just a short info &#8211; I used the build from yesterday (SVN revision 1342) as MAT for M7 of the Juno release.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>I re-enabled MAT which was temporary excluded from the simultaneous release build because of this: <o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif";color:blue'><a href="http://dev.eclipse.org/mhonarc/lists/cross-project-issues-dev/msg07545.html">http://dev.eclipse.org/mhonarc/lists/cross-project-issues-dev/msg07545.html</a></span><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>Krum<span style='color:blue'><o:p></o:p></span></span></p><p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p></div></td></tr></table>]]></content:encoded>
		<pubDate>Wed, 09 May 2012 09:52:51 GMT</pubDate>
		<guid isPermaLink="true">http://dev.eclipse.org/mhonarc/lists/mat-dev/msg00332.html</guid>
		<author>krum.tsvetkov@xxxxxxx (Tsvetkov, Krum)</author>
	</item>


	<item>
		<title>Re: [mat-dev] Failing Hudson jon</title>
		<link>http://dev.eclipse.org/mhonarc/lists/mat-dev/msg00331.html</link>
		<description>The connection problem is fixed now. Krum From: mat-dev-bounces@xxxxxxxxxxx [mailto:mat-dev-bounces@xxxxxxxxxxx] On Behalf Of Tsvetkov, KrumSent: Mittwoch, 2. Mai 2012 11:55To: Memory Analyzer Dev listSubject: [mat-dev] Failing Hudson jon Hi, just a short ...</description>
		<content:encoded><![CDATA[<table width="100%"><tr><td style="a:link { color: blue } a:visited { color: purple } "><div class=WordSection1><p class=MsoNormal><span lang=EN-US style='color:#1F497D'>The connection problem is fixed now.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:#1F497D'>Krum<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:#1F497D'><o:p>&nbsp;</o:p></span></p><div><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal><b><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> mat-dev-bounces@xxxxxxxxxxx [mailto:mat-dev-bounces@xxxxxxxxxxx] <b>On Behalf Of </b>Tsvetkov, Krum<br><b>Sent:</b> Mittwoch, 2. Mai 2012 11:55<br><b>To:</b> Memory Analyzer Dev list<br><b>Subject:</b> [mat-dev] Failing Hudson jon<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal><span lang=EN-US>Hi,<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-US>just a short info &#8211; in the last days the MAT Hudson job is failing because of connection timeout trying to download dtfj. <o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>I&#8217;ve opened <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=378222">https://bugs.eclipse.org/bugs/show_bug.cgi?id=378222</a> for this.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-US>Krum<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p></div></td></tr></table>]]></content:encoded>
		<pubDate>Fri, 04 May 2012 07:27:35 GMT</pubDate>
		<guid isPermaLink="true">http://dev.eclipse.org/mhonarc/lists/mat-dev/msg00331.html</guid>
		<author>krum.tsvetkov@xxxxxxx (Tsvetkov, Krum)</author>
	</item>


	<item>
		<title>[mat-dev] Failing Hudson jon</title>
		<link>http://dev.eclipse.org/mhonarc/lists/mat-dev/msg00330.html</link>
		<description>Hi, just a short info &amp;#8211; in the last days the MAT Hudson job is failing because of connection timeout trying to download dtfj. I&amp;#8217;ve opened https://bugs.eclipse.org/bugs/show_bug.cgi?id=378222 for this. Krum </description>
		<content:encoded><![CDATA[<table width="100%"><tr><td style="a:link { color: blue } a:visited { color: purple } "><div class=WordSection1><p class=MsoNormal><span lang=EN-US>Hi,<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-US>just a short info &#8211; in the last days the MAT Hudson job is failing because of connection timeout trying to download dtfj. <o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>I&#8217;ve opened <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=378222">https://bugs.eclipse.org/bugs/show_bug.cgi?id=378222</a> for this.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-US>Krum</span><span lang=EN-US><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p></div></td></tr></table>]]></content:encoded>
		<pubDate>Wed, 02 May 2012 09:55:32 GMT</pubDate>
		<guid isPermaLink="true">http://dev.eclipse.org/mhonarc/lists/mat-dev/msg00330.html</guid>
		<author>krum.tsvetkov@xxxxxxx (Tsvetkov, Krum)</author>
	</item>


	<item>
		<title>Re: [mat-dev] FW: [tools-pmc] Migrating from CVS to Git</title>
		<link>http://dev.eclipse.org/mhonarc/lists/mat-dev/msg00329.html</link>
		<description>There's a page about migrating to git which you probably already know at http://wiki.eclipse.org/Git/Migrating_to_Git . Also, Chris Aniszczyk has offered his help on moving to Git in the past. If he still wants to help, it may be a good idea to ask him to ...</description>
		<content:encoded><![CDATA[<pre style="margin: 0em;">Hi,</pre><br>
<tt>On 22.03.2012 08:51, Tsvetkov, Krum wrote:
</tt><blockquote style="border-left: #5555EE solid 0.2em; margin: 0em; padding-left: 0.85em"><pre style="margin: 0em;">Not quite sure how long &#x201C;near term&#x201D; is, but I think we have to finally
start planning our move to Git.
</pre></blockquote><tt><br>There's a page about migrating to git which you probably already know at 
<a  href="http://wiki.eclipse.org/Git/Migrating_to_Git">http://wiki.eclipse.org/Git/Migrating_to_Git</a> . Also, Chris Aniszczyk has 
offered his help on moving to Git in the past. If he still wants to 
help, it may be a good idea to ask him to relate some hints and/or best 
practices for a move.</tt><br>
<br>
<pre style="margin: 0em;"><br>Kind regards,</pre><br>
<pre style="margin: 0em;">Erik Brangs</pre><br>
]]></content:encoded>
		<pubDate>Thu, 22 Mar 2012 08:56:09 GMT</pubDate>
		<guid isPermaLink="true">http://dev.eclipse.org/mhonarc/lists/mat-dev/msg00329.html</guid>
		<author>erik.brangs@xxxxxxx (Erik Brangs)</author>
	</item>
	<item>
		<title>[mat-dev] FW: [tools-pmc] Migrating from CVS to Git</title>
		<link>http://dev.eclipse.org/mhonarc/lists/mat-dev/msg00328.html</link>
		<description>FYI  &amp;gt; We will be deprecating SVN in the near term; these projects should start thinking about migrating soon Not quite sure how long &amp;#8220;near term&amp;#8221; is, but I think we have to finally start planning our move to Git.I would suggest to wait until Juno (and MAT ...</description>
		<content:encoded><![CDATA[<table width="100%"><tr><td bgcolor="white" style="background-color: white; a:link { color: blue } a:visited { color: purple } "><div class=WordSection1><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>FYI <o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>&gt; </span><span lang=EN-US>We will be deprecating SVN in the near term; these projects should start thinking about migrating soon<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Not quite sure how long &#8220;near term&#8221; is, but I think we have to finally start planning our move to Git.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>I would suggest to wait until Juno (and MAT 1.2) is released, and then figure out what would be the best way to move.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Krum<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><div><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal><b><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif";color:windowtext'>From:</span></b><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif";color:windowtext'> tools-pmc-bounces@xxxxxxxxxxx [mailto:tools-pmc-bounces@xxxxxxxxxxx] <b>On Behalf Of </b>Wayne Beaton<br><b>Sent:</b> Mittwoch, 21. M&#xE4;rz 2012 19:28<br><b>To:</b> Tools PMC mailing list<br><b>Subject:</b> [tools-pmc] Migrating from CVS to Git<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal>Greetings Tools PMC.<br><br>As you should hopefully already be aware, the Eclipse Foundation has declared a shutdown date for CVS of December 21/2012.<br><br>Several Tools projects are still using CVS. The list of projects, generated based on information provided in project metadata via the developer portal, is available via the project status page.<br><br><a href="http://eclipse.org/projects/tools/status.php?top=tools&amp;cvs=1">http://eclipse.org/projects/tools/status.php?top=tools&amp;cvs=1</a><br><br>Note that this link shows a filtered view of Tools projects that have a CVS repository.<br><br>Can you please ensure that the projects listed on this page have a plan for migration before the cut off date?<br><br>Also note that the status page includes a liveliness indicator. Some of these projects may be candidates for termination or consolidation.<br><br>Note yet some more that several projects currently have SVN. We will be deprecating SVN in the near term; these projects should start thinking about migrating soon.<br><br><a href="http://eclipse.org/projects/tools/status.php?top=tools&amp;svn=1">http://eclipse.org/projects/tools/status.php?top=tools&amp;svn=1</a><br><br>Let me know if I can help.<br><br>Wayne <o:p></o:p></p><div><p class=MsoNormal>-- <br>Wayne Beaton<br>The Eclipse Foundation<br>Twitter: @waynebeaton<br><a href="http://www.eclipsecon.org/2012"><span style='text-decoration:none'><img border=0 width=138 height=38 id="_x0000_i1025" src="" alt="EclipseCon
          2012"></span></a><a href="http://www.eclipsecon.org/2012"><span style='text-decoration:none'><img border=0 width=138 height=38 id="_x0000_i1026" src="" alt="AGILEALM
          2012"></span></a><o:p></o:p></p></div></div></td></tr></table><p><a href="png1SINcwhmcX.png" ><img src="png1SINcwhmcX.png" alt="PNG image"></a></p>
<p><a href="gifXdjnaSMNXS.gif" ><img src="gifXdjnaSMNXS.gif" alt="GIF image"></a></p>
<pre>_______________________________________________
tools-pmc mailing list
tools-pmc@xxxxxxxxxxx
<a  href="https://dev.eclipse.org/mailman/listinfo/tools-pmc">https://dev.eclipse.org/mailman/listinfo/tools-pmc</a>
</pre>]]></content:encoded>
		<pubDate>Thu, 22 Mar 2012 07:51:26 GMT</pubDate>
		<guid isPermaLink="true">http://dev.eclipse.org/mhonarc/lists/mat-dev/msg00328.html</guid>
		<author>krum.tsvetkov@xxxxxxx (Tsvetkov, Krum)</author>
	</item>


	<item>
		<title>[mat-dev] Juno M6 contribution</title>
		<link>http://dev.eclipse.org/mhonarc/lists/mat-dev/msg00327.html</link>
		<description>Just a short info &amp;#8211; I contributed the MAT build results of revision 1301 to Juno M6. The  milestone should be finalized by the end of the week. Krum</description>
		<content:encoded><![CDATA[<table width="100%"><tr><td style="a:link { color: blue } a:visited { color: purple } "><div class=WordSection1><p class=MsoNormal><span lang=EN-US>Just a short info &#8211; I contributed the MAT build results of revision 1301 to Juno M6. The&nbsp; milestone should be finalized by the end of the week.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-US>Krum<o:p></o:p></span></p></div></td></tr></table>]]></content:encoded>
		<pubDate>Wed, 21 Mar 2012 14:24:37 GMT</pubDate>
		<guid isPermaLink="true">http://dev.eclipse.org/mhonarc/lists/mat-dev/msg00327.html</guid>
		<author>krum.tsvetkov@xxxxxxx (Tsvetkov, Krum)</author>
	</item>


	<item>
		<title>Re: [mat-dev] Huge heaps</title>
		<link>http://dev.eclipse.org/mhonarc/lists/mat-dev/msg00326.html</link>
		<description> One other idea would be that MAT could, if possible, try to break up a dump into multiple &amp;quot;virtual&amp;quot; dumps (if there are large enough mutually exclusive subsets of the object graph) that are loaded as separate tabs and ISnapshots, but somehow still refer t...</description>
		<content:encoded><![CDATA[
<p>One other idea would be that MAT could, if possible, try to break up a dump into multiple &quot;virtual&quot; dumps (if there are large enough mutually exclusive subsets of the object graph) that are loaded as separate tabs and ISnapshots, but somehow still refer to each other indirectly (e.g. for the class definitions and boot classloader classes). This would also be separately interesting because I've always wanted a way to take a retained set and get the full power of MAT's ISnapshot analysis on it, instead of just a histogram and the limited investigation from there.<br>
<br>
Also, what about having a separate build of MAT where ints are converted to longs (and alternative data structures such as BitFields would have to support longs)? This could perhaps be done by annotating ints that can be converted and creating a program that creates a copied code base with longs. The int version would be the recommended &amp; primary version of MAT, but very advanced and large customers who have the extra memory and CPU to deal with the additional overhead of referring to longs could use this separate build. Of course this might also break any extensions that use object IDs and those would need separate builds too.<br>
<br>
This would actually be a good case where C's #define directives would be useful to more easily create separate builds :)<br>
<br>
--<br>
Kevin Grigorenko<br>
IBM WAS SWAT Team<br>
kevin.grigorenko@xxxxxxxxxx<br>
Blog: <a href="https://www.ibm.com/developerworks/mydeveloperworks/blogs/kevgrig/">https://www.ibm.com/developerworks/mydeveloperworks/blogs/kevgrig/</a><br>
<br>
<br>
<img width="16" height="16" src="" border="0" alt="Inactive hide details for &quot;Tsvetkov, Krum&quot; ---03/14/2012 09:10:42 AM---Andrew, the biggest dump I've worked with was about 8Gb "><font color="#424282">&quot;Tsvetkov, Krum&quot; ---03/14/2012 09:10:42 AM---Andrew, the biggest dump I've worked with was about 8Gb and contained about 190.000.000 objects. I d</font><br>
<br>

<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr valign="top"><td width="1%"><img width="96" height="1" src="" border="0" alt=""><br>
<font size="2" color="#5F5F5F">From:</font></td><td width="100%"><img width="1" height="1" src="" border="0" alt=""><br>
<font size="2">&quot;Tsvetkov, Krum&quot; &lt;krum.tsvetkov@xxxxxxx&gt;</font></td></tr>

<tr valign="top"><td width="1%"><img width="96" height="1" src="" border="0" alt=""><br>
<font size="2" color="#5F5F5F">To:</font></td><td width="100%"><img width="1" height="1" src="" border="0" alt=""><br>
<font size="2">Memory Analyzer Dev list &lt;mat-dev@xxxxxxxxxxx&gt;, </font></td></tr>

<tr valign="top"><td width="1%"><img width="96" height="1" src="" border="0" alt=""><br>
<font size="2" color="#5F5F5F">Date:</font></td><td width="100%"><img width="1" height="1" src="" border="0" alt=""><br>
<font size="2">03/14/2012 09:10 AM</font></td></tr>

<tr valign="top"><td width="1%"><img width="96" height="1" src="" border="0" alt=""><br>
<font size="2" color="#5F5F5F">Subject:</font></td><td width="100%"><img width="1" height="1" src="" border="0" alt=""><br>
<font size="2">Re: [mat-dev] Huge heaps</font></td></tr>

<tr valign="top"><td width="1%"><img width="96" height="1" src="" border="0" alt=""><br>
<font size="2" color="#5F5F5F">Sent by:</font></td><td width="100%"><img width="1" height="1" src="" border="0" alt=""><br>
<font size="2">mat-dev-bounces@xxxxxxxxxxx</font></td></tr>
</table>
<hr width="100%" size="2" align="left" noshade style="color:#8091A5; "><br>
<br>
<br>
<tt>Andrew, the biggest dump I've worked with was about 8Gb and contained about 190.000.000 objects. I don't know what the number of references was.<br>
<br>
I don't know how often it happens that people need to analyze dumps with more than 2^31 refs.<br>
Although it doesn't sound good that MAT has some limitations in this area, I think it will be pretty challenging to break this limit.<br>
<br>
You already listed some of the problems which may occur by defining the Id as unsigned.<br>
I believe there are even more, and probably some of them are difficult to spot. For example, as far as I remember our own implementation of BitField can only work properly with positive numbers.<br>
<br>
My personal opinion is that for the moment we should rather accept the limitation and document it, rather than trying to fix it for Juno.<br>
And in general, if we try to fix it for a later release, I would suggest that we keep an eye on the performance and our own memory usage, and try not introduce serious degradation there (because of moving away from simple int[] or using some bigger storage than an int). I believe that the dumps which have over 2^31 refs are still rather something exceptional, and would like to keep the rest (probably 99%) of the users happy :-)<br>
<br>
What do you think?<br>
<br>
What is the experience of others so far? <br>
<br>
Krum<br>
<br>
-----Original Message-----<br>
From: mat-dev-bounces@xxxxxxxxxxx [</tt><tt><a href="mailto:mat-dev-bounces@xxxxxxxxxxx">mailto:mat-dev-bounces@xxxxxxxxxxx</a></tt><tt>] On Behalf Of Andrew Johnson<br>
Sent: Dienstag, 13. M&#xE4;rz 2012 11:48<br>
To: Memory Analyzer Dev list<br>
Subject: [mat-dev] Huge heaps<br>
<br>
I'm looking at bug 372548: ArrayIndexOutOfBoundsException with huge dump<br>
</tt><tt><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=372548">https://bugs.eclipse.org/bugs/show_bug.cgi?id=372548</a></tt><tt><br>
<br>
I'm working on a fix to one problem - the 1 to N indexes didn't cope with <br>
more than 2^31 outbound references in the whole snapshot. It used an int <br>
returned from the header index to index into the body index of all the <br>
outbound references. I hope to be able to commit a fix shortly.<br>
<br>
What are the biggest heaps we need to deal with, in terms of objects or <br>
total outbound references?<br>
<br>
What other restrictions are there for large dumps?<br>
Do we need a LongIndex1N which can have more than 2^31 outbounds in total?<br>
Do we need more than 2^31 objects? Currently object id &lt; 2^31, i.e. signed <br>
int<br>
We could defined object id as being unsigned. Possible problems include:<br>
Identifier.reverse - a negative number is returned for not found<br>
inbounds - where we temporarily encode some refs as negative<br>
int SnapshotInfo.getNumberOfObjects()<br>
int IClass.getNumberOfObjects()<br>
int IClass.getObjectIds()<br>
int [] Snapshot.getOutboundReferentIds()<br>
SetInt can't hold enough ints<br>
int [] Snapshot.getOutboundReferentIds(int[] objectIds, IProgressListener <br>
progressListener) - can't return more than 2^31 items<br>
int [] Snapshot.getInboundReferentIds(int[] objectIds, IProgressListener <br>
progressListener) - can't return more than 2^31 items<br>
Do we need to expose a IntIndexReader which can be indexed by unsigned int <br>
/ longs for &gt; 2^31 entries?<br>
Do we need to make the InboundWriter work with huge dumps. It splits the <br>
refs into separate log files, but can the contents of the log files get <br>
too big to sort as int arrays?<br>
Can we save memory on building indices, doing the GC, rebuilding indices, <br>
calculating dominator tree?<br>
<br>
Andrew Johnson<br>
<br>
<br>
<br>
<br>
<br>
<br>
Unless stated otherwise above:<br>
IBM United Kingdom Limited - Registered in England and Wales with number <br>
741598. <br>
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU<br>
<br>
<br>
<br>
<br>
<br>
<br>
_______________________________________________<br>
mat-dev mailing list<br>
mat-dev@xxxxxxxxxxx<br>
</tt><tt><a href="https://dev.eclipse.org/mailman/listinfo/mat-dev">https://dev.eclipse.org/mailman/listinfo/mat-dev</a></tt><tt><br>
_______________________________________________<br>
mat-dev mailing list<br>
mat-dev@xxxxxxxxxxx<br>
</tt><tt><a href="https://dev.eclipse.org/mailman/listinfo/mat-dev">https://dev.eclipse.org/mailman/listinfo/mat-dev</a></tt><tt><br>
<br>
</tt><br>
<br>

<p><a href="gifKSgfYfn36S.gif" ><img src="gifKSgfYfn36S.gif" alt="GIF image"></a></p>
<p><a href="gifcFUu6BEfwX.gif" ><img src="gifcFUu6BEfwX.gif" alt="GIF image"></a></p>
]]></content:encoded>
		<pubDate>Wed, 14 Mar 2012 16:30:14 GMT</pubDate>
		<guid isPermaLink="true">http://dev.eclipse.org/mhonarc/lists/mat-dev/msg00326.html</guid>
		<author>kevin.grigorenko@xxxxxxx (Kevin Grigorenko)</author>
	</item>
	<item>
		<title>Re: [mat-dev] Huge heaps</title>
		<link>http://dev.eclipse.org/mhonarc/lists/mat-dev/msg00325.html</link>
		<description>Andrew, the biggest dump I've worked with was about 8Gb and contained about 190.000.000 objects. I don't know what the number of references was. I don't know how often it happens that people need to analyze dumps with more than 2^31 refs. Although it doesn...</description>
		<content:encoded><![CDATA[<pre>Andrew, the biggest dump I've worked with was about 8Gb and contained about 190.000.000 objects. I don't know what the number of references was.

I don't know how often it happens that people need to analyze dumps with more than 2^31 refs.
Although it doesn't sound good that MAT has some limitations in this area, I think it will be pretty challenging to break this limit.

You already listed some of the problems which may occur by defining the Id as unsigned.
I believe there are even more, and probably some of them are difficult to spot. For example, as far as I remember our own implementation of BitField can only work properly with positive numbers.

My personal opinion is that for the moment we should rather accept the limitation and document it, rather than trying to fix it for Juno.
And in general, if we try to fix it for a later release, I would suggest that we keep an eye on the performance and our own memory usage, and try not introduce serious degradation there (because of moving away from simple int[] or using some bigger storage than an int). I believe that the dumps which have over 2^31 refs are still rather something exceptional, and would like to keep the rest (probably 99%) of the users happy :-)

What do you think?

What is the experience of others so far? 

Krum

-----Original Message-----
From: mat-dev-bounces@xxxxxxxxxxx [<a  href="mailto:mat-dev-bounces@xxxxxxxxxxx">mailto:mat-dev-bounces@xxxxxxxxxxx</a>] On Behalf Of Andrew Johnson
Sent: Dienstag, 13. M&#xE4;rz 2012 11:48
To: Memory Analyzer Dev list
Subject: [mat-dev] Huge heaps

I'm looking at bug 372548: ArrayIndexOutOfBoundsException with huge dump
<a  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=372548">https://bugs.eclipse.org/bugs/show_bug.cgi?id=372548</a>

I'm working on a fix to one problem - the 1 to N indexes didn't cope with 
more than 2^31 outbound references in the whole snapshot. It used an int 
returned from the header index to index into the body index of all the 
outbound references. I hope to be able to commit a fix shortly.

What are the biggest heaps we need to deal with, in terms of objects or 
total outbound references?

What other restrictions are there for large dumps?
Do we need a LongIndex1N which can have more than 2^31 outbounds in total?
Do we need more than 2^31 objects? Currently object id &lt; 2^31, i.e. signed 
int
We could defined object id as being unsigned. Possible problems include:
Identifier.reverse - a negative number is returned for not found
inbounds - where we temporarily encode some refs as negative
int SnapshotInfo.getNumberOfObjects()
int IClass.getNumberOfObjects()
int IClass.getObjectIds()
int [] Snapshot.getOutboundReferentIds()
SetInt can't hold enough ints
int [] Snapshot.getOutboundReferentIds(int[] objectIds, IProgressListener 
progressListener) - can't return more than 2^31 items
int [] Snapshot.getInboundReferentIds(int[] objectIds, IProgressListener 
progressListener) - can't return more than 2^31 items
Do we need to expose a IntIndexReader which can be indexed by unsigned int 
/ longs for &gt; 2^31 entries?
Do we need to make the InboundWriter work with huge dumps. It splits the 
refs into separate log files, but can the contents of the log files get 
too big to sort as int arrays?
Can we save memory on building indices, doing the GC, rebuilding indices, 
calculating dominator tree?

Andrew Johnson






Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 
741598. 
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU






_______________________________________________
mat-dev mailing list
mat-dev@xxxxxxxxxxx
<a  href="https://dev.eclipse.org/mailman/listinfo/mat-dev">https://dev.eclipse.org/mailman/listinfo/mat-dev</a>

</pre>]]></content:encoded>
		<pubDate>Wed, 14 Mar 2012 16:07:31 GMT</pubDate>
		<guid isPermaLink="true">http://dev.eclipse.org/mhonarc/lists/mat-dev/msg00325.html</guid>
		<author>krum.tsvetkov@xxxxxxx (Tsvetkov, Krum)</author>
	</item>


	<item>
		<title>[mat-dev] Huge heaps</title>
		<link>http://dev.eclipse.org/mhonarc/lists/mat-dev/msg00324.html</link>
		<description>I'm looking at bug 372548: ArrayIndexOutOfBoundsException with huge dump https://bugs.eclipse.org/bugs/show_bug.cgi?id=372548 I'm working on a fix to one problem - the 1 to N indexes didn't cope with more than 2^31 outbound references in the whole snapshot...</description>
		<content:encoded><![CDATA[<pre>I'm looking at bug 372548: ArrayIndexOutOfBoundsException with huge dump
<a  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=372548">https://bugs.eclipse.org/bugs/show_bug.cgi?id=372548</a>

I'm working on a fix to one problem - the 1 to N indexes didn't cope with 
more than 2^31 outbound references in the whole snapshot. It used an int 
returned from the header index to index into the body index of all the 
outbound references. I hope to be able to commit a fix shortly.

What are the biggest heaps we need to deal with, in terms of objects or 
total outbound references?

What other restrictions are there for large dumps?
Do we need a LongIndex1N which can have more than 2^31 outbounds in total?
Do we need more than 2^31 objects? Currently object id &lt; 2^31, i.e. signed 
int
We could defined object id as being unsigned. Possible problems include:
Identifier.reverse - a negative number is returned for not found
inbounds - where we temporarily encode some refs as negative
int SnapshotInfo.getNumberOfObjects()
int IClass.getNumberOfObjects()
int IClass.getObjectIds()
int [] Snapshot.getOutboundReferentIds()
SetInt can't hold enough ints
int [] Snapshot.getOutboundReferentIds(int[] objectIds, IProgressListener 
progressListener) - can't return more than 2^31 items
int [] Snapshot.getInboundReferentIds(int[] objectIds, IProgressListener 
progressListener) - can't return more than 2^31 items
Do we need to expose a IntIndexReader which can be indexed by unsigned int 
/ longs for &gt; 2^31 entries?
Do we need to make the InboundWriter work with huge dumps. It splits the 
refs into separate log files, but can the contents of the log files get 
too big to sort as int arrays?
Can we save memory on building indices, doing the GC, rebuilding indices, 
calculating dominator tree?

Andrew Johnson






Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 
741598. 
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU







</pre>]]></content:encoded>
		<pubDate>Tue, 13 Mar 2012 10:48:32 GMT</pubDate>
		<guid isPermaLink="true">http://dev.eclipse.org/mhonarc/lists/mat-dev/msg00324.html</guid>
		<author>andrew_johnson@xxxxxxx (Andrew Johnson)</author>
	</item>


	<item>
		<title>Re: [mat-dev] FW: [cross-project-issues-dev] jobs having more than 15 old builds</title>
		<link>http://dev.eclipse.org/mhonarc/lists/mat-dev/msg00323.html</link>
		<description> Makes sense. Although I don't think that we really have a guarantee that they will be kept on Hudson forever. With next release I'll mark the build to be kept and will save the junit/Findbugs results elsewhere. </description>
		<content:encoded><![CDATA[<pre>&gt; I wasn't worried about the build outputs, but though it would be
&gt; useful to see the build logs and FindBugs and JUnit results to
&gt; compare to the current builds. I think those are the only things
&gt; that get saved for the previous builds.

Makes sense. Although I don't think that we really have a guarantee that they will be kept on Hudson forever.
With next release I'll mark the build to be kept and will save the junit/Findbugs results elsewhere.
</pre>]]></content:encoded>
		<pubDate>Thu, 08 Mar 2012 15:45:37 GMT</pubDate>
		<guid isPermaLink="true">http://dev.eclipse.org/mhonarc/lists/mat-dev/msg00323.html</guid>
		<author>krum.tsvetkov@xxxxxxx (Tsvetkov, Krum)</author>
	</item>

 
	</channel>
	</rss>
<!-- MHonArc v2.6.10 -->

