hotspot/src/share/vm/interpreter/interpreterRuntime.cpp
changeset 25624 b3bd733f04e9
parent 25351 7c198a690050
child 25627 b5a1a1f02388
--- a/hotspot/src/share/vm/interpreter/interpreterRuntime.cpp	Tue Jul 08 13:52:29 2014 -0400
+++ b/hotspot/src/share/vm/interpreter/interpreterRuntime.cpp	Wed Jul 09 22:37:48 2014 -0400
@@ -430,9 +430,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);
     }