Pages

Tuesday, August 2, 2011

How to analyze IBM JVM core dumps

Today's blog post is advice, I provided to a customer for analyzing IBM JDK core dumps

Question ... 
We have a problem where our Linux-based build machines for the portal drivers, occasionally core dump in the middle of the build process. The only way I know of to invoke the Java team to shoot these, is to open a WAS PMR.  I'm not sure that's appropriate, given that it's unclear exactly what JRE is running at the time (it could be the one from the WAS or from ant)

Response
In order to analyze a coredump you will need to run the Dump Analyzer plugin from IBM Support Assistant (ISA). The dump report will tell you the details of the JVM that dumped core, the heap contents and the javacore. This will help you determine the culprit component faster.

First see these instructions to run the dump analyzer outside the ISA

cd  $ISA_HOME\applications\eclipse\plugins\com.ibm.java.diagnostics.dbda_2.2.2.20090926232659
java -Xmx1400M -cp dumpAnalyzer.jar;lib\dtfj.jar;..\com.ibm.java.diagnostics.dbda.was_2.1.3.20090427213613\wasAnalyzers.jar;..\com.ibm.java.diagnostics.dbda.core_2.2.2.20090926232659\coreAnalyzers.jar com.ibm.dtfj.analyzer.base.DumpAnalyzer core1.sdff com.ibm.dtfj.analyzer.jvm.DefaultDumpReport_Extended > DumpAnalyzer_DefaultDumpReport_Extended.txt

OR

You basically need to  copy the 6 required jars from IBM Support Assistant and then run the command
set CP="dumpAnalyzer.jar;coreAnalyzers.jar"
set BCP="lib/j9/dtfj.jar;lib/j9/dtfj-interface.jar;lib/sov/dtfjsu.jar;lib/sov/dtfj.jar"
java -cp $CP -Xbootclasspath/p:$BCP
        com.ibm.dtfj.analyzer.base.DumpAnalyzer (dumpName) (options)

You need to put this in a script and run it whenever a core dump is generated.


Happy Debugging!

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.