By default, the equivalent of the following trace command line is always available in the JVM:
-Xtrace:maximal=all{level1},exception=j9mm{gclogger}
The data generated by those tracepoints is continuously captured in wrapping, per thread memory buffers. (For information about specific options, see Detailed descriptions of trace options.)
The default trace options are designed to ensure that Javadumps always contain a record of the most recent memory management history, regardless of how much work the JVM has performed since the garbage collection cycle was last called.
The exception=j9mm{gclogger} clause of the default trace set specifies that a history of garbage collection cycles that have occurred in the JVM is continuously recorded. The gclogger group of tracepoints in the j9mm component constitutes a set of tracepoints that record a snapshot of each garbage collection cycle. These tracepoints are recorded in their own separate buffer, called the exception buffer. The effect is that the tracepoints are not overwritten by the higher frequency tracepoints of the JVM.
The GC History section of the Javadump is based on the information in the exception buffer. If a garbage collection cycle has occurred in a traced JVM, the Javadump probably contains a GC History section.
The JVM includes assertions, implemented as special trace points. By default, internal assertions are detected and diagnostics logs are produced to help assess the error.
The JVM continues running after the logs have been produced. Assertion failures often indicate a serious problem and the JVM might exit with a subsequent error. Even if the JVM does not encounter another error, restart the JVM as soon as possible. Send a service request to IBM®, including the standard error output and the .trc and .dmp files produced.
When an assertion trace point is hit, a message like the following output is produced on the standard error stream:
16:43:48.671 0x10a4800 j9vm.209 * ** ASSERTION FAILED ** at jniinv.c:251: ((javaVM == ((void *)0)))
This error stream is followed with information about the diagnostic logs produced:
JVMDUMP007I JVM Requesting System Dump using 'core.20060426.124348.976.dmp' JVMDUMP010I System Dump written to core.20060426.124348.976.dmp JVMDUMP007I JVM Requesting Snap Dump using 'Snap0001.20060426.124648.976.trc' JVMDUMP010I Snap Dump written to Snap0001.20060426.124648.976.trc
Assertions are special trace points. They can be enabled or disabled using the standard trace command-line options. See Controlling the trace for more details.