IBM Support

Mustgather: Gathering data for a Java application crash problem on Linux

Technote (troubleshooting)


Problem(Abstract)

If your Java application crashes on a Linux operating system, there are a number of diagnostic data files that are useful for diagnosing the problem. This mustgather document describes about the diagnostic data files to be collected and the procedure to collect the same.

Resolving the problem

The following set of diagnostic data files will be generated during the time of the java application crash:
1. Javacores
2. Core dumps
3. Snap traces
4. JIT dumps (For Java 7.1 and Java 8 releases only)
5. Application logs (stdout, stderr)
6. System messages file(system_messages.txt)
7.Native Stacks listings(native_stacks.out)

For these diagnostic data files to be created, check that the system is configured correctly as per setup document.

NOTE: From Java 7.1 and Java 8 releases onwards, Just Intime Compiler(JIT) generates JIT diagnostic dumps on general protection fault(GPF) and abort events.

Please collect the diagnostic data files generated during the time of the java application crash as per the below steps:

1. Collect the javacore, core dump, snap trace and JIT dump generated.

Please note that all the javacore, core dump, snap trace and JIT dump generated can be found in the current path and the names of them will follow the below format:
Javacore : javacore.<time stamp>.<id>.txt
Core dump : core.<time stamp>.<id>.dmp
Snap trace file : snap.<time stamp>.<id>.trc
JIT dump : jitdump.<time stamp>.<id>.dmp

Run the JExtract tool against the generated core dump using the following command:
<installpath>/jre/bin/jextract [coredump]

For 64bit JVM enabled with -Xcompressedrefs option, please use
<installpath>/jre/bin/jextract -J-Xcompressedrefs [coredump]

Save the resulting archive file, which has a name in the format of
core.<time stamp>.<id>.dmp.zip

2. Collect the console logs, such as standard out and standard error logs, which are generated by default.

3. Collect the system messages file, using the following command:
cp /var/log/messages system_messages.txt

4. Generate the native stack listings using the following gdb command passing the core dump generated as an argument:
gdb -x gdb_commands.txt [java executable] [coredump] \
> native_stacks.out
where the gdb_commands.txt file contains the following options:
thread apply all bt

After collecting all the above diagnostic data files, you can submit them for help with diagnosing the problem.

Document information

More support for: Runtimes for Java Technology
Crash

Software version: 5.0, 6.0, 6.1, 7.0, 7.1, 8.0

Operating system(s): Linux

Software edition: J2SE

Reference #: 1222464

Modified date: 16 November 2016