Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Archived » Memory Analyzer (MAT) » Error opening jextract'ed dump
Error opening jextract'ed dump [message #7877] Fri, 28 November 2008 19:17 Go to next message
Mark Macdonald is currently offline Mark MacdonaldFriend
Messages: 2
Registered: July 2009
Junior Member
I am trying to use MAT to analyse a jextract'ed dump.
Here is what I do:

1. Run my Eclipse application (using the JVM level shown below).
2. Generate a dump using sendsignal.exe.
3. Run jextract from the JVM, which generates an .xml and .zip file.
4. Open the .xml file in MAT.
5. MAT dies with an exception.

My JVM is:

IBM J9 VM (build 2.4, J2RE 1.6.0 IBM J9 2.4 Windows XP x86-32
jvmwi3260-20081105_25433 (JIT enabled, AOT enabled)
J9VM - 20081105_025433_lHdSMr
JIT - r9_20081031_1330
GC - 20081027_AB)
JCL - 20081106_01

The exception is:

!ENTRY org.eclipse.mat.ui 1 0 2008-11-28 14:15:48.140
!MESSAGE Took 4,125ms to get the DTFJ image from file
C:\eclipse34\eclipse\core.20081128.141346.5808.0001.dmp.xml

!ENTRY org.eclipse.core.jobs 4 2 2008-11-28 14:15:48.140
!MESSAGE An internal error occurred during: "Parsing heap dump from
'C:\eclipse34\eclipse\core.20081128.141346.5808.0001.dmp.xml ' ".
!STACK 0
java.lang.IllegalArgumentException: Only array types have component types
at com.ibm.dtfj.java.j9.JavaClass.getComponentType(JavaClass.ja va:80)
at
org.eclipse.mat.dtfj.DTFJIndexBuilder.getClassLoader1(DTFJIn dexBuilder.java:3551)
at
org.eclipse.mat.dtfj.DTFJIndexBuilder.getClassLoader(DTFJInd exBuilder.java:3566)
at org.eclipse.mat.dtfj.DTFJIndexBuilder.fill(DTFJIndexBuilder. java:353)
at
org.eclipse.mat.parser.internal.SnapshotFactoryImpl.parse(Sn apshotFactoryImpl.java:184)
at
org.eclipse.mat.parser.internal.SnapshotFactoryImpl.openSnap shot(SnapshotFactoryImpl.java:102)
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)
Re: Error opening jextract'ed dump [message #7898 is a reply to message #7877] Mon, 01 December 2008 10:33 Go to previous messageGo to next message
Andrew Johnson is currently offline Andrew JohnsonFriend
Messages: 205
Registered: July 2009
Senior Member
The DTFJ Adapter is trying (and failing) to find the class loader for a
class. It is attempting to work around a problem where some array classes
don't have a class loader given by DTFJ. However in this case it looks
like a non-array class doesn't have a class loader.

Do you have any messages like the following in the log?
No class loader for {0}, trying component type {1} class loader instead

I'll modify the adapter to be more defensive. I don't know when the next
version of the DTFJ adapter will be released however, so all I can suggest
for the moment is to get another dump and see if the problem goes away.

Thank you for the bug report.

Andrew Johnson
Re: Error opening jextract'ed dump [message #7918 is a reply to message #7898] Mon, 01 December 2008 19:52 Go to previous message
Mark Macdonald is currently offline Mark MacdonaldFriend
Messages: 2
Registered: July 2009
Junior Member
Hi Andrew,

Thanks for the reply. Your remark about class loaders made me realize
that, although my heapdump was generated with a 6.0 SR3 JVM, the Eclipse
environment in which MAT and DTFJ were installed was actually running on
the system JVM, which was 5.0 SR2. Once I forced Eclipse to launch with
the newer JVM, the error went away.

And FYI, I did not see "No class loader for {0}, trying component type {1}
class loader instead" in the log.
Previous Topic:help interpret results - finalize() making memory leak worse?
Next Topic:How to get executing stack and local variable information?
Goto Forum:
  


Current Time: Thu Apr 25 19:04:17 GMT 2024

Powered by FUDForum. Page generated in 0.02971 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top