| can MAT use PHD? (or only HPROF?) [message #7112] | 
Tue, 18 November 2008 14:18   | 
 
Eclipse User  | 
 | 
 | 
   | 
 
Instructions do not list IBM JRE which we alas must use. (Not my code or  
decision ...) Instructions seem to assume (without quite saying so) that  
the heap-dump format must be HPROF: what formats are recognized other  
than HPROF? In particular, it seems (from "Open heap Dump" -> navigate  
to directory full of PHD's) that PHD is not recognized? 
 
On the other hand, I have tried to get the IBM JVM to produce HPROF, so  
far to no avail -- does anyone know how to do that? 
 
thanks, 
Paul
 |  
 |  
  | 
 | 
 | 
| Re: can MAT use PHD? (or only HPROF?) [message #7261 is a reply to message #7136] | 
Wed, 19 November 2008 20:40    | 
 
Eclipse User  | 
 | 
 | 
   | 
 
This is a multi-part message in MIME format. 
--------------030802080004040404060801 
Content-Type: text/plain; charset=ISO-8859-1; format=flowed 
Content-Transfer-Encoding: 7bit 
 
Chris Grindstaff wrote: 
> You can add an adaptor that allows MAT to read IBM core.*.dmp files. 
> "IBM DTFJ adapter for Eclipse Memory Analyzer Tool" 
> http://www.ibm.com/developerworks/java/jdk/tools/mat.html 
>  
OK, that failed. I got the adaptor and created the ".dmp" files, and  
when I navigate in MAT (File -> Open Heap Dump) to the directory where  
they are, they are visible -- but MAT+DTFJ just immediately barfs; see  
attached .log file. 
 
Any other way to get this to work? 
 
-Paul 
 
 
--------------030802080004040404060801 
Content-Type: text/plain; 
 name="MAT+DTFJ_Crash.log" 
Content-Transfer-Encoding: 7bit 
Content-Disposition: inline; 
 filename="MAT+DTFJ_Crash.log" 
 
!SESSION 2008-11-19 20:33:31.796 ----------------------------------------------- 
eclipse.buildId=I20070625-1500 
java.fullversion=J2RE 1.5.0 IBM J9 2.3 Windows XP x86-32 j9vmwi3223-20070426 (JIT enabled) 
J9VM - 20070420_12448_lHdSMR 
JIT  - 20070419_1806_r8 
GC   - 200704_19 
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US 
Command-line arguments:  -os win32 -ws win32 -arch x86 
 
!ENTRY org.eclipse.mat.parser 4 0 2008-11-19 20:33:52.359 
!MESSAGE Error opening heap dump 
!SUBENTRY 1 org.eclipse.mat.parser 4 0 2008-11-19 20:33:52.359 
!MESSAGE Unable to read dump in either IBM Java 6, IBM Java 5.0 or IBM Java 1.4.2 formats 
!STACK 0 
java.io.IOException: Unable to read dump in either IBM Java 6, IBM Java 5.0 or IBM Java 1.4.2 formats 
	at  org.eclipse.mat.dtfj.DTFJIndexBuilder.getUncachedDump(DTFJIn dexBuilder.java:3871) 
	at  org.eclipse.mat.dtfj.DTFJIndexBuilder.getDump(DTFJIndexBuild er.java:3752) 
	at  org.eclipse.mat.dtfj.DTFJIndexBuilder.fill(DTFJIndexBuilder. java:284) 
	at  org.eclipse.mat.parser.internal.SnapshotFactoryImpl.parse(Sn apshotFactoryImpl.java:183) 
	at  org.eclipse.mat.parser.internal.SnapshotFactoryImpl.openSnap shot(SnapshotFactoryImpl.java:101) 
	at  org.eclipse.mat.snapshot.SnapshotFactory.openSnapshot(Snapsh otFactory.java:87) 
	at  org.eclipse.mat.ui.snapshot.ParseHeapDumpJob.run(ParseHeapDu mpJob.java:54) 
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) 
Caused by: java.io.IOException: Currently can only handle SDFF files, which _MUST have a suffix of ".sdff"_ 
 or svcdumps 
	at  com.ibm.dtfj.image.sov.ImageFactory.getImage(ImageFactory.ja va:99) 
	at  com.ibm.dtfj.image.sov.ImageFactory.getImage(ImageFactory.ja va:169) 
	at  org.eclipse.mat.dtfj.DTFJIndexBuilder.getUncachedDump(DTFJIn dexBuilder.java:3860) 
	... 7 more 
 
!ENTRY org.eclipse.mat.ui 4 0 2008-11-19 20:33:52.375 
!MESSAGE Error opening heap dump 'core.20081120.012103.1220.dmp'. Check log for details. 
!STACK 0 
org.eclipse.mat.SnapshotException: Error opening heap dump 'core.20081120.012103.1220.dmp'. Check log for details. 
	at  org.eclipse.mat.parser.internal.SnapshotFactoryImpl.parse(Sn apshotFactoryImpl.java:217) 
	at  org.eclipse.mat.parser.internal.SnapshotFactoryImpl.openSnap shot(SnapshotFactoryImpl.java:101) 
	at  org.eclipse.mat.snapshot.SnapshotFactory.openSnapshot(Snapsh otFactory.java:87) 
	at  org.eclipse.mat.ui.snapshot.ParseHeapDumpJob.run(ParseHeapDu mpJob.java:54) 
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) 
 
--------------030802080004040404060801--
 |  
 |  
  | 
 | 
| Re: can MAT use PHD? (or only HPROF?) [message #7655 is a reply to message #7545] | 
Thu, 20 November 2008 09:40   | 
 
Eclipse User  | 
 | 
 | 
   | 
 
Andreas Buchen wrote: 
> I know that the DTFJ adapter requires the exact SR or the Java VM.  
> Currently, one has to at least have one of those: 
>   IBM JDK 1.4.2 SR12, 5.0 SR8a and 6.0 SR2 
> (The java full version string in the log file indicates a older version). 
>  
Hmm, interesting -- I thought I had gotten a more recent one, but now  
that I think it through, the JVM in use was actually provided by another  
team member ... 
 
> The next thing to do is to run ~/jre/bin/jextract on the dump. The  
> jextract must be the one from the VM you got the heap dump from. From  
> that platform. 
>  
> Then you can open the dump in MAT. 
>  
Aha! That was the missing step; it is in the DTFJ instructions (now that  
I know what to look for), but not clearly enough for me to get it on the  
first read through. 
 
Now MAT is happy and so am I (but the same team member who supplied the  
out-of-date JVM will not be; just spotted what looks to be a  
magnificently huge leak in his code ...) 
 
thanks, 
-Paul
 |  
 |  
  | 
Powered by 
FUDForum. Page generated in 0.08121 seconds