--- old/src/hotspot/share/utilities/vmError.cpp 2018-06-27 15:16:15.369258159 +0200 +++ new/src/hotspot/share/utilities/vmError.cpp 2018-06-27 15:16:15.261257247 +0200 @@ -1385,9 +1385,24 @@ os::infinite_sleep(); } else { // Crash or assert during error reporting. Lets continue reporting with the next step. - jio_snprintf(buffer, sizeof(buffer), - "[error occurred during error reporting (%s), id 0x%x]", - _current_step_info, _id); + stringStream ss(buffer, sizeof(buffer)); + // Note: this string does get parsed by a number of jtreg tests, + // see hotspot/jtreg/runtime/ErrorHandling. + ss.print("[error occurred during error reporting (%s), id 0x%x", + _current_step_info, id); + char signal_name[64]; + if (os::exception_name(id, signal_name, sizeof(signal_name))) { + ss.print(", %s (0x%x) at pc=" PTR_FORMAT, signal_name, id, p2i(pc)); + } else { + if (should_report_bug(id)) { + ss.print(", Internal Error (%s:%d)", + filename == NULL ? "??" : filename, lineno); + } else { + ss.print(", Out of Memory Error (%s:%d)", + filename == NULL ? "??" : filename, lineno); + } + } + ss.print("]"); st->print_raw_cr(buffer); st->cr(); }