RFR: 8044398 Attach code should propagate errors in Diagnostic Commands as errors
Staffan Larsen
staffan.larsen at oracle.com
Fri May 30 17:01:42 UTC 2014
Thanks Dan!
On 30 maj 2014, at 15:26, Daniel D. Daugherty <daniel.daugherty at oracle.com> wrote:
> > 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
>>
>
More information about the hotspot-runtime-dev
mailing list