diff -r 7d690319db4a -r 679546f0cc1f hotspot/src/share/vm/utilities/vmError.cpp --- a/hotspot/src/share/vm/utilities/vmError.cpp Wed Feb 04 16:09:49 2015 +0100 +++ b/hotspot/src/share/vm/utilities/vmError.cpp Wed Feb 04 18:47:42 2015 -0500 @@ -353,6 +353,26 @@ "Runtime Environment to continue."); } +#ifndef PRODUCT + // Error handler self tests + + // test secondary error handling. Test it twice, to test that resetting + // error handler after a secondary crash works. + STEP(13, "(test secondary crash 1)") + if (_verbose && TestCrashInErrorHandler != 0) { + st->print_cr("Will crash now (TestCrashInErrorHandler=%d)...", + TestCrashInErrorHandler); + controlled_crash(TestCrashInErrorHandler); + } + + STEP(14, "(test secondary crash 2)") + if (_verbose && TestCrashInErrorHandler != 0) { + st->print_cr("Will crash now (TestCrashInErrorHandler=%d)...", + TestCrashInErrorHandler); + controlled_crash(TestCrashInErrorHandler); + } +#endif // PRODUCT + STEP(15, "(printing type of error)") switch(_id) { @@ -786,6 +806,15 @@ st->cr(); } +#ifndef PRODUCT + // print a defined marker to show that error handling finished correctly. + STEP(290, "(printing end marker)" ) + + if (_verbose) { + st->print_cr("END."); + } +#endif + END # undef BEGIN