RFR: 8286571: java source launcher from a minimal jdk image containing jdk.compiler fails with --enable-preview option [v2]

Adam Sotona asotona at openjdk.java.net
Tue May 17 13:08:32 UTC 2022


> ### Problem description
> Minimal jdk image created by jlink with the only jdk.compiler module and its dependencies
> fails to run java source launcher correctly (for example when --source N is specified).
> Failing source launcher is the only one expression of internal jdk.compiler malfunction, another example is failure to run javac with --release option.
> 
> ### Root cause
> Module jdk.compiler requires zip filesystem (jdk.zipfs module) to parse ct.sym file and so to provide full functionality.
> However module jdk.zipfs is not included in the minimal JDK image, because module jdk.compiler does not declare it as "requires" in its module info.
> 
> ### Alternative patch
> The problem can be alternatively resolved by complex code checks in jdk.compiler to provide user with valid error message, however that solution would be just a workaround for jdk.compiler dual functionality (with or without presence of jdk.zipfs module).
> 
> ### Proposed fix
> This patch does fixes the problem by explicit declaration of jdk.compiler dependency on jdk.zipfs.
> Plus added specific test case.
> 
> Please review the patch or raise objections against declaration of jdk.compiler dependent on jdk.zipfs.
> 
> Thanks,
> Adam

Adam Sotona has updated the pull request incrementally with one additional commit since the last revision:

  fix of LimitedImage test

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

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/8747/files
  - new: https://git.openjdk.java.net/jdk/pull/8747/files/40884fd8..6bdf4a9a

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=8747&range=01
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=8747&range=00-01

  Stats: 45 lines in 1 file changed: 0 ins; 37 del; 8 mod
  Patch: https://git.openjdk.java.net/jdk/pull/8747.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/8747/head:pull/8747

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


More information about the compiler-dev mailing list