RFR: 8278753: Runtime crashes with access violation during JNI_CreateJavaVM call
Thomas Stuefe
stuefe at openjdk.java.net
Tue Jan 25 10:32:37 UTC 2022
On Tue, 25 Jan 2022 00:20:19 GMT, Yumin Qi <minqi at openjdk.org> 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
More information about the build-dev
mailing list