< prev index next >
src/hotspot/share/utilities/vmError.cpp
Print this page
@@ -146,10 +146,36 @@
}
}
out->print_raw_cr("#");
}
+#if INCLUDE_JFR
+static void print_jfr_path(outputStream *out) {
+ if (out == NULL) {
+ return;
+ }
+
+ const char *path = NULL;
+
+ path = Jfr::get_emergency_dump_path();
+ if (*path != '\0') {
+ out->print_raw_cr("# JFR data is saved as:");
+ out->print_raw ("# ");
+ out->print_raw_cr(path);
+ out->print_raw_cr("#");
+ } else {
+ path = Jfr::get_repository_path();
+ if ((path != NULL) && (*path != '\0')) {
+ out->print_raw_cr("# JFR files might be saved in the repository:");
+ out->print_raw ("# ");
+ out->print_raw_cr(path);
+ out->print_raw_cr("#");
+ }
+ }
+}
+#endif
+
bool VMError::coredump_status;
char VMError::coredump_message[O_BUFLEN];
void VMError::record_coredump_status(const char* message, bool status) {
coredump_status = status;
@@ -616,10 +642,18 @@
st->print("CreateCoredumpOnCrash turned off, no core file dumped");
}
st->cr();
st->print_cr("#");
+#if INCLUDE_JFR
+ STEP("printing jfr repository")
+
+ if (_verbose) {
+ print_jfr_path(st);
+ }
+#endif
+
STEP("printing bug submit message")
if (should_report_bug(_id) && _verbose) {
print_bug_submit_message(st, _thread);
}
@@ -1534,10 +1568,11 @@
close(fd_log);
fd_log = -1;
}
log.set_fd(-1);
+ out.print_raw_cr("#");
}
if (PrintNMTStatistics) {
fdStream fds(fd_out);
MemTracker::final_report(&fds);
@@ -1560,19 +1595,27 @@
} else {
int e = errno;
out.print_raw("#\n# Can't open file to dump replay data. Error: ");
out.print_raw_cr(os::strerror(e));
}
+ out.print_raw_cr("#");
}
}
}
+#if INCLUDE_JFR
+ static bool skip_jfr_repository = false;
+ if (!skip_jfr_repository) {
+ skip_jfr_repository = true;
+ print_jfr_path(&out);
+ out.print_raw_cr("#");
+ }
+#endif
+
static bool skip_bug_url = !should_report_bug(_id);
if (!skip_bug_url) {
skip_bug_url = true;
-
- out.print_raw_cr("#");
print_bug_submit_message(&out, _thread);
}
static bool skip_OnError = false;
if (!skip_OnError && OnError && OnError[0]) {
< prev index next >