RFR: 8360288: Shenandoah crash at size_given_klass in op_degenerated
Aleksey Shipilev
shade at openjdk.org
Fri Jul 11 09:08:40 UTC 2025
On Thu, 10 Jul 2025 22:20:00 GMT, William Kemper <wkemper at openjdk.org> wrote:
> Both degenerated and full GCs unload classes before reclaiming unmarked humongous objects. This may result in a null klass pointer dereference when asking humongous objects for their size.
Yeah, this evidently does not work, see test failures.
Architecturally, the heuristics should be looking only at region data, without looking at objects. I see we often end up calling `ShenandoahHeapRegion::required_regions(obj->size(), ...)` just to figure out how many HC regions are there in the chain. But we might as well scan regions from the given HS region, until we run out of HC regions.
-------------
Changes requested by shade (Reviewer).
PR Review: https://git.openjdk.org/jdk/pull/26256#pullrequestreview-3009352549
More information about the shenandoah-dev
mailing list