JDK-8271330 : [lworld] SIGSEGV in MemNode::find_previous_store
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: repo-valhalla
  • Priority: P2
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2021-07-27
  • Updated: 2021-07-28
  • Resolved: 2021-07-28
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-valhallaFixed
Related Reports
Relates :  
Relates :  
Description
Only reproduces on AVX-512 VLBW capable machines (for example, Intel(R) Xeon(R) Gold 6354).

# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007f25d2d17e90, pid=26838, tid=26865
#

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

Current thread (0x00007f25cc2b0e30):  JavaThread "C2 CompilerThread0" daemon [_thread_in_native, id=26865, stack(0x00007f25b09fa000,0x00007f25b0afb000)]


Current CompileTask:
C2:   1248 1885   !   4       sun.security.ssl.SSLCipher$T13GcmReadCipherGenerator$GcmReadCipher::decrypt (524 bytes)

Stack: [0x00007f25b09fa000,0x00007f25b0afb000],  sp=0x00007f25b0af6a70,  free space=1010k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0xba8e90]  MemNode::find_previous_store(PhaseTransform*)+0x620
V  [libjvm.so+0xbb2c85]  StoreNode::Identity(PhaseGVN*)+0x75
V  [libjvm.so+0xc94461]  PhaseIterGVN::transform_old(Node*)+0x191
V  [libjvm.so+0xc90a18]  PhaseIterGVN::optimize()+0x118
V  [libjvm.so+0xb15161]  PhaseMacroExpand::expand_macro_nodes()+0x731
V  [libjvm.so+0x5cd357]  Compile::Optimize()+0x16d7
V  [libjvm.so+0x5ce49a]  Compile::Compile(ciEnv*, ciMethod*, int, bool, bool, bool, bool, bool, DirectiveSet*)+0xe9a
V  [libjvm.so+0x505479]  C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0xe9
V  [libjvm.so+0x5d7451]  CompileBroker::invoke_compiler_on_method(CompileTask*)+0xd71
V  [libjvm.so+0x5d7fe8]  CompileBroker::compiler_thread_loop()+0x4b8
V  [libjvm.so+0xe004d0]  JavaThread::thread_main_inner()+0xd0
V  [libjvm.so+0xe03aee]  Thread::call_run()+0xde
V  [libjvm.so+0xc425f1]  thread_native_entry(Thread*)+0xe1
Comments
Debug fails with: # A fatal error has been detected by the Java Runtime Environment: # # Internal Error (/oracle/valhalla2/open/src/hotspot/share/opto/memnode.cpp:3294), pid=992290, tid=992307 # assert(alloc != __null) failed: should have allocation # # JRE version: Java(TM) SE Runtime Environment (18.0) (fastdebug build 18-internal+0-2021-05-07-0658132.tobias...) # Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 18-internal+0-2021-05-07-0658132.tobias..., mixed mode, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64) # Problematic frame: # V [libjvm.so+0x14ebdc4] ClearArrayNode::step_through(Node**, unsigned int, PhaseTransform*)+0x164 Current CompileTask: C2: 173620 33 !b 4 sun.security.ssl.SSLCipher$T13GcmReadCipherGenerator$GcmReadCipher::decrypt (524 bytes) Stack: [0x00007f6f4b6f8000,0x00007f6f4b7f9000], sp=0x00007f6f4b7f41c0, free space=1008k Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) V [libjvm.so+0x14eb9f9] ClearArrayNode::step_through(Node**, unsigned int, PhaseTransform*)+0x169 V [libjvm.so+0x14f3d82] MemNode::find_previous_store(PhaseTransform*)+0x5b2 V [libjvm.so+0x14f8770] StoreNode::Identity(PhaseGVN*)+0x90 V [libjvm.so+0x16d4d82] PhaseIterGVN::transform_old(Node*)+0x2f2 V [libjvm.so+0x16cda4e] PhaseIterGVN::optimize()+0x7e V [libjvm.so+0x13d4680] PhaseMacroExpand::expand_macro_nodes()+0xaf0 V [libjvm.so+0xa72a2c] Compile::Optimize()+0x162c V [libjvm.so+0xa74530] Compile::Compile(ciEnv*, ciMethod*, int, bool, bool, bool, bool, bool, DirectiveSet*)+0x1740 V [libjvm.so+0x873b00] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x6a0 V [libjvm.so+0xa852c9] CompileBroker::invoke_compiler_on_method(CompileTask*)+0xfb9 V [libjvm.so+0xa86038] CompileBroker::compiler_thread_loop()+0x5a8 V [libjvm.so+0x19958c1] JavaThread::thread_main_inner()+0x271 V [libjvm.so+0x199d4c0] Thread::call_run()+0x100 V [libjvm.so+0x163ff94] thread_native_entry(Thread*)+0x104
27-07-2021

This has been introduced long ago by JDK-8189802.
27-07-2021