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

C2: remove blackholes with dead control input

XMLWordPrintable

    • master

      Running org.openjdk.bench.vm.lambda.chain.ChainLambdaCap0.call1 benchmark fails with the following assertion:

      To reproduce as described in the comments below:
      > make build-microbenchmark
      > java -jar ./build/linux-x64-debug/images/test/micro/benchmarks.jar org.openjdk.bench.vm.lambda.chain.ChainMrefUnbound.call1


      #
      # Internal Error (/opt/mach5/mesos/work_dir/slaves/3fe4557b-066a-4392-9b05-ef874140c35c-S211/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/75684d7c-96c5-4008-8725-69adc3eb5ec8/runs/598ad8c3-46d4-4344-972d-60f171ec3176/workspace/open/src/hotspot/share/opto/loopnode.cpp:5871), pid=25661, tid=25677
      # assert(!in->is_CFG()) failed: CFG Node with no controlling input?
      #
      # JRE version: OpenJDK Runtime Environment (24.0+1) (fastdebug build 24-jep483+1-15)
      # Java VM: OpenJDK 64-Bit Server VM (fastdebug 24-jep483+1-15, mixed mode, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
      # Problematic frame:
      # V [libjvm.so+0x1312972] PhaseIdealLoop::build_loop_early(VectorSet&, Node_List&, Node_Stack&)+0x7b2

      Command Line: -XX:AOTMode=record -XX:AOTConfiguration=test%pid.aotconfig -XX:+AOTClassLinking -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -DcompilerBlackholesEnabled=true -XX:CompileCommandFile=/tmp/jmh303354834779757008compilecommand org.openjdk.jmh.runner.ForkedMain 127.0.0.1 38603

      Host:xxxxxx, Intel(R) Xeon(R) CPU E5-2630 0 @ 2.30GHz, 24 cores, 15G, Ubuntu 16.04.6 LTS
      Time: Thu Nov 14 12:36:02 2024 PST elapsed time: 1.958854 seconds (0d 0h 0m 1s)

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

      Current thread (0x00007fa6a8341340): JavaThread "C2 CompilerThread0" daemon [_thread_in_native, id=25677, stack(0x00007fa67ad18000,0x00007fa67ae19000) (1028K)]


      Current CompileTask:
      C2:1958 816 % 4 org.openjdk.bench.vm.lambda.chain.ChainBase::process @ 2 (25 bytes)

      Stack: [0x00007fa67ad18000,0x00007fa67ae19000], sp=0x00007fa67ae13ee0, free space=1007k
      Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [libjvm.so+0x1312972] PhaseIdealLoop::build_loop_early(VectorSet&, Node_List&, Node_Stack&)+0x7b2 (loopnode.cpp:5871)
      V [libjvm.so+0x131f9c9] PhaseIdealLoop::build_and_optimize()+0x5e9
      V [libjvm.so+0xa52cf5] PhaseIdealLoop::verify(PhaseIterGVN&)+0x3c5
      V [libjvm.so+0xa4d9f3] Compile::Optimize()+0x743
      V [libjvm.so+0xa51d0f] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x1b6f
      V [libjvm.so+0x89ca75] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x1d5
      V [libjvm.so+0xa5dd98] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x928
      V [libjvm.so+0xa5ead8] CompileBroker::compiler_thread_loop()+0x528
      V [libjvm.so+0xf15cbc] JavaThread::thread_main_inner()+0xcc
      V [libjvm.so+0x18512c6] Thread::call_run()+0xb6
      V [libjvm.so+0x1531288] thread_native_entry(Thread*)+0x128

        1. hs_err_bug8344251.log
          87 kB
        2. step1.png
          step1.png
          82 kB
        3. step2.png
          step2.png
          49 kB
        4. step3.png
          step3.png
          44 kB
        5. step4.png
          step4.png
          37 kB
        6. step5.png
          step5.png
          27 kB

            mchevalier Marc Chevalier
            epavlova Ekaterina Pavlova
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: