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

C2 compilation fails because PhaseCCP does not reach a fixpoint

XMLWordPrintable

    • b11
    • 25
    • b18

      java/lang/Character/CheckProp.java intermittently fails during CCP. I can reproduce this by running the test in a loop with "-XX:+UseParallelGC -XX:-TieredCompilation -XX:+UseNUMA" on my Linux x64 machine.

      Missed Value optimization:
      dist dump
      ---------------------------------------------
         1 1348 ConI === 0 [[ 4214 4183 4177 4179 4181 4194 4196 4198 4200 4202 4204 4206 4208 4210 4212 ]] #int:65535
         1 4215 CastII === 854 346 [[ 4214 ]] #int unconditional dependency !jvms: CheckProp::main @ bci:225 (line 57)
         0 4214 AndI === _ 4215 1348 [[ 433 ]] !orig=[856] !jvms: CharacterData01::getProperties @ bci:1 (line 71) CharacterData01::getType @ bci:2 (line 83) Character::getType @ bci:5 (line 11840) CheckProp::main @ bci:206 (line 54)
      Current type:
      top
      Optimized type:
      int:0
      #
      # A fatal error has been detected by the Java Runtime Environment:
      #
      # Internal Error (/workspace/open/src/hotspot/share/opto/phaseX.cpp:1853), pid=167258, tid=167434
      # assert(!failure) failed: PhaseCCP not at fixpoint: analysis result may be unsound.
      #
      # JRE version: Java(TM) SE Runtime Environment (25.0+12) (fastdebug build 25-ea+12-LTS-1237)
      # Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 25-ea+12-LTS-1237, mixed mode, compressed class ptrs, z gc, linux-amd64)
      # Problematic frame:
      # V [libjvm.so+0x15f2e2d] PhaseCCP::analyze()+0x65d
      #

      Current CompileTask:
      C2:10185 773 CheckProp::main (615 bytes)

      Stack: [0x00007facea366000,0x00007facea466000], sp=0x00007facea461160, free space=1004k
      Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [libjvm.so+0x15f2e2d] PhaseCCP::analyze()+0x65d (phaseX.cpp:1853)
      V [libjvm.so+0xa65974] Compile::Optimize()+0x754 (compile.cpp:2396)
      V [libjvm.so+0xa69c5f] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x1b9f (compile.cpp:848)
      V [libjvm.so+0x8b4da5] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x1d5 (c2compiler.cpp:141)
      V [libjvm.so+0xa76528] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x928 (compileBroker.cpp:2331)
      V [libjvm.so+0xa77268] CompileBroker::compiler_thread_loop()+0x528 (compileBroker.cpp:1975)
      V [libjvm.so+0xf417de] JavaThread::thread_main_inner()+0xee (javaThread.cpp:776)
      V [libjvm.so+0x18962d6] Thread::call_run()+0xb6 (thread.cpp:231)
      V [libjvm.so+0x156e458] thread_native_entry(Thread*)+0x128 (os_linux.cpp:877)

      This is a regression from JDK-8346664 in JDK 25 b11.

            cushon Liam Miller-Cushon
            thartmann Tobias Hartmann
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: