[jdk21u-dev] RFR: 8315130: java.lang.IllegalAccessError when processing classlist to create CDS archive [v3]

Timofei Pushkin tpushkin at openjdk.org
Fri Sep 5 10:55:28 UTC 2025


> Fixes a error which significantly complicates the use of static CDS in some applications with user-provided class loaders (workarounds require either manually editing the generated CDS classlist which is error-prone, or switching to dynamic CDS which has its own implications, or rewriting the application which is not always possible).
> 
> The conflicts were trivial: a few neighboring methods missing from this version and not directly related to the change.
> 
> The PR depends on #1833 and #1834 though it can be rewritten not to if needed.
> 
> Testing besides the CI (performed on macos/arm64): `runtime/cds`, a minimal reproducer app described in the original bug report.

Timofei Pushkin has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains four additional commits since the last revision:

 - Merge remote-tracking branch 'openjdk-jdk21/master' into appcds-bug-3
 - 8315130: java.lang.IllegalAccessError when processing classlist to create CDS archive
   
   Reviewed-by: iklam, ccheung
 - 8348240: Remove SystemDictionaryShared::lookup_super_for_unregistered_class()
   
   Reviewed-by: ccheung, coleenp
 - 8339460: CDS error when module is located in a directory with space in the name
   
   Reviewed-by: ccheung, iklam

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

Changes:
  - all: https://git.openjdk.org/jdk21u-dev/pull/1835/files
  - new: https://git.openjdk.org/jdk21u-dev/pull/1835/files/281e5a5e..ceab09aa

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk21u-dev&pr=1835&range=02
 - incr: https://webrevs.openjdk.org/?repo=jdk21u-dev&pr=1835&range=01-02

  Stats: 46332 lines in 965 files changed: 27889 ins; 14390 del; 4053 mod
  Patch: https://git.openjdk.org/jdk21u-dev/pull/1835.diff
  Fetch: git fetch https://git.openjdk.org/jdk21u-dev.git pull/1835/head:pull/1835

PR: https://git.openjdk.org/jdk21u-dev/pull/1835


More information about the jdk-updates-dev mailing list