8138832: CreateCoredumpOnCrash on linux ARM causes assert message to be repeated.
Reviewed-by: jwilhelm, mgerdin
--- a/hotspot/src/share/vm/utilities/vmError.cpp Wed Oct 07 01:03:24 2015 +0200
+++ b/hotspot/src/share/vm/utilities/vmError.cpp Wed Oct 07 15:27:02 2015 +0200
@@ -796,7 +796,7 @@
# undef END
}
-volatile jlong VMError::first_error_tid = -1;
+volatile intptr_t VMError::first_error_tid = -1;
// An error could happen before tty is initialized or after it has been
// destroyed. Here we use a very simple unbuffered fdStream for printing.
@@ -925,9 +925,9 @@
if (SuppressFatalErrorMessage) {
os::abort(CreateCoredumpOnCrash);
}
- jlong mytid = os::current_thread_id();
+ intptr_t mytid = os::current_thread_id();
if (first_error_tid == -1 &&
- Atomic::cmpxchg(mytid, &first_error_tid, -1) == -1) {
+ Atomic::cmpxchg_ptr(mytid, &first_error_tid, -1) == -1) {
_id = id;
_message = message;
@@ -968,7 +968,7 @@
if (first_error_tid != mytid) {
char msgbuf[64];
jio_snprintf(msgbuf, sizeof(msgbuf),
- "[thread " INT64_FORMAT " also had an error]",
+ "[thread " INTX_FORMAT " also had an error]",
mytid);
out.print_raw_cr(msgbuf);
--- a/hotspot/src/share/vm/utilities/vmError.hpp Wed Oct 07 01:03:24 2015 +0200
+++ b/hotspot/src/share/vm/utilities/vmError.hpp Wed Oct 07 15:27:02 2015 +0200
@@ -63,7 +63,7 @@
// Thread id of the first error. We must be able to handle native thread,
// so use thread id instead of Thread* to identify thread.
- static volatile jlong first_error_tid;
+ static volatile intptr_t first_error_tid;
// Core dump status, false if we have been unable to write a core/minidump for some reason
static bool coredump_status;
@@ -141,9 +141,7 @@
// check to see if fatal error reporting is in progress
static bool fatal_error_in_progress() { return first_error_tid != -1; }
- static jlong get_first_error_tid() {
- return first_error_tid;
- }
+ static intptr_t get_first_error_tid() { return first_error_tid; }
};
#endif // SHARE_VM_UTILITIES_VMERROR_HPP