RFR: 8343427: Class file load hook crashes on archived classes from multi-release JARs

Calvin Cheung ccheung at openjdk.org
Wed Nov 20 00:42:57 UTC 2024


Currently, when retrieving a ClassFileStream during runtime, we call into the zip library to retrieve the stream based only on a class name. This doesn't work well if the class is in a multi-release jar under a versioned directory such as `META-INF/versions/9/Foo.class`. To address this issue, this change calls the java api `ClassLoader.getResourceAsStream()` to retrieve the stream.

Passed tiers 1 - 4 testing.

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

Commit messages:
 - 8343427: Class file load hook crashes on archived classes from multi-release JARs

Changes: https://git.openjdk.org/jdk/pull/22262/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=22262&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8343427
  Stats: 239 lines in 7 files changed: 238 ins; 0 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/22262.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/22262/head:pull/22262

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


More information about the hotspot-dev mailing list