Setting up dumps

The JVM generates a Javadump and System Transaction Dump (SYSTDUMP) when particular events occur.

The JVM, by default, generates the dumps when any of the following conditions occur:
  • A SIGQUIT signal is received.
  • The JVM exits because of an error.
  • An unexpected native exception occurs (for example, a SIGSEGV, SIGILL, or SIGFPE signal is received).

You can use the -Xdump option to change the dumps that are produced on the various types of signal and the naming conventions for the dumps. For more information, see Using dump agents.

Failing transaction dumps (IEATDUMPs)

If a requested IEATDUMP cannot be produced, the JVM issues messages to STDOUT and to the z/OS® operator console. For example:
JVMDUMP025E IEATDUMP failed RC=0x00000008 RSN=0x000000026 for DSN=J9BUILD.JVM.J9BUILD8.D131129.T210839
JVMPORT024E IEATDUMP failed because we couldn't allocate the dump data set (check disk space and field permissions)
JVMDUMP012E Error in System dump: J9BUILD.JVM.J9BUILD8.D131129.T210839
The return and reason codes in the IEATDUMP messages are documented in z/OS MVS Programming: Authorized Assembler Services Reference EDT-IXG.

Some common return and reason codes are as follows:

The following RC and RSN indicate that no dump was written, and that the dump data set name was too long:
RC=0x00000008 RSN=0x00000022
The following RC and RSN indicate that no dump was written, and that space is insufficient to allocate the dump data set:
RC=0x00000008 RSN=0x00000026
The following RC and RSN indicate that a partial dump was written, and that the system filled one of the range tables. For more information, see APAR OA43509.
RC=0x00000004 RSN=0x00000007
If transaction dumps continue to fail, you can trigger a z/OS SVC dump from a JVM console message by using a SLIP trap. For example:
/SLIP SET,A=SVCD,J=USER*,MSGID=JVMDUMP012E,ID=JAVA,SDATA=(ALLPSA,NUC,SQA,RGN,LPA,TRT,SUMDUMP),END

Multiple transaction dump (IEATDUMP) files

On a 64-bit platform, IEATDUMP files are split into several smaller files if the IEATDUMP exceeds the 2 GB file size limit. Each file is given a sequence number.

If you specify a template for the IEATDUMP file name, append the &DS token to enable multiple dumps. The &DS token is replaced by an ordered sequence number, and must be at the end of the file name. For example, X&DS generates file names in the form X001, X002, and X003.

If you specify a template without the &DS token, .X&DS is appended automatically to the end of your template. If your template is too long to append .X&DS, a message is produced. The message advises that the template pattern is too long and a default pattern is used instead.

If you do not specify a template, the default template is used. The default template is as shown here.
%uid.JVM.%job.D%y%m%d.T%H%M%S.X&DS
Merge the sequence of IEATDUMP files before IPCS can process the data. To merge the sequence of IEATDUMP files, use the TSO panel IPCS > Utility > Copy MVS dump data set, or the IPCS COPYDUMP command. If you copied or moved the IEATDUMP files from MVS™ to the z/OS UNIX System Services file system, you can use the cat command to merge the files, for example:
cat JVM.TDUMP.X001 JVM.TDUMP.X002 > JVM.TDUMP.FULL

For more information, see IEATDUMP - Transaction dump request in the z/OS documentation.