JDK-6752622 : java.awt.Font.getPeer throws "java.lang.InternalError: Not implemented" on Linux
  • Type: Bug
  • Component: client-libs
  • Sub-Component: 2d
  • Affected Version: 7
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • OS:
    linux,linux_suse_sles_10,linux_ubuntu,solaris_nevada linux,linux_suse_sles_10,linux_ubuntu,solaris_nevada
  • CPU: x86
  • Submitted: 2008-09-25
  • Updated: 2013-08-29
  • Resolved: 2011-03-08
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 7
7 b54Fixed
Related Reports
Duplicate :  
Duplicate :  
Duplicate :  
Relates :  
Relates :  
Description
Platform: Linux 2.6.25.11-60.fc8 (i386)
JDK: 7b34
JCK: 7 b05
Test: api/java_awt/Font/descriptions.html#GetPeer
(Please see GetPeerTests.java attached)

The output is the following:

java.lang.InternalError: Not implemented
	at sun.font.FcFontConfiguration.getFontDescriptors(FcFontConfiguration.java:175)
	at sun.awt.PlatformFont.<init>(PlatformFont.java:74)
	at sun.awt.X11.XFontPeer.<init>(XFontPeer.java:53)
	at sun.awt.X11.XToolkit.getFontPeer(XToolkit.java:874)
	at java.awt.Font.getPeer_NoClientCode(Font.java:427)
	at java.awt.Font.getPeer(Font.java:418)
	at javasoft.sqe.tests.api.java.awt.Font.GetPeerTests.Font2014(GetPeerTests.java:42)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:623)
	at javasoft.sqe.javatest.lib.MultiTest.invokeTestCase(MultiTest.java:406)
	at javasoft.sqe.javatest.lib.MultiTest.run(MultiTest.java:195)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:623)
	at com.sun.jck.lib.ExecJCKTestSameJVMCmd$Version2Test.execute(ExecJCKTestSameJVMCmd.java:441)
	at com.sun.jck.lib.ExecJCKTestSameJVMCmd$StandardTest.run(ExecJCKTestSameJVMCmd.java:389)
	at com.sun.jck.lib.ExecJCKTestSameJVMCmd.execute(ExecJCKTestSameJVMCmd.java:257)
	at com.sun.jck.lib.ExecJCKTestSameJVMCmd.run(ExecJCKTestSameJVMCmd.java:162)
	at com.sun.javatest.agent.Agent$Task.executeCommand(Agent.java:841)
	at com.sun.javatest.agent.Agent$Task.execute(Agent.java:772)
	at com.sun.javatest.agent.Agent$Task.handleRequest(Agent.java:633)
	at com.sun.javatest.agent.Agent.handleRequestsUntilClosed(Agent.java:400)
	at com.sun.javatest.agent.Agent.access$000(Agent.java:60)
	at com.sun.javatest.agent.Agent$1.run(Agent.java:272)
	at java.lang.Thread.run(Thread.java:674)
Font2014: Failed. Test case throws exception: java.lang.InternalError: Not implemented


It is caused by the following code:
-------------------------------------------------------------------
      String name="NameOfTheFont"; //step Create font name
      int style=Font.PLAIN;       //step Create font styles
      int size=11;
      Font f=new Font(name,style,size); //step Create Font object
      java.awt.peer.FontPeer fp=f.getPeer(); //step Create its peer
-------------------------------------------------------------------

Comments
EVALUATION Should just return an empty array instead of throwing an exception. However this top level API to return a useless peer will soon be the only use made of this method.
05-01-2009

EVALUATION It looks like this is a duplicate of 6733203.
29-09-2008