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);

Reply via email to