[lworld] C2: assert(_inputs.at(alias_idx) == nullptr) failed: did not yet touch this slice

XMLWordPrintable

      The attached Java Fuzzer test fails with the following assertion. It could be related to JDK-8371603 which is currently also failing in mainline. However, the reproducer does not trigger in mainline.

      To reproduce:
      $ java -XX:CompileCommand=compileonly,*Test*::mainTest* -XX:-TieredCompilation -Xcomp -XX:+StressIGVN -XX:+StressCCP -XX:+StressLoopPeeling -XX:RepeatCompilation=500 Test.java
      $ java -XX:CompileOnly=Reduced::test -XX:-TieredCompilation -Xcomp -XX:+StressIGVN -XX:+StressCCP -XX:+StressLoopPeeling -XX:RepeatCompilation=500 Reduced.java

      #
      # A fatal error has been detected by the Java Runtime Environment:
      #
      # Internal Error (/opt/mach5/mesos/work_dir/slaves/526fbd26-20de-495c-9a19-a04adc16f7d1-S25912/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/e0a93070-fe55-4f3e-900d-17459a379e58/runs/1314d7e8-2d48-4d43-aac9-59676eeab5b4/workspace/open/src/hotspot/share/opto/vectorization.cpp:222), pid=268681, tid=268700
      # assert(_inputs.at(alias_idx) == nullptr) failed: did not yet touch this slice
      #
      # JRE version: Java(TM) SE Runtime Environment (26.0+1) (fastdebug build 26-valhalla+1-125)
      # Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 26-valhalla+1-125, compiled mode, sharing, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
      # Problematic frame:
      # V [libjvm.so+0x1d16a3a] VLoopMemorySlices::find_memory_slices()+0x41a
      ..............
      Command Line: -XX:CompileOnly=Reduced::test -XX:-TieredCompilation -Xcomp -XX:+StressIGVN -XX:+StressCCP -XX:+StressLoopPeeling -XX:RepeatCompilation=500 --add-modules=ALL-DEFAULT jdk.compiler/com.sun.tools.javac.launcher.SourceLauncher Reduced.java
      ..............
      Current CompileTask:
      C2:1098 107 b Reduced::test (84 bytes)

      Stack: [0x00007f61a31f3000,0x00007f61a32f3000], sp=0x00007f61a32ed5e0, free space=1001k
      Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [libjvm.so+0x1d16a3a] VLoopMemorySlices::find_memory_slices()+0x41a (vectorization.cpp:222)
      V [libjvm.so+0x1d1eac4] VLoopAnalyzer::setup_submodules_helper()+0x74
      V [libjvm.so+0x1d1eb54] VLoopAnalyzer::setup_submodules()+0x44
      V [libjvm.so+0x166d689] PhaseIdealLoop::auto_vectorize(IdealLoopTree*, VSharedData&)+0x999
      V [libjvm.so+0x164bd90] PhaseIdealLoop::build_and_optimize()+0xf40
      V [libjvm.so+0xbe6850] PhaseIdealLoop::optimize(PhaseIterGVN&, LoopOptsMode)+0x4c0
      V [libjvm.so+0xbdd3d4] Compile::optimize_loops(PhaseIterGVN&, LoopOptsMode)+0xb4
      V [libjvm.so+0xbe0814] Compile::Optimize()+0x10b4
      V [libjvm.so+0xbe3505] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x1da5
      V [libjvm.so+0x9dcf50] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x4e0
      V [libjvm.so+0xbf2e34] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x854
      V [libjvm.so+0xbf45c0] CompileBroker::compiler_thread_loop()+0x530
      V [libjvm.so+0x1190c3b] JavaThread::thread_main_inner()+0x13b
      V [libjvm.so+0x1c69f26] Thread::call_run()+0xb6
      V [libjvm.so+0x18957c8] thread_native_entry(Thread*)+0x128

        1. Test.java
          8 kB
          Christian Hagedorn
        2. Reduced.java
          0.6 kB
          Christian Hagedorn
        3. hs_err_pid268828.log
          72 kB
          Christian Hagedorn
        4. FuzzerUtils.java
          13 kB
          Christian Hagedorn

            Assignee:
            Christian Hagedorn
            Reporter:
            Christian Hagedorn
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: