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

Race condition when computing is_loaded property of TypePtr::InterfaceSet

XMLWordPrintable

    • b05
    • 21
    • b23

      The test java/foreign/callarranger/TestRISCV64CallArranger.java crashes with SIGSEGV (within LibraryCallKit::generate_method_call) on macosx-x64, see attached HotSpot error file. The failure is observed on a Generational ZGC build, but it is unlikely to be Generational ZGC-specific. I failed to reproduce the crash using compilation replay.

      # A fatal error has been detected by the Java Runtime Environment:
      #
      # SIGSEGV (0xb) at pc=0x000000010a9c5306, pid=79781, tid=29955
      #
      # JRE version: Java(TM) SE Runtime Environment (21.0+4) (build 21-genzgc+4-LTS-29)
      # Java VM: Java HotSpot(TM) 64-Bit Server VM (21-genzgc+4-LTS-29, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, bsd-amd64)
      # Problematic frame:
      # V [libjvm.dylib+0x7d5306] LibraryCallKit::generate_method_call(vmIntrinsicID, bool, bool)+0x386

      Current CompileTask:
      C2: 762 1086 4 java.lang.invoke.MethodType::hashCode (53 bytes)

      Stack: [0x0000700009a42000,0x0000700009b42000], sp=0x0000700009b3fc30, free space=1015k
      Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [libjvm.dylib+0x7d5306] LibraryCallKit::generate_method_call(vmIntrinsicID, bool, bool)+0x386
      V [libjvm.dylib+0x7b297e] LibraryCallKit::inline_native_hashcode(bool, bool)+0xf7e
      V [libjvm.dylib+0x7af787] LibraryCallKit::try_to_inline(int)+0x207
      V [libjvm.dylib+0x7af1f0] LibraryIntrinsic::generate(JVMState*)+0xa0
      V [libjvm.dylib+0x45c14c] Parse::do_call()+0x5ac
      V [libjvm.dylib+0x9576d8] Parse::do_one_block()+0x218
      V [libjvm.dylib+0x956662] Parse::do_all_blocks()+0x4e2
      V [libjvm.dylib+0x954076] Parse::Parse(JVMState*, ciMethod*, float)+0x806
      V [libjvm.dylib+0x2d4a70] ParseGenerator::generate(JVMState*)+0x80
      V [libjvm.dylib+0x384d7e] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0xcbe
      V [libjvm.dylib+0x2d2c1f] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0xef
      V [libjvm.dylib+0x3984ca] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x4ca
      V [libjvm.dylib+0x397f5c] CompileBroker::compiler_thread_loop()+0x4ec
      V [libjvm.dylib+0x5c3524] JavaThread::thread_main_inner()+0x94
      V [libjvm.dylib+0xad5495] Thread::call_run()+0xa5
      V [libjvm.dylib+0x934cd7] thread_native_entry(Thread*)+0x147
      C [libsystem_pthread.dylib+0x6259] _pthread_start+0x7d
      C [libsystem_pthread.dylib+0x1c7b] thread_start+0xf

      Should this test be enabled at all on other platforms than RISCV64?

            thartmann Tobias Hartmann
            rcastanedalo Roberto Castaneda Lozano
            Votes:
            0 Vote for this issue
            Watchers:
            9 Start watching this issue

              Created:
              Updated:
              Resolved: