RFR: 8252919: JDK built with --enable-cds=no fails with NoClassDefFoundError

Mandy Chung mchung at openjdk.java.net
Wed Sep 9 19:43:59 UTC 2020


`jlink --generate-jli-classes` plugin should retain the original holder classes if the default_jli_trace.txt
file does not exist.

Before JDK-8252725, `JavaLangInvokeAccess::generateXXXHolderClassesBytes` methods are invoked
unconditionally and therefore the holder classes are "regenerated" when default_jli_trace.txt
does not exist.  JDK-8252725 does not handle this case properly and results in an image missing
the holder classes when the specified trace file does not exist.

The fix is very simple.  Retains the original holder classes when the file does not exist.

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

Commit messages:
 - 8252919: JDK built with --enable-cds=no fails with NoClassDefFoundError: DirectMethodHandle

Changes: https://git.openjdk.java.net/jdk/pull/96/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=96&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8252919
  Stats: 47 lines in 2 files changed: 36 ins; 4 del; 7 mod
  Patch: https://git.openjdk.java.net/jdk/pull/96.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/96/head:pull/96

PR: https://git.openjdk.java.net/jdk/pull/96


More information about the core-libs-dev mailing list