RFR: 8372566: Genshen: crash at ShenandoahScanRemembered::process_clusters after JDK-8371667 [v2]

Xiaolong Peng xpeng at openjdk.org
Tue Jan 27 18:04:28 UTC 2026


On Mon, 1 Dec 2025 18:28:34 GMT, Xiaolong Peng <xpeng at openjdk.org> wrote:

>> Xiaolong Peng has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Use member function is_lab_alloc() instead of test the value of type()
>
> Thanks all for the reviews!

> Hi, @pengxiaolong ,
> 
> I have user error reports for JDK 25. Cannot reproduce them myself, but they have in common
> 
> * Lilliput + GenShen
> * SIGSEGV during marking phase
> * disassembly seems to indicate we crash when trying in Klass::is_array_klass(). Crash address always in the narrow Klass decoding range. Most likely cause is reading a garbage markword from the heap, extracting a garbage narrow Klass pointer, then decoding it.
> 
> The second hs-err file in your JBS issue (the one with the segfault) looks similar, at least for the latter point. Even though the crash was in a different GC phase.
> 
> So, question: could this error happen in JDK 25? If yes, should the fix be downported?

Hi @tstuefe,

I believe it is a different bug in JDK25, this PR fix the bug caused by https://github.com/openjdk/jdk/pull/28247, which has not been backported to JDK25 yet. 
Could you share more details of the crash? the hs-err file would be great, I can try to run the test and reproduce it.

Thanks.

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

PR Comment: https://git.openjdk.org/jdk/pull/28521#issuecomment-3806666014


More information about the hotspot-gc-dev mailing list