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

Xiaolong Peng xpeng at openjdk.org
Mon Dec 1 16:59:16 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

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()

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/28521/files
  - new: https://git.openjdk.org/jdk/pull/28521/files/24dae41f..ad82a691

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=28521&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=28521&range=00-01

  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