-
Enhancement
-
Resolution: Fixed
-
P4
-
17, 21
-
b19
-
generic
-
linux
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8308075 | 17.0.9-oracle | Renjith Kannath Pariyangad | P4 | Resolved | Fixed | b01 |
JDK-8307917 | 17.0.8 | Matthias Baesken | P4 | Resolved | Fixed | b03 |
JDK-8308542 | 11.0.21-oracle | Renjith Kannath Pariyangad | P4 | Resolved | Fixed | b01 |
JDK-8311491 | 11.0.21 | Goetz Lindenmaier | P4 | Resolved | Fixed | b01 |
java.lang.InternalError: java.lang.reflect.InvocationTargetException
at java.desktop/sun.font.FontManagerFactory$1.run(FontManagerFactory.java:87)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:318)
at java.desktop/sun.font.FontManagerFactory.getInstance(FontManagerFactory.java:75)
at java.desktop/java.awt.Font.getFont2D(Font.java:526)
at java.desktop/java.awt.Font$FontAccessImpl.getFont2D(Font.java:265)
at java.desktop/sun.font.FontUtilities.getFont2D(FontUtilities.java:148)
at java.desktop/sun.font.GlyphLayout$SDCache.<init>(GlyphLayout.java:254)
at java.desktop/sun.font.GlyphLayout$SDCache.get(GlyphLayout.java:328)
at java.desktop/sun.font.GlyphLayout.layout(GlyphLayout.java:375)
at java.desktop/java.awt.Font.layoutGlyphVector(Font.java:2858)
at FontLayoutStressTest.doLayout(FontLayoutStressTest.java:51)
at FontLayoutStressTest.main(FontLayoutStressTest.java:57)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:127)
at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480)
at java.desktop/sun.font.FontManagerFactory$1.run(FontManagerFactory.java:85)
... 17 more
Caused by: java.lang.NullPointerException: Cannot load from short array because "sun.awt.FontConfiguration.head" is null
at java.desktop/sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1264)
at java.desktop/sun.awt.FontConfiguration.readFontConfigFile(FontConfiguration.java:224)
at java.desktop/sun.awt.FontConfiguration.init(FontConfiguration.java:106)
at java.desktop/sun.awt.X11FontManager.createFontConfiguration(X11FontManager.java:706)
at java.desktop/sun.font.SunFontManager$2.run(SunFontManager.java:358)
at java.desktop/sun.font.SunFontManager$2.run(SunFontManager.java:315)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:318)
at java.desktop/sun.font.SunFontManager.<init>(SunFontManager.java:315)
at java.desktop/sun.awt.FcFontManager.<init>(FcFontManager.java:35)
at java.desktop/sun.awt.X11FontManager.<init>(X11FontManager.java:56)
... 23 more
Seems this was caused because no fonts were installed on the machine.
Probably 'head' in FontConfiguration.getVersion() should be checked for null and a specific exception like "Check your fonts or fonts configuration"
should be throw.
- backported by
-
JDK-8307917 Linux: NullPointerException from FontConfiguration.getVersion in case no fonts are installed
- Resolved
-
JDK-8308075 Linux: NullPointerException from FontConfiguration.getVersion in case no fonts are installed
- Resolved
-
JDK-8308542 Linux: NullPointerException from FontConfiguration.getVersion in case no fonts are installed
- Resolved
-
JDK-8311491 Linux: NullPointerException from FontConfiguration.getVersion in case no fonts are installed
- Resolved
- relates to
-
JDK-8221741 ClassCastException can happen when fontconfig.properties is used
- Resolved
- links to
-
Commit openjdk/jdk11u-dev/6b84480e
-
Commit openjdk/jdk17u-dev/1970b639
-
Commit openjdk/jdk/3c7ab805
-
Review openjdk/jdk11u-dev/2023
-
Review openjdk/jdk17u-dev/1340
-
Review openjdk/jdk/13045