JDK-8325264 : two compiler/intrinsics/float16 tests fail after JDK-8324724
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 23
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • OS: os_x
  • CPU: aarch64
  • Submitted: 2024-02-05
  • Updated: 2024-07-02
  • Resolved: 2024-02-09
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 23
23 b10Fixed
Related Reports
Relates :  
Sub Tasks
JDK-8325270 :  
Description
The following two tests are failing in the JDK23 CI:

compiler/intrinsics/float16/TestConstFloat16ToFloat.java
compiler/intrinsics/float16/Binary16Conversion.java

The first test fails with a SIGBUS with the following stack trace:

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

Current thread (0x000000015d02d410):  JavaThread "C2 CompilerThread0" daemon [_thread_in_native, id=25091, stack(0x0000000170d30000,0x0000000170f33000) (2060K)]


Current CompileTask:
C2:60   12    b        TestConstFloat16ToFloat::testFloat16Const (125 bytes)

Stack: [0x0000000170d30000,0x0000000170f33000],  sp=0x0000000170f30120,  free space=2048k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
v  ~StubRoutines::float16ToFloat 0x000000010c659680
V  [libjvm.dylib+0xe8e5b8]  PhaseGVN::transform(Node*)+0x1e8
V  [libjvm.dylib+0xc247e0]  LibraryCallKit::inline_fp_conversions(vmIntrinsicID)+0xc68
V  [libjvm.dylib+0xc0e220]  LibraryCallKit::try_to_inline(int)+0x12c
V  [libjvm.dylib+0xc0dae8]  LibraryIntrinsic::generate(JVMState*)+0x168
V  [libjvm.dylib+0x61298c]  Parse::do_call()+0x898
V  [libjvm.dylib+0xe7aec4]  Parse::do_one_bytecode()+0x200
V  [libjvm.dylib+0xe6c984]  Parse::do_one_block()+0x49c
V  [libjvm.dylib+0xe6a8dc]  Parse::do_all_blocks()+0x480
V  [libjvm.dylib+0xe67128]  Parse::Parse(JVMState*, ciMethod*, float)+0xa18
V  [libjvm.dylib+0x38b774]  ParseGenerator::generate(JVMState*)+0x11c
V  [libjvm.dylib+0x4c014c]  Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0xd3c
V  [libjvm.dylib+0x389de8]  C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x1e0
V  [libjvm.dylib+0x4de480]  CompileBroker::invoke_compiler_on_method(CompileTask*)+0x854
V  [libjvm.dylib+0x4dd8c4]  CompileBroker::compiler_thread_loop()+0x348
V  [libjvm.dylib+0x8b8e48]  JavaThread::thread_main_inner()+0x1dc
V  [libjvm.dylib+0x106f254]  Thread::call_run()+0xf4
V  [libjvm.dylib+0xe38258]  thread_native_entry(Thread*)+0x138
C  [libsystem_pthread.dylib+0x6fa8]  _pthread_start+0x94

siginfo: si_signo: 10 (SIGBUS), si_code: 1 (BUS_ADRALN), si_addr: 0x000000010c659680

The second test also fails with a SIGBUS with very similar stack trace.

These two failures started happening in jdk-23+9-599 which only contains
the fix for the following bug:

JDK-8324724 Add Stub routines for FP16 conversions on aarch64
Comments
Changeset: 43684374 Author: Bhavana Kilambi <bkilambi@openjdk.org> Committer: Vladimir Kozlov <kvn@openjdk.org> Date: 2024-02-09 16:57:49 +0000 URL: https://git.openjdk.org/jdk/commit/43684374755d7446e224d16e6c40b903b6a6e91f
09-02-2024

A pull request was submitted for review. URL: https://git.openjdk.org/jdk/pull/17733 Date: 2024-02-06 14:37:11 +0000
06-02-2024

Since the failing tests are now problemlisted, we can lower the priority: ILW = Crash with SIGBUS on aarch64 with FP16 conversion stubs, on macos only with conversions, -XX:DisableIntrinsic=_float16ToFloat,_floatToFloat16 = HMM = P2
06-02-2024

[~bkilambi], please have a look.
06-02-2024