< 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 >