RFR: 8347804: GenShen: Crash with small GCCardSizeInBytes and small Java heap

William Kemper wkemper at openjdk.org
Thu Feb 27 18:27:00 UTC 2025


On Thu, 30 Jan 2025 18:55:53 GMT, Kelvin Nilsen <kdnilsen at openjdk.org> wrote:

> Original implementation was not robust to overriding of CardSizeInBytes, especially to smaller values.  This fixes that issue.

Minor nit.

src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp line 192:

> 190: 
> 191:   if (GCCardSizeInBytes < ShenandoahMinCardSizeInBytes) {
> 192:     char buf[512];

It looks like using `err_msg` here is more idiomatic than `os:snprintf` for errors during initialization.

src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.cpp line 950:

> 948:   ShenandoahHeap* const heap = ShenandoahHeap::heap();
> 949:   assert(heap->is_concurrent_weak_root_in_progress(), "Only during this phase");
> 950:   {

This looks like it came from https://github.com/openjdk/jdk/pull/23604. Did you cherry-pick that into this branch? Not sure why it shows in the diff here.

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

Changes requested by wkemper (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/23373#pullrequestreview-2648607661
PR Review Comment: https://git.openjdk.org/jdk/pull/23373#discussion_r1974075963
PR Review Comment: https://git.openjdk.org/jdk/pull/23373#discussion_r1974082900


More information about the hotspot-gc-dev mailing list