RFR: 8333854: IllegalAccessError with proxies after JDK-8332457

Chen Liang liach at openjdk.org
Mon Jun 10 01:37:43 UTC 2024


Please review this patch that fixes a critical issue that breaks some Proxy usages.

CONSTANT_Class and CONSTANT_MethodType must fail resolution for inaccessible package-private types per JVMS 5.4.3.1 and 5.4.3.5, yet such types can appear in method descriptors in the same class. The proposed way to bypass is to store the MethodType as its descriptor string in the bootstrap method arguments, and use MethodType.fromMethodDescriptorString to restore the arguments, which does not have this restriction and does not eagerly load the parameter classes. This case isn't covered by existing tests, so a new test has been added.

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

Commit messages:
 - Minor cleanup
 - 8333854: IllegalAccessError with proxies after JDK-8332457

Changes: https://git.openjdk.org/jdk/pull/19615/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=19615&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8333854
  Stats: 79 lines in 2 files changed: 70 ins; 2 del; 7 mod
  Patch: https://git.openjdk.org/jdk/pull/19615.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/19615/head:pull/19615

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


More information about the core-libs-dev mailing list