The information that is most useful at a point of failure
depends, in general, on the type of failure that is experienced. These
normally have to be actively generated and as such is covered in each
of the sections on the relevant failures. However, some data can be
obtained passively:
- The AIX® core file
- If the environment is correctly set up to produce full AIX Core
files (as detailed in Setting up and checking your AIX environment),
a core file is generated when the process receives a terminal signal
(that is, SIGSEGV, SIGILL, or SIGABORT). The core file is generated
into the current working directory of the process, or at the location
pointed to by the label field specified using -Xdump.
For complete analysis of the core file, the IBM® support
team needs:
- The core file
- A copy of the Java™ executable that was running
the process
- Copies of all the libraries that were in use when the process
core dumped
When a core file is generated: - Run the jextract utility against the core file like
this
jextract <core file name>
to generate
a file called dumpfilename.zip in the current directory. This file
is compressed and contains the required files. Running jextract against
the core file also allows the subsequent use of the Dump Viewer
- If the jextract processing fails, use the snapcore
utility to collect the same information. For example, snapcore
-d /tmp/savedir core.001 /usr/java5/jre/bin/java creates
an archive (snapcore_pid.pax.Z) in the file /tmp/savedir.
You also have the option of looking directly at the core
file by using dbx. However, dbx does not have the advantage of understanding Java frames and the JVM control blocks that
the Dump Viewer does. Therefore, you are recommended to use the Dump
Viewer in preference to dbx.
- The javacore file:
- When a javacore file is written, a message (JVMDUMP010I) is
written to stderr telling you the name and full path of the javacore
file. In addition, a javacore file can be actively generated from
a running Java process by sending it a SIGQUIT
(kill -QUIT or Ctrl-\) command.
- The Error Report
- The use of errpt -a generates a complete detailed report
from the system error log. This report can provide a stack trace,
which might not have been generated elsewhere. It might also point
to the source of the problem where it is otherwise ambiguous.