On Tue, 25 Jan 2022 01:59:56 GMT, David Holmes <dhol...@openjdk.org> wrote:

> * The jimage code was using the OS code (dlopen/loadlibrary etc) to try and 
> load the zip library when needed.
Yes. The zip library has to be in PATH.
> * The VM, which is always loaded first, always used to load the zip library 
> unconditionally, hence the OS would simply return the JVM's zip handle to the 
> jimage code.
Yes. After the fix, jimage will use the version that JVM is using.
> * When we changed the VM to only load the zip library if needed (not 
> realizing jimage may also need it) then the jimage code would now only 
> succeed if the zip library was in the appropriate lookup paths for the OS.
Yes. When in JVM, zip library was always loaded (before 
https://bugs.openjdk.java.net/browse/JDK-8237750) so jimage in fact get the 
loaded zip handle from JVM. Unless user set PATH(other than jdk(jre)\bin) to 
contain the "zip.dll | libzip.so | libzip.dylib" then jimage will load and use 
that version. After this fix, jimage will use the same version as jvm. 
> * The fix is to change the jimage code so that it asks the JVM for the zip 
> library, as the JVM is always setup correctly to find it.
Yes.

Thanks for taking a detail look.

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

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

Reply via email to