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

AArch64: stack corruption after spilling vector register

    XMLWordPrintable

Details

    • b31
    • aarch64
    • linux

    Backports

      Description

        Seen on the vectorIntrinsics branch but should also be possible on jdk/jdk although I haven't found a reliable reproducer. Use the attached TestFloatVector.java and the following command line:

        java --add-modules jdk.incubator.vector -XX:-TieredCompilation -Xcomp -XX:-UseOnStackReplacement TestFloatVector

        Note the crash will only happen on vectorIntrinsics *before* the recent commit "Enable call devirtualization during post-parse phase" as this changes the inlining and hides the bug.

        #
        # A fatal error has been detected by the Java Runtime Environment:
        #
        # SIGSEGV (0xb) at pc=0x0000ffff8d7448cc, pid=225338, tid=225339
        #
        # JRE version: OpenJDK Runtime Environment (16.0) (fastdebug build 16-internal+0-adhoc.nicgas01.panama-vector)
        # Java VM: OpenJDK 64-Bit Server VM (fastdebug 16-internal+0-adhoc.nicgas01.panama-vector, compiled mode, compressed oops, g1 gc, linux-aarch64)
        # Problematic frame:
        # J 3622 c2 TestFloatVector.fmaTest([F[F[F[F[Z)V (111 bytes) @ 0x0000ffff8d7448cc [0x0000ffff8d744400+0x00000000000004cc]
        #

        Attachments

          Issue Links

            Activity

              People

                ngasson Nick Gasson
                ngasson Nick Gasson
                Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved: