[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