RFR: 8154064: JVMTI trace event crashes
David Holmes
david.holmes at oracle.com
Sun Apr 17 23:12:28 UTC 2016
On 18/04/2016 5:16 AM, Robbin Ehn wrote:
> 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.
Ah I see. Okay - please add that to the bug report if you haven't
already. Thanks.
David
> 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