[lworld] RFR: 8364191: [lworld] Accesses to atomic flat fields prevent scalar replacement [v4]
Quan Anh Mai
qamai at openjdk.org
Mon Oct 20 09:00:08 UTC 2025
On Mon, 20 Oct 2025 08:04:22 GMT, Tobias Hartmann <thartmann at openjdk.org> wrote:
>> Quan Anh Mai has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains eight commits:
>>
>> - Several fixes
>> - fix gc barrier
>> - Merge branch 'lworld' into flatfield
>> - fix merge, assert GC barriers
>> - Merge branch 'lworld' into flatfield
>> - fix release build
>> - small fix StoreFlatNode::size_of
>> - add LoadFlatNode and StoreFlatNode
>
> I did some quick testing and I'm seeing this failure:
>
>
> runtime/valhalla/inlinetypes/verifier/RedefineStrictFieldsTest.java
> -Xcomp -XX:-TieredCompilation
>
> # A fatal error has been detected by the Java Runtime Environment:
> #
> # SIGSEGV (0xb) at pc=0x00007f195cbd8da5, pid=1416875, tid=1416894
> #
> # JRE version: Java(TM) SE Runtime Environment (26.0) (fastdebug build 26-jep401ea2-2025-10-20-0458161.tobias.hartmann.valhalla2)
> # Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 26-jep401ea2-2025-10-20-0458161.tobias.hartmann.valhalla2, compiled mode, sharing, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
> # Problematic frame:
> # V [libjvm.so+0xdcada5] ConnectionGraph::has_ea_local_in_scope(SafePointNode*)+0x115
>
> Current CompileTask:
> C2:7013 1605 b java.lang.VersionProps::parseVersionNumbers (154 bytes)
>
> Stack: [0x00007f1948721000,0x00007f1948821000], sp=0x00007f194881ba70, free space=1002k
> Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
> V [libjvm.so+0xdcada5] ConnectionGraph::has_ea_local_in_scope(SafePointNode*)+0x115 (callnode.hpp:383)
> V [libjvm.so+0xde6e68] ConnectionGraph::compute_escape()+0x2e88 (escape.cpp:469)
> V [libjvm.so+0xde734a] ConnectionGraph::do_analysis(Compile*, PhaseIterGVN*)+0x15a (escape.cpp:120)
> V [libjvm.so+0xbcbe4d] Compile::Optimize()+0x65d (compile.cpp:2942)
> V [libjvm.so+0xbcf86f] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x207f (compile.cpp:878)
> V [libjvm.so+0x9dc0b3] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x483 (c2compiler.cpp:149)
> V [libjvm.so+0xbdee38] CompileBroker::invoke_compiler_on_method(CompileTask*)+0xb48 (compileBroker.cpp:2345)
> V [libjvm.so+0xbdffc0] CompileBroker::compiler_thread_loop()+0x530 (compileBroker.cpp:1989)
> V [libjvm.so+0x11701db] JavaThread::thread_main_inner()+0x13b (javaThread.cpp:776)
> V [libjvm.so+0x1c23c56] Thread::call_run()+0xb6 (thread.cpp:243)
> V [libjvm.so+0x185eb58] thread_native_entry(Thread*)+0x128 (os_linux.cpp:898)
>
>
> The `serviceability/jvmti/valhalla/` tests also fail with the same SIGSEGV when executed with `-Xcomp -XX:-TieredCompilation`.
@TobiHartmann Thanks, the issue seems to be due to `ConnectionGraph::has_ea_local_in_scope` trying to process a dead node, it should be fixed now.
-------------
PR Comment: https://git.openjdk.org/valhalla/pull/1518#issuecomment-3421127560
More information about the valhalla-dev
mailing list