JDK-8353715 : [lworld] TestArrays::test133 crashes with -XX:+UseNullableValueFlattening
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: repo-valhalla
  • Priority: P4
  • Status: Closed
  • Resolution: Duplicate
  • Submitted: 2025-04-04
  • Updated: 2025-04-11
  • Resolved: 2025-04-11
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.
Other
repo-valhallaResolved
Related Reports
Duplicate :  
Relates :  
Relates :  
Description
test/hotspot/jtreg/compiler/valhalla/inlinetypes/TestArrays.java with "-XX:+UseNullableValueFlattening -DTest=test133 -DScenarios=4 -XX:-TieredCompilation"

# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (/oracle/valhalla/open/src/hotspot/share/oops/compressedOops.inline.hpp:58), pid=3909055, tid=3909056
#  assert(Universe::is_in_heap(result)) failed: object not in heap 0x0000000000000008
#
# JRE version: Java(TM) SE Runtime Environment (25.0) (fastdebug build 25-lworld5ea-LTS-2025-03-17-0959440.tobias...)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 25-lworld5ea-LTS-2025-03-17-0959440.tobias..., mixed mode, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
# Problematic frame:
# V  [libjvm.so+0x62e0e2]  CompressedOops::decode_not_null(narrowOop)+0x132

V  [libjvm.so+0x62e0e2]  CompressedOops::decode_not_null(narrowOop)+0x132  (compressedOops.inline.hpp:58)
V  [libjvm.so+0x1134698]  AccessInternal::PostRuntimeDispatch<G1BarrierSet::AccessBarrier<401510ul, G1BarrierSet>, (AccessInternal::BarrierType)3, 401510ul>::oop_access_barrier(oop, long)+0x258  (compressedOops.inline.hpp:63)
V  [libjvm.so+0x1a88826]  Unsafe_GetReference+0x1d6  (accessBackend.hpp:464)
J 529  jdk.internal.misc.Unsafe.getReference(Ljava/lang/Object;J)Ljava/lang/Object; java.base (0 bytes) @ 0x00007992d9247564 [0x00007992d92474c0+0x00000000000000a4]
j  java.lang.invoke.LambdaForm$MH+0x0000000091105000.invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+24 java.base
j  java.lang.invoke.LambdaForm$MH+0x000000009110a000.invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)I+24 java.base
j  java.lang.invoke.LambdaForm$MH+0x0000000091107400.guard(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)I+34 java.base
j  java.lang.invoke.LambdaForm$MH+0x000000009110b000.delegate(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)I+14 java.base
j  java.lang.invoke.LambdaForm$MH+0x0000000091107400.guard(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)I+74 java.base
j  java.lang.invoke.LambdaForm$MH+0x000000009110b000.delegate(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)I+14 java.base
j  java.lang.invoke.LambdaForm$MH+0x000000009110b400.invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)I+132 java.base
j  java.lang.invoke.LambdaForm$MH+0x000000009110a800.invoke_MT(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)I+22 java.base
j  java.lang.runtime.ValueObjectMethods.isSubstitutable(Ljava/lang/Object;Ljava/lang/Object;)Z+96 java.base
v  ~StubRoutines::call_stub 0x00007992d9000d01
V  [libjvm.so+0xfdf3af]  JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, JavaThread*)+0x4df  (javaCalls.cpp:429)
V  [libjvm.so+0xfc18e1]  InterpreterRuntime::is_substitutable(JavaThread*, oopDesc*, oopDesc*)+0x2f1  (interpreterRuntime.cpp:415)
j  jdk.test.lib.Asserts.assertEquals(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;)V+2
j  jdk.test.lib.Asserts.assertEquals(Ljava/lang/Object;Ljava/lang/Object;)V+3
j  compiler.valhalla.inlinetypes.TestArrays.test133_verifier()V+34

Comments
I'll fix this with JDK-8353195.
11-04-2025