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.

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

Commit messages:
 - Touch pages that are mapped in from CDS archive if AlwaysPreTouch is enabled.

Changes: https://git.openjdk.org/jdk/pull/15423/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=15423&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8314550
  Stats: 24 lines in 1 file changed: 16 ins; 0 del; 8 mod
  Patch: https://git.openjdk.org/jdk/pull/15423.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/15423/head:pull/15423

PR: https://git.openjdk.org/jdk/pull/15423

Reply via email to