-
Bug
-
Resolution: Fixed
-
P3
-
17, 18
-
b17
-
windows
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8274290 | 17.0.2 | Andy Herrick | P3 | Resolved | Fixed | b01 |
Windows native code in java in several places assumes the runtime bin directory is in the DLL path by loading dll's without full path.
One example of this is zip.dll, src/java.base/share/native/libjimage/imageDecompressor.cpp where LoadLibrary("zip.dll"); is called (no full path to dll used). There are other instances of this.
In jpackage we work around this by calling SetDllDirectory(runtimeBinPath.c_str());
in WinLauncher.cpp, but the runtimeBinPath used is based on the default runtime location, instead of the actual runtime location.
As a result, if runtime is moved, custom splash screen will fail to load.
Also using https connection may result in:
Exception in thread "Reader-BG-1" java.lang.InternalError: platform
encoding not initialized
One example of this is zip.dll, src/java.base/share/native/libjimage/imageDecompressor.cpp where LoadLibrary("zip.dll"); is called (no full path to dll used). There are other instances of this.
In jpackage we work around this by calling SetDllDirectory(runtimeBinPath.c_str());
in WinLauncher.cpp, but the runtimeBinPath used is based on the default runtime location, instead of the actual runtime location.
As a result, if runtime is moved, custom splash screen will fail to load.
Also using https connection may result in:
Exception in thread "Reader-BG-1" java.lang.InternalError: platform
encoding not initialized
- backported by
-
JDK-8274290 Windows DLL path not set correctly.
- Resolved