Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8268418

[lworld] VM assert illegal mirror klass when calling Class::getInterfaces on a flat array

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P3 P3
    • repo-valhalla
    • repo-valhalla
    • hotspot

      diff --git a/src/hotspot/share/prims/jvm.cpp b/src/hotspot/share/prims/jvm.cpp
      index 00bee2cb9b8..fc627894b01 100644
      --- a/src/hotspot/share/prims/jvm.cpp
      +++ b/src/hotspot/share/prims/jvm.cpp
      @@ -1170,7 +1170,7 @@ JVM_ENTRY(jobjectArray, JVM_GetClassInterfaces(JNIEnv *env, jclass cls))
           InstanceKlass* ik = InstanceKlass::cast(klass);
           size = ik->local_interfaces()->length();
         } else {
      - assert(klass->is_objArray_klass() || klass->is_typeArray_klass(), "Illegal mirror klass");
      + assert(klass->is_objArray_klass() || klass->is_typeArray_klass() || klass->is_flatArray_klass(), "Illegal mirror klass");
           size = 3;
         }

      Add a new test for `Class::getInterfaces`

            mchung Mandy Chung (Inactive)
            mchung Mandy Chung (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: