On Thu, 24 Aug 2023 23:31:56 GMT, Chris Plummer <cjplum...@openjdk.org> wrote:
> On some macosx-aarch64 systems, not all mapped pages are dumped to the core > file. This first turned up with > [JDK-8293563](https://bugs.openjdk.org/browse/JDK-8293563) where large parts > of the ZGC heap would not be in the core file, leading to various SA address > errors. For JDK-8293563 the issue was addressed by having the core file test > always use `-XX:+AlwaysPreTouch` on macosx-aarch64. This seemed to force the > ZGC pages to always end up in the core file. > > A similar issue has been noticed with mapped in pages of the CDS archive. We > are seeing cases where SA references to addresses that are clearly in the CDS > archive (based on info in the hs_err file) are failing to be read from the > core file by SA. This problem has turned up a number of times during CI > testing, but I have yet to be able to reproduce it myself. This PR is an > attempt to address this testing issue by having the CDS archive also pretouch > all mapped in pages when `-XX:+AlwaysPreTouch` is used. > > Tested with tier1 and tier3 and also ran the test about 5,000 times with and > without the fix. It never reproduced for either. Hopefully the problem is > gone with this fix, but it may take a few months of CI testing before we can > be confident it is fixed. LGTM src/hotspot/share/cds/filemap.cpp line 1698: > 1696: read_only, allow_exec, flags); > 1697: if (mem != nullptr && AlwaysPreTouch) { > 1698: os::pretouch_memory(mem, mem + bytes, os::vm_page_size()); Nit: you can omit the page size since it defaults to os::vm_page_size. ------------- Marked as reviewed by stuefe (Reviewer). PR Review: https://git.openjdk.org/jdk/pull/15423#pullrequestreview-1594878724 PR Review Comment: https://git.openjdk.org/jdk/pull/15423#discussion_r1305153878