JDK-8258384 : AArch64: SVE verify_ptrue fails on some tests
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 16,17
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • OS: linux
  • CPU: aarch64
  • Submitted: 2020-12-15
  • Updated: 2025-06-10
  • Resolved: 2021-01-12
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 16 JDK 17
16 b32Fixed 17Fixed
Related Reports
Causes :  
Description
The Vector API case IntMaxVectorLoadStoreTests fails on SVE system with SIGILL:

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGILL (0x4) at pc=0x0000ffff78202dcc, pid=2107437, tid=2107466
#
# JRE version: OpenJDK Runtime Environment (17.0) (fastdebug build 17-internal+0-git-15481041e)
# Java VM: OpenJDK 64-Bit Server VM (fastdebug 17-internal+0-git-15481041e, mixed mode, tiered, compressed oops, g1 gc, linux-aarch64)
# Problematic frame:
# J 1079 c2 IntMaxVectorLoadStoreTests.loadArrayMaskIOOBE(Ljava/util/function/IntFunction;Ljava/util/function/IntFunction;Ljava/util/function/IntFunction;)V (177 bytes) @ 0x0000ffff78202dcc [0x0000ffff78202740+0x000000000000068c]
#
# Core dump will be written. Default location: Core dumps may be processed with "/usr/lib/systemd/systemd-coredump %P %u %g %s %t %c %h %e" (or dumping to /home/ninjia02/work/scratch/core.2107437)
#
# An error report file with more information is saved as:
# /home/ninjia02/work/scratch/hs_err_pid2107437.log
Compiled method (c2)    2996 1079   !   4       IntMaxVectorLoadStoreTests::loadArrayMaskIOOBE (177 bytes)

This SIGILL is triggered by assertion of verifying preserved p7 register being clobbered before returning to c2 compiled code.

P.S. The SIGILL comes from MacroAssembler::stop(), which should print meaningful message instead of a SIGILL.
Comments
Changeset: a7e5da22 Author: Ningsheng Jian <njian@openjdk.org> Date: 2021-01-12 01:31:58 +0000 URL: https://git.openjdk.java.net/jdk16/commit/a7e5da22
12-01-2021

ILW = Execution of C2 compiled code fails with SIGILL, vector api test (incubator) on aarch64, disable compilation of affected method = HLM = P3
15-12-2020