RFR: 8154064: JVMTI trace event crashes

Robbin Ehn robbin.ehn at oracle.com
Sun Apr 17 19:16:35 UTC 2016


Hi David,

Sorry for the lack of context.

I was running jvmti tests (tonga nsk.jvmti) with full jvmti trace on, 
which is not something we normally do.
I don't have the full history here and I do not know how often people 
use jvmti trace.
But my understanding is that this can have been broken for a long time.

I did not dig any deeper. (most of the file is from duke)

/Robbin

On 04/17/2016 12:22 PM, David Holmes wrote:
> Hi Robbin,
>
> Can you clarify here and/or in the bug report exactly what it was that 
> changed to cause this crash. It seems the original code expects 
> "object" to be a class, while it is actually an instance that has a 
> class.
>
> Thanks,
> David
>
> On 13/04/2016 3:50 PM, Robbin Ehn wrote:
>> Hi all,
>>
>> Please review this bug fix.
>>
>> Bug: https://bugs.openjdk.java.net/browse/JDK-8154064
>>
>> Test with tonga. (the 5 crashed tonga test no longer crashes)
>>
>> Thanks!
>>
>> /Robbin
>>
>> diff -r 4823056a5bbd src/share/vm/prims/jvmtiExport.cpp
>> --- a/src/share/vm/prims/jvmtiExport.cpp    Tue Apr 12 09:08:48 2016 
>> +0000
>> +++ b/src/share/vm/prims/jvmtiExport.cpp    Wed Apr 13 07:39:50 2016 
>> +0200
>> @@ -2260,7 +2260,7 @@
>>       if (env->is_enabled(JVMTI_EVENT_VM_OBJECT_ALLOC)) {
>>         EVT_TRACE(JVMTI_EVENT_VM_OBJECT_ALLOC, ("JVMTI [%s] Evt vmobject
>> alloc sent %s",
>>
>> JvmtiTrace::safe_get_thread_name(thread),
>> -                                         object==NULL? "NULL" :
>> java_lang_Class::as_Klass(object)->external_name()));
>> +                                         object==NULL? "NULL" :
>> object->klass()->external_name()));
>>
>>         JvmtiVMObjectAllocEventMark jem(thread, h());
>>         JvmtiJavaThreadEventTransition jet(thread);



More information about the serviceability-dev mailing list