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

C2: assert(parse_predicate_success_proj->is_uncommon_trap_if_pattern(reason)) failed: must be a uct if pattern!

XMLWordPrintable

      The attached Java Fuzzer test starts to fail after JDK-8315066 which must have revealed an existing issue with improved type information (please update the affected versions accordingly once the root cause is known).

      To reproduce:
      $ java -XX:CompileCommand=compileonly,*Test*::* -Xcomp Test.java

      #
      # A fatal error has been detected by the Java Runtime Environment:
      #
      # Internal Error (c:\sb\prod\1751923059\workspace\open\src\hotspot\share\opto\loopPredicate.cpp:107), pid=69620, tid=69584
      # assert(parse_predicate_success_proj->is_uncommon_trap_if_pattern(reason)) failed: must be a uct if pattern!
      #
      # JRE version: Java(TM) SE Runtime Environment (26.0) (fastdebug build 26-internal-2025-07-07-2115182.vladimir.kozlov.jdkgit2)
      # Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 26-internal-2025-07-07-2115182.vladimir.kozlov.jdkgit2, compiled mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, windows-amd64)
      # Problematic frame:
      # V [jvm.dll+0xc288d3] PhaseIdealLoop::create_new_if_for_predicate+0x983
      .............
      Command Line: -Xmx1G -XX:+IgnoreUnrecognizedVMOptions -XX:CompileCommand=quiet -XX:CompileCommand=compileonly,*Test*::* -Xcomp Test_520
      .............
      C2:582 12 b 4 Test_520::vMeth1 (301 bytes)

      Stack: [0x000000221ba00000,0x000000221bb00000], sp=0x000000221bafafa0, free space=1003k
      Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [jvm.dll+0xc288d3] PhaseIdealLoop::create_new_if_for_predicate+0x983 (loopPredicate.cpp:107)
      V [jvm.dll+0xe47668] ClonePredicateToTargetLoop::clone_parse_predicate+0x48 (predicates.hpp:1162)
      V [jvm.dll+0xe4b2b5] CloneUnswitchedLoopPredicatesVisitor::visit+0x45 (predicates.cpp:1112)
      V [jvm.dll+0xc3926a] PredicateIterator::for_each+0xea (predicates.hpp:780)
      V [jvm.dll+0xc454c0] OriginalLoop::multiversion+0x160 (loopUnswitch.cpp:312)
      V [jvm.dll+0xc4431e] PhaseIdealLoop::do_unswitching+0x2be (loopUnswitch.cpp:399)
      V [jvm.dll+0xc3d545] IdealLoopTree::iteration_split_impl+0x265 (loopTransform.cpp:3516)
      V [jvm.dll+0xc3d218] IdealLoopTree::iteration_split+0x118 (loopTransform.cpp:3540)
      V [jvm.dll+0xc3d134] IdealLoopTree::iteration_split+0x34 (loopTransform.cpp:3524)
      V [jvm.dll+0xc3d134] IdealLoopTree::iteration_split+0x34 (loopTransform.cpp:3524)
      V [jvm.dll+0xc3d290] IdealLoopTree::iteration_split+0x190 (loopTransform.cpp:3552)
      V [jvm.dll+0xc4aa3e] PhaseIdealLoop::build_and_optimize+0x103e (loopnode.cpp:5019)
      V [jvm.dll+0x5d0160] PhaseIdealLoop::optimize+0x170 (loopnode.hpp:1270)
      V [jvm.dll+0x5c17f7] Compile::Optimize+0x897 (compile.cpp:2462)
      V [jvm.dll+0x5be881] Compile::Compile+0x10e1 (compile.cpp:860)
      V [jvm.dll+0x4c25d9] C2Compiler::compile_method+0x179 (c2compiler.cpp:144)
      V [jvm.dll+0x5dcd9e] CompileBroker::invoke_compiler_on_method+0x7ae (compileBroker.cpp:2327)
      V [jvm.dll+0x5da0ef] CompileBroker::compiler_thread_loop+0x32f (compileBroker.cpp:1972)
      V [jvm.dll+0x92fe08] JavaThread::thread_main_inner+0x288 (javaThread.cpp:774)
      V [jvm.dll+0x1048852] Thread::call_run+0x1b2 (thread.cpp:248)
      V [jvm.dll+0xdefc51] thread_native_entry+0xe1 (os_windows.cpp:562)
      C [ucrtbase.dll+0x26b4c] (no source info available)
      C [KERNEL32.DLL+0x14cb0] (no source info available)
      C [ntdll.dll+0x7edcb] (no source info available)

        1. FuzzerUtils.java
          13 kB
        2. hs_err_pid69620.log
          99 kB
        3. Test.java
          7 kB

            Unassigned Unassigned
            chagedorn Christian Hagedorn
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: