-
Bug
-
Resolution: Fixed
-
P4
-
16
-
b23
-
x86_64
-
windows
-
Not verified
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8283263 | 11.0.16-oracle | Harold Seigel | P4 | Resolved | Fixed | b01 |
JDK-8282051 | 11.0.15 | Goetz Lindenmaier | P4 | Resolved | Fixed | b03 |
JDK-8284205 | openjdk8u342 | Andrew Hughes | P4 | Resolved | Fixed | b01 |
JDK-8284117 | 8u341 | David Buck | P4 | Resolved | Fixed | b02 |
OS: Windows 10 / Windows Server 2019
Java: 8u272, 11.0.8, 16ea
A DESCRIPTION OF THE PROBLEM :
The time and timezone of the crash are written to the hs_err_pid log file.
However, the timezone output is corrupted on the Japanese locale windows.
The hotspot uses strftime api to get the timezone on windows.
In Visual Studio 2010 (Official build for JDK8 FCS), this api correctly printed the timezone for Japanese locales in multibyte characters.
However, in the latest Visual Studio 2017, strftime no longer correctly prints the timezone for Japanese locales.
This looks like a regression from a compiler change.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
1. build UnsafeCrash.java
javac --add-exports=java.base/jdk.internal.misc=ALL-UNNAMED UnsafeCrash.java
2. run UnsafeCrash on ja_JP locale system
java --add-exports=java.base/jdk.internal.misc=ALL-UNNAMED UnsafeCrash
3. confirm the "Time:" line of the hs_err_pid log
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
Time: Fri Oct 16 11:26:20 2020 æÂ񄧪 (æ¨ÂæºÂæÂÂ) elapsed time: 0.457942 seconds (0d 0h 0m 0s)
ACTUAL -
Time: Fri Oct 16 11:26:20 2020 ???? (?W?ÃÂ??) elapsed time: 0.457942 seconds (0d 0h 0m 0s)
---------- BEGIN SOURCE ----------
import jdk.internal.misc.Unsafe;
public class UnsafeCrash {
public static void main(String[] args) throws Throwable {
Unsafe.getUnsafe().putInt(0L, 0);
}
}
---------- END SOURCE ----------
CUSTOMER SUBMITTED WORKAROUND :
Set the TZ environment variable to single byte character. (e.g. set TZ=Asia/Tokyo)
FREQUENCY : always
- backported by
-
JDK-8282051 The timezone of the hs_err_pid log file is corrupted in Japanese locale
- Resolved
-
JDK-8283263 The timezone of the hs_err_pid log file is corrupted in Japanese locale
- Resolved
-
JDK-8284117 The timezone of the hs_err_pid log file is corrupted in Japanese locale
- Resolved
-
JDK-8284205 The timezone of the hs_err_pid log file is corrupted in Japanese locale
- Resolved
- links to
-
Commit openjdk/jdk8u-dev/c5ca29fd
-
Commit openjdk/jdk11u-dev/e2f792c5
-
Commit openjdk/jdk/b46d73be
-
Review openjdk/jdk8u-dev/20
-
Review openjdk/jdk11u-dev/824
-
Review openjdk/jdk/1023