Java:JDK13のバグ

2019年11月15日

以下は、現時点2019/11/11時点のAdoptOpenJDK13、Windows用jdk-13.0.1.9-hotspotのバグである。

※本家のJDKも同じバグのあることを確認した(Windows 64bit)

※Windows7 64bitで確認。

java -version
java version "13.0.1" 2019-10-15
Java(TM) SE Runtime Environment (build 13.0.1+9)
Java HotSpot(TM) 64-Bit Server VM (build 13.0.1+9, mixed mode, sharing)

VM引数を指定するとクラッシュする

java -Dfile.encoding=UTF-8 -jar sample.jar

などとして起動しようとすると、以下のようにVMがクラッシュしてしまう。

特にLog4j2に関する警告が出ているが、これはクラッシュとは無関係と思われる。

WARNING: sun.reflect.Reflection.getCallerClass is not supported. This will impac
t performance.
2019-11-11 10:17:57,296 main ERROR No Log4j 2 configuration file found. Using de
fault configuration (logging only errors to the console), or user programmatical
ly provided configurations. Set system property 'log4j2.debug' to show Log4j 2 i
nternal initialization logging. See https://logging.apache.org/log4j/2.x/manual/
configuration.html for instructions on how to configure Log4j 2
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x000007fee7bef98a, pid=10944,
tid=10420
#
# JRE version: OpenJDK Runtime Environment (13.0.1+9) (build 13.0.1+9)
# Java VM: OpenJDK 64-Bit Server VM (13.0.1+9, mixed mode, sharing, tiered, comp
ressed oops, g1 gc, windows-amd64)
# Problematic frame:
# C  [awt.dll+0x8f98a]
#
# No core dump will be written. Minidumps are not enabled by default on client v
ersions of Windows
#
# An error report file with more information is saved as:
# C:\Users\admin\Desktop\kashima2\hs_err_pid10944.log
#
# If you would like to submit a bug report, please visit:
#   https://github.com/AdoptOpenJDK/openjdk-build/issues
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

アンチエイリアスに関する指定が無視されてしまう

Swingを使用する場合、そのままではフォント表示が汚いので、以下のようなアンチエイリアス指定をするのだが、

     System.setProperty("awt.useSystemAAFontSettings","on");
     System.setProperty("swing.aatext", "true");

上のようにコードで入れようが、VM引数として指定しようが(この場合にはクラッシュしない)、無視されてしまう。