RFR: 8372566: Genshen: crash at ShenandoahScanRemembered::process_clusters after JDK-8371667 [v2]
Thomas Stuefe
stuefe at openjdk.org
Thu Feb 5 07:53:07 UTC 2026
On Tue, 27 Jan 2026 18:01:10 GMT, Xiaolong Peng <xpeng at openjdk.org> wrote:
>> 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.
> > 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 #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.
Hi @pengxiaolong, @kdnilsen,
I opened https://bugs.openjdk.org/browse/JDK-8377214 with my findings and the users' logs. In that bug, it looks like we fall over garbage narrow Klass pointers read from heap during marking. I assigned the bug to @kdnilsen so that it would not get lost.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/28521#issuecomment-3851606510
More information about the shenandoah-dev
mailing list