FULL PRODUCT VERSION :
1.8.0_60 sparc
ADDITIONAL OS VERSION INFORMATION :
Oracle Solaris 11.1 SPARC
Copyright (c) 1983, 2012, Oracle and/or its affiliates. All rights reserved.
Assembled 19 September 2012
A DESCRIPTION OF THE PROBLEM :
Graphics2D getFontMetrics() is not working.
Graphics2D metricsProvider = (Graphics2D) new BufferedImage(1,1,1).getGraphics();
System.out.println("metricsProvider.getFontMetrics():-> ");
System.out.println(metricsProvider.getFontMetrics());
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Run the following code on Solaris 11
Graphics2D getFontMetrics() is not working.
Graphics2D metricsProvider = (Graphics2D) new BufferedImage(1,1,1).getGraphics();
System.out.println("metricsProvider.getFontMetrics():-> ");
System.out.println(metricsProvider.getFontMetrics());
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
getFontMetrics() should work.
ACTUAL -
Exception in thread "main" java.lang.UnsatisfiedLinkError: /opt/coldfusionraijin/jre1.8.0_60/lib/sparcv9/libt2k.so: ld.so.1: java: fatal: libXext.so.0: open failed: No such file or directory
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1938)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1842)
at java.lang.Runtime.loadLibrary0(Runtime.java:870)
at java.lang.System.loadLibrary(System.java:1122)
at sun.font.T2KFontScaler$1.run(T2KFontScaler.java:50)
at java.security.AccessController.doPrivileged(Native Method)
at sun.font.T2KFontScaler.<clinit>(T2KFontScaler.java:41)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at sun.font.FontScaler.<clinit>(FontScaler.java:100)
at sun.font.TrueTypeFont.getScaler(TrueTypeFont.java:1281)
at sun.font.FileFontStrike.<init>(FileFontStrike.java:179)
at sun.font.FileFont.createStrike(FileFont.java:95)
at sun.font.Font2D.getStrike(Font2D.java:359)
at sun.font.Font2D.getStrike(Font2D.java:308)
at sun.font.CompositeStrike.getStrikeForSlot(CompositeStrike.java:78)
at sun.font.CompositeStrike.getFontMetrics(CompositeStrike.java:93)
at sun.font.FontDesignMetrics.initMatrixAndMetrics(FontDesignMetrics.java:359)
at sun.font.FontDesignMetrics.<init>(FontDesignMetrics.java:350)
at sun.font.FontDesignMetrics.getMetrics(FontDesignMetrics.java:302)
at sun.java2d.SunGraphics2D.getFontMetrics(SunGraphics2D.java:855)
at FontTest.main(FontTest.java:12)
root@see-sv-a007:~# /opt/coldfusionraijin/jre1.8.0_60/bin/java -jar /opt/coldfusionraijin//FontTest1.jar
Java HotSpot(TM) 64-Bit Server VM warning: PICL (libpicl.so.1) is missing. Performance will not be optimal.
Exception in thread "main" java.lang.UnsatisfiedLinkError: /opt/coldfusionraijin/jre1.8.0_60/lib/sparcv9/libt2k.so: ld.so.1: java: fatal: libXext.so.0: open failed: No such file or directory
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1938)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1842)
at java.lang.Runtime.loadLibrary0(Runtime.java:870)
at java.lang.System.loadLibrary(System.java:1122)
at sun.font.T2KFontScaler$1.run(T2KFontScaler.java:50)
at java.security.AccessController.doPrivileged(Native Method)
at sun.font.T2KFontScaler.<clinit>(T2KFontScaler.java:41)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at sun.font.FontScaler.<clinit>(FontScaler.java:100)
at sun.font.TrueTypeFont.getScaler(TrueTypeFont.java:1281)
at sun.font.FileFontStrike.<init>(FileFontStrike.java:179)
at sun.font.FileFont.createStrike(FileFont.java:95)
at sun.font.Font2D.getStrike(Font2D.java:359)
at sun.font.Font2D.getStrike(Font2D.java:308)
at sun.font.CompositeStrike.getStrikeForSlot(CompositeStrike.java:78)
at sun.font.CompositeStrike.getFontMetrics(CompositeStrike.java:93)
at sun.font.FontDesignMetrics.initMatrixAndMetrics(FontDesignMetrics.java:359)
at sun.font.FontDesignMetrics.<init>(FontDesignMetrics.java:350)
at sun.font.FontDesignMetrics.getMetrics(FontDesignMetrics.java:302)
at sun.java2d.SunGraphics2D.getFontMetrics(SunGraphics2D.java:855)
at FontTest.main(FontTest.java:12)
ERROR MESSAGES/STACK TRACES THAT OCCUR :
Exception in thread "main" java.lang.UnsatisfiedLinkError: /opt/coldfusionraijin/jre1.8.0_60/lib/sparcv9/libt2k.so: ld.so.1: java: fatal: libXext.so.0: open failed: No such file or directory
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1938)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1842)
at java.lang.Runtime.loadLibrary0(Runtime.java:870)
at java.lang.System.loadLibrary(System.java:1122)
at sun.font.T2KFontScaler$1.run(T2KFontScaler.java:50)
at java.security.AccessController.doPrivileged(Native Method)
at sun.font.T2KFontScaler.<clinit>(T2KFontScaler.java:41)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at sun.font.FontScaler.<clinit>(FontScaler.java:100)
at sun.font.TrueTypeFont.getScaler(TrueTypeFont.java:1281)
at sun.font.FileFontStrike.<init>(FileFontStrike.java:179)
at sun.font.FileFont.createStrike(FileFont.java:95)
at sun.font.Font2D.getStrike(Font2D.java:359)
at sun.font.Font2D.getStrike(Font2D.java:308)
at sun.font.CompositeStrike.getStrikeForSlot(CompositeStrike.java:78)
at sun.font.CompositeStrike.getFontMetrics(CompositeStrike.java:93)
at sun.font.FontDesignMetrics.initMatrixAndMetrics(FontDesignMetrics.java:359)
at sun.font.FontDesignMetrics.<init>(FontDesignMetrics.java:350)
at sun.font.FontDesignMetrics.getMetrics(FontDesignMetrics.java:302)
at sun.java2d.SunGraphics2D.getFontMetrics(SunGraphics2D.java:855)
at FontTest.main(FontTest.java:12)
root@see-sv-a007:~# /opt/coldfusionraijin/jre1.8.0_60/bin/java -jar /opt/coldfusionraijin//FontTest1.jar
Java HotSpot(TM) 64-Bit Server VM warning: PICL (libpicl.so.1) is missing. Performance will not be optimal.
Exception in thread "main" java.lang.UnsatisfiedLinkError: /opt/coldfusionraijin/jre1.8.0_60/lib/sparcv9/libt2k.so: ld.so.1: java: fatal: libXext.so.0: open failed: No such file or directory
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1938)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1842)
at java.lang.Runtime.loadLibrary0(Runtime.java:870)
at java.lang.System.loadLibrary(System.java:1122)
at sun.font.T2KFontScaler$1.run(T2KFontScaler.java:50)
at java.security.AccessController.doPrivileged(Native Method)
at sun.font.T2KFontScaler.<clinit>(T2KFontScaler.java:41)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at sun.font.FontScaler.<clinit>(FontScaler.java:100)
at sun.font.TrueTypeFont.getScaler(TrueTypeFont.java:1281)
at sun.font.FileFontStrike.<init>(FileFontStrike.java:179)
at sun.font.FileFont.createStrike(FileFont.java:95)
at sun.font.Font2D.getStrike(Font2D.java:359)
at sun.font.Font2D.getStrike(Font2D.java:308)
at sun.font.CompositeStrike.getStrikeForSlot(CompositeStrike.java:78)
at sun.font.CompositeStrike.getFontMetrics(CompositeStrike.java:93)
at sun.font.FontDesignMetrics.initMatrixAndMetrics(FontDesignMetrics.java:359)
at sun.font.FontDesignMetrics.<init>(FontDesignMetrics.java:350)
at sun.font.FontDesignMetrics.getMetrics(FontDesignMetrics.java:302)
at sun.java2d.SunGraphics2D.getFontMetrics(SunGraphics2D.java:855)
at FontTest.main(FontTest.java:12)
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
import java.io.*;
import java.awt.*;
import java.awt.image.BufferedImage;
public class FontTest {
public static void main(String[] args) {
Graphics2D metricsProvider = (Graphics2D) new BufferedImage(1,1,1).getGraphics();
System.out.println("metricsProvider.getFontMetrics():-> ");
System.out.println(metricsProvider.getFontMetrics());
/*
System.setProperty("java.awt.headless", "true");
System.out.println("java.awt.headless=true");
System.out.println(metricsProvider.getFont());
System.out.println();
System.setProperty("java.awt.headless", "false");
System.out.println("java.awt.headless=false");
System.out.println(metricsProvider.getFont());
*/
}
}
---------- END SOURCE ----------
CUSTOMER SUBMITTED WORKAROUND :
No workaround