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

Another crash in SymbolTable::do_lookup

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: External
    • Icon: P3 P3
    • 23
    • 21.0.2
    • hotspot

      After Oracle GraalVM for JDK 21.0.2 was rolled out, a [Micronaut gate started to fail](https://github.com/micronaut-projects/micronaut-eclipsestore/actions/runs/7544839182/job/20539092928?pr=4#step:8:496). It's not limited to GraalVM as we are able to reproduce this on Oracle JDK 21.0.2.

      Reproducer:
      ```
      # set JAVA_HOME to jdk-21.0.2 and ensure Podman/Docker is running
      git clone https://github.com/micronaut-projects/micronaut-eclipsestore.git
      cd micronaut-eclipsestore
      git checkout 64b2b1a1b7b073553edb2b7eba26426cf4165381
      export TESTCONTAINERS_RYUK_DISABLED=true PREDICTIVE_TEST_SELECTION=true
      ./gradlew :test-suite:test --no-daemon --continue
      ```

      Error trace
      ```
      Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [libjvm.so+0xe46d40] SymbolTable::do_lookup(char const*, int, unsigned long)+0xd0
      V [libjvm.so+0x5f05cd] ClassFileParser::parse_constant_pool_entries(ClassFileStream const*, ConstantPool*, int, JavaThread*)+0x74d
      V [libjvm.so+0x5f0ed6] ClassFileParser::parse_stream(ClassFileStream const*, JavaThread*) [clone .part.0]+0x166
      V [libjvm.so+0x5f189e] ClassFileParser::ClassFileParser(ClassFileStream*, Symbol*, ClassLoaderData*, ClassLoadInfo const*, ClassFileParser::Publicity, JavaThread*)+0x25e
      V [libjvm.so+0xb1659e] KlassFactory::create_from_stream(ClassFileStream*, Symbol*, ClassLoaderData*, ClassLoadInfo const&, JavaThread*)+0x22e
      V [libjvm.so+0xe5a2b0] SystemDictionary::resolve_class_from_stream(ClassFileStream*, Symbol*, Handle, ClassLoadInfo const&, JavaThread*)+0x170
      V [libjvm.so+0x9beacf] jvm_define_class_common(char const*, _jobject*, signed char const*, int, _jobject*, char const*, JavaThread*)+0x20f
      V [libjvm.so+0x9bed49] JVM_DefineClassWithSource+0x69
      C [libjava.so+0xeb62] Java_java_lang_ClassLoader_defineClass1+0x182
      J 921 java.lang.ClassLoader.defineClass1(Ljava/lang/ClassLoader;Ljava/lang/String;[BIILjava/security/ProtectionDomain;Ljava/lang/String;)Ljava/lang/Class; java.base@21.0.2 (0 bytes) @ 0x00007fd5c05ef680 [0x00007fd5c05ef540+0x0000000000000140]
      J 4636 c2 java.security.SecureClassLoader.defineClass(Ljava/lang/String;[BIILjava/security/CodeSource;)Ljava/lang/Class; java.base@21.0.2 (16 bytes) @ 0x00007fd5c0784f30 [0x00007fd5c0784da0+0x0000000000000190]
      J 3891 c2 jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(Ljava/lang/String;)Ljava/lang/Class; java.base@21.0.2 (64 bytes) @ 0x00007fd5c0746fbc [0x00007fd5c0745060+0x0000000000001f5c]
      J 3069 c2 jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(Ljava/lang/String;Z)Ljava/lang/Class; java.base@21.0.2 (143 bytes) @ 0x00007fd5c06f7cf0 [0x00007fd5c06f79a0+0x0000000000000350]
      J 3869 c2 java.lang.ClassLoader.loadClass(Ljava/lang/String;)Ljava/lang/Class; java.base@21.0.2 (7 bytes) @ 0x00007fd5c0736ab8 [0x00007fd5c0736a60+0x0000000000000058]
      v ~StubRoutines::call_stub 0x00007fd5bfe5fcc6
      V [libjvm.so+0x8e28d5] JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, JavaThread*)+0x2e5
      V [libjvm.so+0x8e4482] JavaCalls::call_virtual(JavaValue*, Handle, Klass*, Symbol*, Symbol*, Handle, JavaThread*)+0x1e2
      V [libjvm.so+0xe5c0c2] SystemDictionary::load_instance_class_impl(Symbol*, Handle, JavaThread*)+0x182
      V [libjvm.so+0xe5a65c] SystemDictionary::load_instance_class(Symbol*, Handle, JavaThread*)+0x1c
      V [libjvm.so+0xe5b1b9] SystemDictionary::resolve_instance_class_or_null(Symbol*, Handle, Handle, JavaThread*)+0x9d9
      V [libjvm.so+0xe5c51e] SystemDictionary::resolve_or_fail(Symbol*, Handle, Handle, bool, JavaThread*)+0x5e
      V [libjvm.so+0x671af7] ConstantPool::klass_at_impl(constantPoolHandle const&, int, JavaThread*)+0x157
      V [libjvm.so+0x8d89ed] InterpreterRuntime::_new(JavaThread*, ConstantPool*, int)+0x6d
      j io.micronaut.http.resource.ResourceLoaderFactory.fileSystemResourceLoader()Lio/micronaut/core/io/file/FileSystemResourceLoader;+0
      ```

        1. hs_err_pid80433.log
          680 kB
          Fabio Niephaus
        2. hs_err_pid80433.notes.txt
          7 kB
          Ioi Lam

            iklam Ioi Lam
            fniephaus Fabio Niephaus
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: