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

Shenandoah crash in C2 PhaseIdealLoop::register_new_node: guarantee(n != nullptr) failed: No Node

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: P4 P4
    • None
    • 24.0.1
    • hotspot
    • AArch64, 64 cores, 123G, Ubuntu 24.04.2 LTS

      Corretto-24.0.1.9.1 (24.0.1+9) (build 24.0.1+9-FR)

    • gc
    • x86_64
    • linux

      Assertion sometimes fails in Corretto 24, both in Shenandoah and GenShen, while running the attached app on amd64, so far no repro on aarch64.

      java -Xms7g -Xmx7g -XX:+UseShenandoahGC VirtualThreadJfr.java 600 100000000

      and

      java -Xms7g -Xmx7g -XX:+UseShenandoahGC -XX:+UnlockExperimentalVMOptions -XX:ShenandoahGCMode=generational VirtualThreadJfr.java 600 100000000

      #
      # A fatal error has been detected by the Java Runtime Environment:
      #
      # Internal Error (loopnode.hpp:968), pid=884632, tid=884993
      # guarantee(n != nullptr) failed: No Node.
      #
      # JRE version: OpenJDK Runtime Environment Corretto-24.0.1.9.1 (24.0.1+9) (build 24.0.1+9-FR)
      # Java VM: OpenJDK 64-Bit Server VM Corretto-24.0.1.9.1 (24.0.1+9-FR, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, shenandoah gc, linux-amd64)
      # Problematic frame:
      # V [libjvm.so+0xf35d4a] PhaseIdealLoop::register_new_node(Node*, Node*)+0xfa
      #
      # Core dump will be written. Default location: Core dumps may be processed with "/usr/share/apport/apport -p%p -s%s -c%c -d%d -P%P -u%u -g%g -- %E" (or dumping to /home/ubuntu/app/output/core.884632)
      #
      # JFR recording file will be written. Location: /home/ubuntu/app/output/hs_err_pid884632.jfr
      #
      # If you would like to submit a bug report, please visit:
      # https://github.com/corretto/corretto-24/issues/
      #

      --------------- S U M M A R Y ------------

      Command Line: -Djava.library.path=/home/ubuntu/app/cache/lib -Xms7g -Xmx7g -XX:+UseShenandoahGC -XX:ErrorFile=/home/ubuntu/app/output/crash_reports/stress-apps/hs_err_VirtualThreadJfr_%p_23-05-2025.log VirtualThreadJfr 600 100000000

      Host: Intel(R) Xeon(R) Platinum 8488C, 64 cores, 123G, Ubuntu 24.04.2 LTS
      Time: Fri May 23 16:52:40 2025 UTC elapsed time: 2.497026 seconds (0d 0h 0m 2s)

      --------------- T H R E A D ---------------

      Current thread (0x00007f14900d25b0): JavaThread "C2 CompilerThread8" daemon [_thread_in_native, id=884993, stack(0x00007f16a7500000,0x00007f16a7600000) (1024K)]


      Current CompileTask:
      C2:2497 1943 ! 4 jdk.internal.vm.Continuation::enter (19 bytes)

      Stack: [0x00007f16a7500000,0x00007f16a7600000], sp=0x00007f16a75fb3c0, free space=1004k
      Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [libjvm.so+0xf35d4a] PhaseIdealLoop::register_new_node(Node*, Node*)+0xfa (loopnode.hpp:968)
      V [libjvm.so+0xf15b5d] ShenandoahBarrierC2Support::pin_and_expand(PhaseIdealLoop*)+0x58d
      V [libjvm.so+0xe6a138] ShenandoahBarrierSetC2::optimize_loops(PhaseIdealLoop*, LoopOptsMode, VectorSet&, Node_Stack&, Node_List&) const+0x28
      V [libjvm.so+0xc37cd9] PhaseIdealLoop::build_and_optimize()+0x7e9
      V [libjvm.so+0x6be6df] PhaseIdealLoop::optimize(PhaseIterGVN&, LoopOptsMode)+0x20f
      V [libjvm.so+0xf0c7c8] ShenandoahBarrierC2Support::expand(Compile*, PhaseIterGVN&)+0x48
      V [libjvm.so+0xe6a0ff] ShenandoahBarrierSetC2::expand_barriers(Compile*, PhaseIterGVN&) const+0xf
      V [libjvm.so+0x6bc7a5] Compile::Optimize()+0x915
      V [libjvm.so+0x6bde8f] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0xf3f
      V [libjvm.so+0x5e03d9] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x1b9
      V [libjvm.so+0x6c3d9a] CompileBroker::invoke_compiler_on_method(CompileTask*)+0xafa
      V [libjvm.so+0x6c6f98] CompileBroker::compiler_thread_loop()+0x518
      V [libjvm.so+0x982c18] JavaThread::thread_main_inner() [clone .part.0]+0xb8
      V [libjvm.so+0x103f5ff] Thread::call_run()+0x9f
      V [libjvm.so+0xd72bd6] thread_native_entry(Thread*)+0xd6
      C [libc.so.6+0x9caa4]

            cslucas Cesar Soares
            krk Kerem Kat
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: