RFR: 8340631: assert(reserved_rgn->contain_region(base_addr, size)) failed: Reserved CDS region should contain this mapping region [v11]
Matias Saavedra Silva
matsaave at openjdk.org
Thu Jan 9 00:27:57 UTC 2025
> What testing with `UseCompressedClassPointers` set to false, this assert is hit due to memory being released twice during the failure path of CDS archive mapping. This patch makes it so the RW and RO regions are only released once at the end in `MetaspaceShared::release_reserved_spaces()`.
>
> This patch hides `unmap_region` as the method should not be called on regions that were reserved. Instead, the region is skipped and we verify that it is indeed in the reserved space. Verified` with tier 1-4 tests.
Matias Saavedra Silva has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 16 additional commits since the last revision:
- Fixed copyright
- Ioi suggestions
- Merge branch 'master' into cds_mapping_8340631
- Replaced memset
- Fixed assert
- Merge branch 'master' into cds_mapping_8340631
- New implementation
- Stefan and Ioi comments
- Corrected edge case
- Removed unneeded assert and caught edge case
- ... and 6 more: https://git.openjdk.org/jdk/compare/9ad0a915...65db5d02
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/22743/files
- new: https://git.openjdk.org/jdk/pull/22743/files/516373b7..65db5d02
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=22743&range=10
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=22743&range=09-10
Stats: 9028 lines in 94 files changed: 50 ins; 8725 del; 253 mod
Patch: https://git.openjdk.org/jdk/pull/22743.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/22743/head:pull/22743
PR: https://git.openjdk.org/jdk/pull/22743
More information about the hotspot-runtime-dev
mailing list