< prev index next >

src/hotspot/share/utilities/vmError.cpp

Print this page

        

*** 1383,1395 **** st->flush(); // Watcherthread is about to call os::die. Lets just wait. 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); st->print_raw_cr(buffer); st->cr(); } } } --- 1383,1410 ---- st->flush(); // Watcherthread is about to call os::die. Lets just wait. os::infinite_sleep(); } else { // Crash or assert during error reporting. Lets continue reporting with the next step. ! 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(); } } }
< prev index next >