diff -r 40f45911050f -r f614bd5c9561 src/share/vm/interpreter/interpreterRuntime.cpp --- a/src/share/vm/interpreter/interpreterRuntime.cpp Thu Aug 25 09:23:45 2016 -0400 +++ b/src/share/vm/interpreter/interpreterRuntime.cpp Wed Jul 09 22:37:48 2014 -0400 @@ -447,9 +447,18 @@ // tracing if (TraceExceptions) { - ttyLocker ttyl; ResourceMark rm(thread); - tty->print_cr("Exception <%s> (" INTPTR_FORMAT ")", h_exception->print_value_string(), (address)h_exception()); + Symbol* message = java_lang_Throwable::detail_message(h_exception()); + ttyLocker ttyl; // Lock after getting the detail message + if (message != NULL) { + tty->print_cr("Exception <%s: %s> (" INTPTR_FORMAT ")", + h_exception->print_value_string(), message->as_C_string(), + (address)h_exception()); + } else { + tty->print_cr("Exception <%s> (" INTPTR_FORMAT ")", + h_exception->print_value_string(), + (address)h_exception()); + } tty->print_cr(" thrown in interpreter method <%s>", h_method->print_value_string()); tty->print_cr(" at bci %d for thread " INTPTR_FORMAT, current_bci, thread); }