Static archive with AOTClassLinking breaks dynamic archive

XMLWordPrintable

    • Type: Bug
    • Resolution: Fixed
    • Priority: P4
    • 27
    • Affects Version/s: 26, 27
    • Component/s: hotspot
    • master

      class Hello {
          public static void main(String[] args) {
              System[][][] x = new System[0][0][0];
              System.out.println(x);
          }
      }

      $ java -XX:+AOTClassLinking -Xshare:dump -XX:SharedArchiveFile=Hello.temp-base.jsa
      $ java -cp Hello.jar -XX:ArchiveClassesAtExit=Hello.dynamic.jsa -XX:SharedArchiveFile=Hello.temp-base.jsa Hello
      $ java -cp Hello.jar -XX:SharedArchiveFile=Hello.dynamic.jsa -cp Hello.jar Hello

      # assert(Universe::is_module_initialized() || (ModuleEntryTable::javabase_defined() && (module() == ModuleEntryTable::javabase_moduleEntry()->module_oop()))) failed: Incorrect java.lang.Module specification while creating mirror

      Stack: [0x00007ffff7b00000,0x00007ffff7c00000], sp=0x00007ffff7bfc620, free space=1009k
      Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [libjvm.so+0xe97036] java_lang_Class::set_mirror_module_field(JavaThread*, Klass*, Handle, Handle)+0x3d0 (javaClasses.cpp:1057)
      V [libjvm.so+0xe97818] java_lang_Class::create_mirror(Klass*, Handle, Handle, Handle, Handle, JavaThread*)+0x1fe (javaClasses.cpp:1168)
      V [libjvm.so+0x118d10d] Klass::restore_unshareable_info(ClassLoaderData*, Handle, JavaThread*)+0x539 (klass.cpp:917)
      V [libjvm.so+0x6b625c] ArrayKlass::restore_unshareable_info(ClassLoaderData*, Handle, JavaThread*)+0x30 (arrayKlass.cpp:222)
      V [libjvm.so+0xe57a83] InstanceKlass::restore_unshareable_info(ClassLoaderData*, Handle, PackageEntry*, JavaThread*)+0x325 (instanceKlass.cpp:2874)
      V [libjvm.so+0x165197a] SystemDictionary::preload_class(Handle, InstanceKlass*, JavaThread*)+0x5c2 (systemDictionary.cpp:1193)
      V [libjvm.so+0x64a06d] AOTLinkedClassBulkLoader::preload_classes_in_table(Array<InstanceKlass*>*, char const*, Handle, JavaThread*)+0xf9 (aotLinkedClassBulkLoader.cpp:103)
      V [libjvm.so+0x649e22] AOTLinkedClassBulkLoader::preload_classes_impl(JavaThread*)+0x12e (aotLinkedClassBulkLoader.cpp:77)
      V [libjvm.so+0x649cd4] AOTLinkedClassBulkLoader::preload_classes(JavaThread*)+0x18 (aotLinkedClassBulkLoader.cpp:61)
      V [libjvm.so+0x1741e63] vmClasses::resolve_all(JavaThread*)+0x83 (vmClasses.cpp:127)
      V [libjvm.so+0x1652ef6] SystemDictionary::initialize(JavaThread*)+0x8e (systemDictionary.cpp:1623)
      V [libjvm.so+0x16d66c9] Universe::genesis(JavaThread*)+0x3fb (universe.cpp:450)
      V [libjvm.so+0x16d8ec3] universe2_init()+0x30 (universe.cpp:1118)
      V [libjvm.so+0xe4cf4a] init_globals2()+0x9 (init.cpp:173)
      V [libjvm.so+0x16a89e2] Threads::create_vm(JavaVMInitArgs*, bool*)+0x4d4 (threads.cpp:622)
      V [libjvm.so+0xfad7ea] JNI_CreateJavaVM_inner(JavaVM_**, void**, void*)+0x93 (jni.cpp:3621)
      V [libjvm.so+0xfadc20] JNI_CreateJavaVM+0x32 (jni.cpp:3712)
      C [libjli.so+0x3cff] JavaMain+0x8f
      C [libjli.so+0x7d29] ThreadJavaMain+0x9
      C [libc.so.6+0x9caa4]

            Assignee:
            Ioi Lam
            Reporter:
            Coleen Phillimore
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: