RFR: 8370502: C2: segfault while adding node to IGVN worklist [v5]

Dean Long dlong at openjdk.org
Wed Dec 3 00:07:08 UTC 2025


On Tue, 2 Dec 2025 13:32:22 GMT, Kerem Kat <krk at openjdk.org> wrote:

>> Do not try to replace `fallthrough_memproj` when it is null, fixes crash.
>> 
>> Test case is simplified from the ticket. Verified that the case crashes without the fix.
>
> Kerem Kat has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 10 additional commits since the last revision:
> 
>  - Merge branch 'master' into fix-c2-segfault-unlocknode
>  - address comments
>  - fix rename
>  - rename test file
>  - Merge branch 'master' into fix-c2-segfault-unlocknode
>  - fix test spacing
>  - Update src/hotspot/share/opto/macro.cpp
>    
>    Co-authored-by: Manuel Hässig <manuel at haessig.org>
>  - Update src/hotspot/share/opto/macro.cpp
>    
>    Co-authored-by: Manuel Hässig <manuel at haessig.org>
>  - copyright format fix?
>  - 8370502: C2: segfault while adding node to IGVN worklist

Yes, it would be good to know if expand_lock_node() also needs a null check.  I was assuming the lock and unlock node shapes were basically the same, but now I see that the shapes are different for some reason.  The LockNode gets a FastLockNode edge early, while the UnlockNode creates its FastUnlockNode late.  I failed to get expand_lock_node() to crash with -XX:+StressMacroExpansion but that doesn't mean there isn't the same problem there.

-------------

PR Comment: https://git.openjdk.org/jdk/pull/28432#issuecomment-3604455582


More information about the hotspot-compiler-dev mailing list