-
Bug
-
Resolution: Unresolved
-
P3
-
24, 25
Matthias Ernst reports a crash with this reproducer on JDK 25 EA builds. The reproducer runs with --add-opens=java.base/jdk.internal.vm=ALL-UNNAMED .
https://raw.githubusercontent.com/mernst-github/repro/refs/heads/main/escape-analysis/Repro.java
The crash does not reproduce when running with -XX:DisableIntrinsic=_Continuation_pin to disable the intrinsic added in JDK 24 viaJDK-8338745.
################# Expect allocations #################
################# Expect silence(release) or crash(fastdebug) #################
298 Phi === 297 286 253 [[ 415 409 404 397 390 ]] #memory Memory: @BotPTR *+bot, idx=Bot; !jvms: 0x000073727d2c60d0::invokeStatic @ bci:13 0x000073727d2c5880::invokeExact_MT @ bci:18 Repro$Crashes::<init> @ bci:7 (line 34) Repro::main @ bci:51 (line 48)
409 CallStaticJava === 493 112 298 8 9 (291 1 26 83 118 118 1 1 1 1 386 ) [[ 410 ]] # Static uncommon_trap(reason='intrinsic_or_type_checked_inlining' action='none' debug_id='0') void ( int ) C=0.000100 0x000073727d2c6cc8::invokeStatic @ bci:13 0x000073727d2c5880::invokeExact_MT @ bci:18 Repro$Crashes::<init> @ bci:13 (line 35) Repro::main @ bci:51 (line 48) !jvms: 0x000073727d2c6cc8::invokeStatic @ bci:13 0x000073727d2c5880::invokeExact_MT @ bci:18 Repro$Crashes::<init> @ bci:13 (line 35) Repro::main @ bci:51 (line 48)
# Internal Error (/Users/albatem/ws/jdk/open/src/hotspot/share/opto/escape.cpp:4767), pid=90815, tid=26883
# assert(false) failed: EA: missing memory path
Stack: [0x000000016f010000,0x000000016f213000], sp=0x000000016f20eb50, free space=2042k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.dylib+0x115fbe8] VMError::report(outputStream*, bool)+0x19e0 (escape.cpp:4767)
V [libjvm.dylib+0x1163214] VMError::report_and_die(int, char const*, char const*, char*, Thread*, unsigned char*, void const*, void const*, char const*, int, unsigned long)+0x548
V [libjvm.dylib+0x575a4c] print_error_for_unit_test(char const*, char const*, char*)+0x0
V [libjvm.dylib+0x636000] ConnectionGraph::split_unique_types(GrowableArray<Node*>&, GrowableArray<ArrayCopyNode*>&, GrowableArray<MergeMemNode*>&, Unique_Node_List&)+0x3844
V [libjvm.dylib+0x62e584] ConnectionGraph::compute_escape()+0x164c
V [libjvm.dylib+0x62cdfc] ConnectionGraph::do_analysis(Compile*, PhaseIterGVN*)+0xc8
V [libjvm.dylib+0x4cf2e8] Compile::Optimize()+0x6e8
V [libjvm.dylib+0x4cd7f4] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x13c0
V [libjvm.dylib+0x395a0c] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x1e0
V [libjvm.dylib+0x4ecca4] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x868
V [libjvm.dylib+0x4ec0d4] CompileBroker::compiler_thread_loop()+0x348
V [libjvm.dylib+0x8c0c8c] JavaThread::thread_main_inner()+0x1a8
V [libjvm.dylib+0x10a8958] Thread::call_run()+0xf4
V [libjvm.dylib+0xe43110] thread_native_entry(Thread*)+0x138
C [libsystem_pthread.dylib+0x6f94] _pthread_start+0x88
Lock stack of current Java thread (top to bottom):
https://raw.githubusercontent.com/mernst-github/repro/refs/heads/main/escape-analysis/Repro.java
The crash does not reproduce when running with -XX:DisableIntrinsic=_Continuation_pin to disable the intrinsic added in JDK 24 via
################# Expect allocations #################
################# Expect silence(release) or crash(fastdebug) #################
298 Phi === 297 286 253 [[ 415 409 404 397 390 ]] #memory Memory: @BotPTR *+bot, idx=Bot; !jvms: 0x000073727d2c60d0::invokeStatic @ bci:13 0x000073727d2c5880::invokeExact_MT @ bci:18 Repro$Crashes::<init> @ bci:7 (line 34) Repro::main @ bci:51 (line 48)
409 CallStaticJava === 493 112 298 8 9 (291 1 26 83 118 118 1 1 1 1 386 ) [[ 410 ]] # Static uncommon_trap(reason='intrinsic_or_type_checked_inlining' action='none' debug_id='0') void ( int ) C=0.000100 0x000073727d2c6cc8::invokeStatic @ bci:13 0x000073727d2c5880::invokeExact_MT @ bci:18 Repro$Crashes::<init> @ bci:13 (line 35) Repro::main @ bci:51 (line 48) !jvms: 0x000073727d2c6cc8::invokeStatic @ bci:13 0x000073727d2c5880::invokeExact_MT @ bci:18 Repro$Crashes::<init> @ bci:13 (line 35) Repro::main @ bci:51 (line 48)
# Internal Error (/Users/albatem/ws/jdk/open/src/hotspot/share/opto/escape.cpp:4767), pid=90815, tid=26883
# assert(false) failed: EA: missing memory path
Stack: [0x000000016f010000,0x000000016f213000], sp=0x000000016f20eb50, free space=2042k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.dylib+0x115fbe8] VMError::report(outputStream*, bool)+0x19e0 (escape.cpp:4767)
V [libjvm.dylib+0x1163214] VMError::report_and_die(int, char const*, char const*, char*, Thread*, unsigned char*, void const*, void const*, char const*, int, unsigned long)+0x548
V [libjvm.dylib+0x575a4c] print_error_for_unit_test(char const*, char const*, char*)+0x0
V [libjvm.dylib+0x636000] ConnectionGraph::split_unique_types(GrowableArray<Node*>&, GrowableArray<ArrayCopyNode*>&, GrowableArray<MergeMemNode*>&, Unique_Node_List&)+0x3844
V [libjvm.dylib+0x62e584] ConnectionGraph::compute_escape()+0x164c
V [libjvm.dylib+0x62cdfc] ConnectionGraph::do_analysis(Compile*, PhaseIterGVN*)+0xc8
V [libjvm.dylib+0x4cf2e8] Compile::Optimize()+0x6e8
V [libjvm.dylib+0x4cd7f4] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x13c0
V [libjvm.dylib+0x395a0c] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x1e0
V [libjvm.dylib+0x4ecca4] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x868
V [libjvm.dylib+0x4ec0d4] CompileBroker::compiler_thread_loop()+0x348
V [libjvm.dylib+0x8c0c8c] JavaThread::thread_main_inner()+0x1a8
V [libjvm.dylib+0x10a8958] Thread::call_run()+0xf4
V [libjvm.dylib+0xe43110] thread_native_entry(Thread*)+0x138
C [libsystem_pthread.dylib+0x6f94] _pthread_start+0x88
Lock stack of current Java thread (top to bottom):
- relates to
-
JDK-8338745 Intrinsify Continuation.pin() and Continuation.unpin()
- Resolved