RFR: 8372566: Genshen: crash at ShenandoahScanRemembered::process_clusters after JDK-8371667
Xiaolong Peng
xpeng at openjdk.org
Thu Nov 27 06:08:14 UTC 2025
For non-plab allocs in old gen, the objects need to be registered in card table, which was missed in the [PR](https://git.openjdk.org/jdk/pull/28247) for JDK-8371667. The bug didn't cause jtreg test failures in GHA and my local test, but when I ran specjbb benchmarks, it did cause crash at ShenandoahScanRemembered::process_clusters when GC scans remembered set.
The bug may cause other issue since the object in old gen is not properly registered, e.g. marking phase have wrong result.
Tests:
- [x] specjbb, no crash
- [x] hotspot_gc_shenandoah
-------------
Commit messages:
- Revert changes not related to the fix of the crash
- 8372566: Genshen: crash at ShenandoahScanRemembered::process_clusters after JDK-8371667
Changes: https://git.openjdk.org/jdk/pull/28521/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=28521&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8372566
Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod
Patch: https://git.openjdk.org/jdk/pull/28521.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/28521/head:pull/28521
PR: https://git.openjdk.org/jdk/pull/28521
More information about the shenandoah-dev
mailing list