This weekend one of our servers running 1.6.0_01 crashed and did not appear to save an hs_err* file; our admins looked in the working directory, temp directory, and both JAVA and JRE home directories (the latter were unlikely, but mentioned on forums as possible working directories.
Anyway, I've been asked to change our startup files to use the -XX:ErrorFile to specify the location of hs_err files in the future--biq question is (drum roll, please)--how do I test that setting?
FWIW, below is the last message HotSpot was able to scrawl to the console before turning over and dying.
# An unexpected error has been detected by Java Runtime Environment:
# SIGSEGV (0xb) at pc=0x06208957, pid=11476, tid=6151
# Java VM: Java HotSpot(TM) Server VM (1.6.0_01-b06 mixed mode)
# Problematic frame:
# V [libjvm.so+0x208957]
# An error report file with more information is saved as hs_err_pid11476.log
# If you would like to submit a bug report, please visit:
You could start a program that pauses waiting for user input
(or in your case runs your application normally but in a test set-up).
You could then attach a debugger to the process, pick one of the threads
and modify some range of the top of its stack. This should hopefully
cause a crash once you continue the program by exiting the debugger
and produce the error file in the appropriate location.