RFR: 8340631: assert(reserved_rgn->contain_region(base_addr, size)) failed: Reserved CDS region should contain this mapping region [v6]

Stefan Karlsson stefank at openjdk.org
Fri Dec 20 13:36:36 UTC 2024


On Thu, 19 Dec 2024 17:27:13 GMT, Matias Saavedra Silva <matsaave at openjdk.org> wrote:

>> 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 incrementally with one additional commit since the last revision:
> 
>   Corrected edge case

I would like to propose that we push the assert into unmap_region so that we don't have to duplicate the logic to decide if we should assert or unmap. Please take a look at this version of the fix and see what you think about it:
https://github.com/openjdk/jdk/compare/master...stefank:jdk:pull/22743

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

PR Comment: https://git.openjdk.org/jdk/pull/22743#issuecomment-2557029841


More information about the hotspot-runtime-dev mailing list