RFR: 8314550: [macosx-aarch64] serviceability/sa/TestJmapCore.java fails with "sun.jvm.hotspot.debugger.UnmappedAddressException: 801000800"

Chris Plummer cjplummer at openjdk.org
Thu Aug 24 23:39:36 UTC 2023


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


More information about the serviceability-dev mailing list