[jdk17] RFR: 8268470: CDS dynamic dump asserts with JFR RecordingStream

Calvin Cheung ccheung at openjdk.java.net
Thu Jun 10 19:02:02 UTC 2021


During JFR startup, it redefines some of the builtin classes like `java/lang/Throwable`. Later, when a subclass of Throwable is loaded, it will inherit the redefined version of Throwable which will not be inside the buffer space or mapped static archive.

To fix this bug, in `SystemDictionaryShared::check_for_exclusion_impl()`, instead of only checking if the class has been redefined, it also checks if any of its super types has been redefined. If so, exclude the class from the archive.

- [x] mach5 tier1, tier2 (including the new test) (in progress)

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

Commit messages:
 - 8268470: CDS dynamic dump asserts with JFR RecordingStream

Changes: https://git.openjdk.java.net/jdk17/pull/9/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk17&pr=9&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8268470
  Stats: 170 lines in 4 files changed: 169 ins; 0 del; 1 mod
  Patch: https://git.openjdk.java.net/jdk17/pull/9.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk17 pull/9/head:pull/9

PR: https://git.openjdk.java.net/jdk17/pull/9


More information about the hotspot-runtime-dev mailing list