Temurin-build: java.exe ๊ฒฝ๋กœ์˜ ์ค‘๊ตญ์–ด ๋ฌธ์ž๋กœ ์ธํ•ด "๊ธฐ๋ณธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ๋กœ๋“œ ํ•  ์ˆ˜ ์—†์Œ"์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2020๋…„ 01์›” 27์ผ  ยท  8์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: adoptium/temurin-build

ํ”Œ๋žซํผ & : ์•„ํ‚คํ…์ฒ˜ :
Windows10.0.18362
OpenJDK11U-jre_x64_windows_hotspot_11.0.6_10.zip
OpenJDK11U-jre_x86-32_windows_hotspot_11.0.6_10.zip

๋ฌธ์ œ ์žฌํ˜„ ๋‹จ๊ณ„ :

  1. https://adoptopenjdk.net/releases.html ์—์„œ ์œ„์— ์„ค๋ช… ๋œ JRE๋ฅผ ๋‹ค์šด๋กœ๋“œ
  2. ์••์ถ•์„ ํ’‰๋‹ˆ ๋‹ค.
  3. "jdk-11.0.6 + 10-jre"์˜ ์ด๋ฆ„์„ "jdk ๆผขๅญ— ๅซ ใ‚€"๋กœ ๋ณ€๊ฒฝ ( "ๆผขๅญ— ๅซ ใ‚€"๋Š” ํ•œ์ž 4 ์ž)
  4. ๋‹ค์Œ๊ณผ ๊ฐ™์ด java.exe๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
$ 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๋กœ ์ธํ•ด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.
๋ฐ”์ด๋„ˆ๋ฆฌ์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

jdkissue2

Reported to OpenJDK / JBS bug

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์ด ๋ฌธ์ œ๋ฅผ jdk / jdk ์—์„œ ์ˆ˜์ •ํ•˜๊ณ  jdk / jdk11u-dev๋กœ ๋ฐฑ ํฌํŠธํ–ˆ์Šต๋‹ˆ๋‹ค. 11.0.8์—์„œ ๋ฐฐ์†ก๋ฉ๋‹ˆ๋‹ค. 11.0.8 ์ดํ›„ CJK ๊ฒฝ๋กœ์—์„œ AdoptOpenJDK 11์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋“  8 ๋Œ“๊ธ€

ํ•œ๊ธ€๋„ ๋˜‘๊ฐ™์„ ๊ฒƒ ๊ฐ™์•„์š”

๋‚ด ์•ฑ์—์„œ ์‚ฌ์šฉ์ž๊ฐ€๋ณด๊ณ ํ–ˆ์Šต๋‹ˆ๋‹ค. jlink๋Š” jdk-11.0.6 + 10์œผ๋กœ ๋นŒ๋“œํ•ฉ๋‹ˆ๋‹ค.
image

๊ทธ๋ฆผ์˜ ์‹œ์ž‘ ์Šคํฌ๋ฆฝํŠธ

<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๋กœ ํ…Œ์ŠคํŠธํ•˜์—ฌ ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.

@ himawari-san adaptopenjdk.net/upstream.html์—์„œ 11.0.6์„ ์‚ฌ์šฉํ•ด ์ฃผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

@karianna ๊ฐ™์€ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.
๊ท€ํ•˜์˜ ์ง€์›์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

openjdk_ss

๋‚˜๋Š” ๊ทธ๊ฒƒ์ด ์—…์ŠคํŠธ๋ฆผ์˜ ๋ฒ„๊ทธ๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ jdk / jdk ์†Œ์Šค์—์„œ์ด ๋ฌธ์ œ๋ฅผ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค. CJK ๋ฌธ์ž๋ฅผ ํฌํ•จํ•˜๋Š” ๋ชจ๋“  ๊ฒฝ๋กœ์—์„œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

์•„๋ž˜์™€ ๊ฐ™์ด ํŒจ์น˜๋กœ ๊ณ ์น  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ OpenJDK์—์„œ hotspot-runtime-dev์— ๋Œ€ํ•œ ๊ฒ€ํ†  ์š”์ฒญ์„ ๋ณด๋‚ด๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. OpenJDK ์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ ์ผํ•œ ์ ์ด ์žˆ์Šต๋‹ˆ๊นŒ? ๊ทธ๋ ‡์ง€ ์•Š๋‹ค๋ฉด JBS์— ์ œ์ถœํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

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 ์•„๋‹ˆ, ์•ˆ ํ–ˆ์–ด์š”. ๋„์™€ ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๋ฅผ JBS์—๋ณด๊ณ ํ•˜๊ณ  hotspot-runtime-dev์— ๊ฒ€ํ†  ์š”์ฒญ์„ ๋ณด๋ƒˆ์Šต๋‹ˆ๋‹ค.

https://bugs.openjdk.java.net/browse/JDK-8240197
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 ์ดํ›„ CJK ๊ฒฝ๋กœ์—์„œ AdoptOpenJDK 11์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰