Inicio Product Support IT Modernization Abort JVM (IBM): usefull information for java problem investigation

 

Produit JVM IBM
Version 4, 5 ,6
OS Aix

 

Steps to follow in order to obtain complete informations about Java problem:

 

For any of those signal, a java core, a core dump and the shared libraries associated to the Java application and JVM is helpful

Enable full core

Enable full core with the following command:

chdev -l sys0 -a fullcore=true

 

Modify ulimit values

For the user that launches the JVM, set the following limits

ulimit -c unlimited -f unlimited

(this can also be done in the /etc/security/limits file by setting core=-1 and file =-1 for the user that is used to launch the JVM)
Beware of the "unlimited" keyword above mentioned.
Actually the above command sets the maximum limits to the hardware limits that could be displayed thanks to the ulimit -H -c -f
This is the same thing if limits are set in the /etc/security/limits, the core_hard and fsize_hard should not be set to too low values if they
are not set to -1.
If you alter those values (soft or hard) in the /etc/security/limits file then log in the system again in order for the changes to take
effect and check that it is the case with :

ulimit -a
ulimit -Ha

 

Set core file location

By default the core file is written in the current directory, that is in the location the JVM was launched from.
You can redirect the core file generation in a best suited directory that have much space with the following command as
you are running AIX 5.3.

syscorepath -p alternate_directory

Be sure that the user who wil launch the JVM have both read and write permissions on that directory

 

Set environment variables

Once done, when logged in the system as the user who will launch the JVM, export the following variables

export IBM_NOSIGHANDLER=true
export JAVA_DUMP_OPTS="ONANYSIGNAL(NONE)"


Launch the JVM and you should get a core file when the JVM crash with a signal 11.

As a result, exporting "JAVA_DUMP_OPTS="ONANYSIGNAL(NONE)" instructs the JVM not to use any signal handler registered by
the JVM at launch time, in other words, no handler for SIGSEGV.
A core file is thereby genereted by the AIX Operating System itself and it directly points to the failure.

 

Data collection

The shared libraries used by the process at the time of the crash can be collected using the snapcore command:

snapcore -d save_directory core.001 fullpath_executable

 

 

Documentation

 

- Troubleshooting Java code on AIX: Data collection for AIX core dumps

- Diagnostics Guide

— archivado en:
Pedir una asistencia
Crear y seguir
Búsqueda