> webrev: http://cr.openjdk.java.net/~sla/8044398/webrev.00/

src/share/vm/services/attachListener.cpp
    No comment.

Thumbs up!

Dan


On 5/30/14 12:51 AM, Staffan Larsen wrote:
The code in attachListener.cpp does this:

   DCmd::parse_and_execute(DCmd_Source_AttachAPI, out, op->arg(0), ' ', THREAD);
   if (HAS_PENDING_EXCEPTION) {
     java_lang_Throwable::print(PENDING_EXCEPTION, out);
     out->cr();
     CLEAR_PENDING_EXCEPTION;
     // The exception has been printed on the output stream
     // If the JVM returns JNI_ERR, the attachAPI throws a generic I/O
     // exception and the content of the output stream is not processed.
     // By returning JNI_OK, the exception will be displayed on the client side
   }
   return JNI_OK;

That was correct before the fix of JDK-8039173. After that fix, the attach 
framework is able to propagate error messages as exceptions when an attach 
command fails.

The code in attachListener.cpp should be updated to:

   DCmd::parse_and_execute(DCmd_Source_AttachAPI, out, op->arg(0), ' ', THREAD);
   if (HAS_PENDING_EXCEPTION) {
     java_lang_Throwable::print(PENDING_EXCEPTION, out);
     out->cr();
     CLEAR_PENDING_EXCEPTION;
     return JNI_ERR;
   }
   return JNI_OK;

webrev: http://cr.openjdk.java.net/~sla/8044398/webrev.00/
bug: https://bugs.openjdk.java.net/browse/JDK-8044398

Thanks,
/Staffan


Reply via email to