рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдо рдФрд░:рд╡рд╛рд╕реНрддреБрдХрд▓рд╛:
рд╡рд┐рдВрдбреЛрдЬ10.0.18362
OpenJDK11U-jre_x64_windows_hotspot_11.0.6_10.zip
OpenJDK11U-jre_x86-32_windows_hotspot_11.0.6_10.zip
рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрджрдо:
$ jdkц╝вхнЧхРлуВА\bin\java -version
Error occurred during initialization of VM
Unable to load native library:
$ ren jdkц╝вхнЧхРлуВА jdk
$ jdk\bin\java -version
openjdk version "11.0.6" 2020-01-14
OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.6+10)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.6+10, mixed mode)
jdk-11.0.5+10-jre рддреНрд░реБрдЯрд┐ рдХрд╛ рдХрд╛рд░рдг рдирд╣реАрдВ рдмрдирд╛ред
рдЖрдкрдХреЗ рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреЛрд░рд┐рдпрд╛рдИ рд╡рд░реНрдгреЛрдВ рдХреЗ рд╕рд╛рде рднреА рдРрд╕рд╛ рд╣реА рд╣реИ
рдореЗрд░реЗ рдРрдк рдкрд░ рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рд░рд┐рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛, jdk-11.0.6+10 . рдХреЗ рд╕рд╛рде jlink рдмрд┐рд▓реНрдб
рдЪрд┐рддреНрд░ рдореЗрдВ рд▓реЙрдиреНрдЪ рд╕реНрдХреНрд░рд┐рдкреНрдЯ
<strong i="10">@echo</strong> off
set DIR="%~dp0"
set JAVA_EXEC="%DIR:"=%\java"
%JAVA_EXEC% -p "%~dp0/../app" -m com.pmm.ParadoxosGameModManager/com.pmm.ParadoxosGameModManager.ModManager %*
рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: 11.0.5 рдХреЗ рд╕рд╛рде рднреА рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛, рдкреБрд╖реНрдЯрд┐ рдХрд░реЗрдВ рдХрд┐ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
@ рд╣рд┐рдорд╛рд╡рд╛рд░реА-рд╕рд╛рди рдХреНрдпрд╛ рдЖрдк 11.0.6 рдХреЛ рдЕрдкрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
@karianna рдореБрдЭреЗ рд╡рд╣реА рддреНрд░реБрдЯрд┐ рдорд┐рд▓реАред
рдЖрдкрдХреЗ рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрдкрд╕реНрдЯреНрд░реАрдо рдореЗрдВ рдПрдХ рдмрдЧ рд╣реИред рдореИрдВрдиреЗ рд╡рд░реНрддрдорд╛рди рдЬреЗрдбреАрдХреЗ/рдЬреЗрдбреАрдХреЗ рд╕реНрд░реЛрдд рдкрд░ рдЗрд╕ рдореБрджреНрджреЗ рдХреА рдкреБрд╖реНрдЯрд┐ рдХреА рд╣реИред рдпрд╣ рдХрд┐рд╕реА рднреА рдкрде рдкрд░ рдШрдЯрд┐рдд рд╣реЛрдЧрд╛ рдЬрд┐рд╕рдореЗрдВ CJK рд╡рд░реНрдг рд╣реЛрдВред
рдореИрдВ рдЗрд╕реЗ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдкреИрдЪ рдХреЗ рд╕рд╛рде рдареАрдХ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВ OpenJDK рдореЗрдВ рд╣реЙрдЯрд╕реНрдкреЙрдЯ-рд░рдирдЯрд╛рдЗрдо-рджреЗрд╡ рдХреЗ рд▓рд┐рдП рд╕рдореАрдХреНрд╖рд╛ рдЕрдиреБрд░реЛрдз рднреЗрдЬрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдХреНрдпрд╛ рдЖрдкрдиреЗ рдХрднреА рдЗрд╕рдХреЗ рд▓рд┐рдП OpenJDK рд╕рдореБрджрд╛рдп рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ? рдЕрдЧрд░ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рддреЛ рдореИрдВ рдЗрд╕реЗ рдЬреЗрдмреАрдПрд╕ рдореЗрдВ рдлрд╛рдЗрд▓ рдХрд░ рджреВрдВрдЧрд╛ред
diff --git a/src/hotspot/os/windows/os_windows.cpp b/src/hotspot/os/windows/os_windows.cpp
--- a/src/hotspot/os/windows/os_windows.cpp
+++ b/src/hotspot/os/windows/os_windows.cpp
@@ -4207,14 +4207,16 @@
size_t prefix_len = wcslen(prefix);
size_t full_path_size = is_abs ? 1 + buf_len : JVM_MAXPATHLEN;
size_t result_size = prefix_len + full_path_size - prefix_off;
- result = (wchar_t*) os::malloc(sizeof(wchar_t) * (additional_space + result_size), mtInternal);
+ size_t result_buffer_size = sizeof(wchar_t) * (additional_space + result_size);
+ result = (wchar_t*) os::malloc(result_buffer_size, mtInternal);
if (result == NULL) {
err = ENOMEM;
} else {
- size_t converted_chars;
+ ZeroMemory(result, result_buffer_size);
wchar_t* path_start = result + prefix_len - prefix_off;
- err = ::mbstowcs_s(&converted_chars, path_start, buf_len + 1, buf, buf_len);
+ int win32_ret = MultiByteToWideChar(CP_THREAD_ACP, MB_ERR_INVALID_CHARS, buf, (int)buf_len, path_start, (int)(buf_len + 1));
+ err = (win32_ret == 0) ? EINVAL : ERROR_SUCCESS;
if ((err == ERROR_SUCCESS) && needs_fullpath) {
wchar_t* tmp = (wchar_t*) os::malloc(sizeof(wchar_t) * full_path_size, mtInternal);
@YaSuenag рдирд╣реАрдВ, рдореИрдВрдиреЗ рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдореИрдВрдиреЗ рдЖрдкрдХреА рдорджрдж рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХреАред
рдореИрдВрдиреЗ рдЬреЗрдмреАрдПрд╕ рдХреЛ рдЗрд╕ рдореБрджреНрджреЗ рдХреА рд╕реВрдЪрдирд╛ рджреА, рдФрд░ рд╣реЙрдЯрд╕реНрдкреЙрдЯ-рд░рдирдЯрд╛рдЗрдо-рджреЗрд╡ рдХреЛ рд╕рдореАрдХреНрд╖рд╛ рдЕрдиреБрд░реЛрдз рднреЗрдЬрд╛ред
https://bugs.openjdk.java.net/browse/JDK-реореирекрежрезрепрен
https://mail.openjdk.java.net/pipermail/hotspot-runtime-dev/2020-February/038330.html
@YaSuenag рдЖрдкрдХреЗ рдпреЛрдЧрджрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!
http://mail.openjdk.java.net/pipermail/hotspot-runtime-dev/2020-March/038397.html
рдореИрдВрдиреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ jdk/jdk рдореЗрдВ рдареАрдХ рдХрд┐рдпрд╛ , рдФрд░ jdk/jdk11u-dev рдкрд░ рднреА рдмреИрдХрдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ред рдЗрд╕реЗ 11.0.8 рдореЗрдВ рднреЗрдЬ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк 11.0.8 рд╕реЗ рд╕реАрдЬреЗрдХреЗ рдкрде рдкрд░ рдПрдбреЙрдкреНрдЯрдУрдкреЗрдирдЬреЗрдбреАрдХреЗ 11 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдореИрдВрдиреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ jdk/jdk рдореЗрдВ рдареАрдХ рдХрд┐рдпрд╛ , рдФрд░ jdk/jdk11u-dev рдкрд░ рднреА рдмреИрдХрдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ред рдЗрд╕реЗ 11.0.8 рдореЗрдВ рднреЗрдЬ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк 11.0.8 рд╕реЗ рд╕реАрдЬреЗрдХреЗ рдкрде рдкрд░ рдПрдбреЙрдкреНрдЯрдУрдкреЗрдирдЬреЗрдбреАрдХреЗ 11 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред