On Tue, 25 Jan 2022 00:20:19 GMT, Yumin Qi <[email protected]> wrote:
> Please review,
> When jlink with --compress=2, zip is used to compress the files while doing
> copy. The user case failed to load zip.dll, since zip.dll is not set in PATH.
> This failure is after we get NULL from GetModuleHandle("zip.dll"), then do
> LoadLibrary("zip.dll") will have same result.
> The fix is calling load_zip_library of ClassLoader first --- if zip library
> already loaded just return the cached handle for following usage, if not,
> load zip library and cached the handle.
>
> Tests: tier1,4,7 in test
> Manually tested user case, and checked output of jimage list <modules> for
> jlinked files using --compress=2.
>
> Thanks
> Yumin
I'm curious, under what circumstances would, before
https://bugs.openjdk.java.net/browse/JDK-8237750, we ever hit the LoadLibrary
in imageDecompressor.cpp? Did this ever work? Was there ever a scenario where
the JVM was not involved and hence the zip.dll was not loaded already?
For me, the code looks good unless I miss a scenario where we don't have the
JVM loaded already at this point.
-------------
Marked as reviewed by stuefe (Reviewer).
PR: https://git.openjdk.java.net/jdk/pull/7206