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

C2: assert(MaxVectorSize >= 32) failed: vector length should be >= 32

    XMLWordPrintable

Details

    • b03
    • 17
    • b18
    • x86_64
    • generic

    Description

      I ran this:

      ~/Documents/jtreg/bin/jtreg -va -s -jdk:/oracle-work/jdk-fork2/build/linux-x64-debug/jdk -javaoptions:"-XX:MaxVectorSize=8" -J-Djavatest.maxOutputSize=10000000 /oracle-work/jdk-fork2/open/test/hotspot/jtreg/compiler/c2/ClearArray.java

      And got that:

      # A fatal error has been detected by the Java Runtime Environment:
      #
      # Internal Error (/oracle-work/jdk-fork2/open/src/hotspot/cpu/x86/macroAssembler_x86.cpp:9473), pid=2498389, tid=2498406
      # assert(MaxVectorSize >= 32) failed: vector length should be >= 32
      #
      # JRE version: Java(TM) SE Runtime Environment (23.0) (fastdebug build 23-internal-2024-03-12-0734066.emanuel...)
      # Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 23-internal-2024-03-12-0734066.emanuel..., mixed mode, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
      # Problematic frame:
      # V [libjvm.so+0x132c9e5] MacroAssembler::fill64(Address, XMMRegister, bool)+0x1c5
      #
      # 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 /oracle-work/jdk-fork2/build/linux-x64-slowdebug/jdk/bin/JTwork/scratch/core.2498389)
      #
      # An error report file with more information is saved as:
      # /oracle-work/jdk-fork2/build/linux-x64-slowdebug/jdk/bin/JTwork/scratch/hs_err_pid2498389.log
      #
      # Compiler replay data is saved as:
      # /oracle-work/jdk-fork2/build/linux-x64-slowdebug/jdk/bin/JTwork/scratch/replay_pid2498389.log
      #
      # If you would like to submit a bug report, please visit:
      # https://bugreport.java.com/bugreport/crash.jsp


      I suspect that this is a AVX512 feature, since it only seems to reprodue on such machines. But setting -XX:UseAVX=2 does not stop the compiler from using fill64, which seems to be an AVX512 feature.

      Attachments

        Issue Links

          Activity

            People

              jbhateja Jatin Bhateja
              epeter Emanuel Peter
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: