FontConfig fails when optional system library is missing
Phil Race
philip.race at oracle.com
Mon Jul 18 22:14:27 UTC 2011
Ah you said it was AIX, not Linux. Still, it should have that library
installed
even if the de-ref is fixed.
-phil.
On 7/18/2011 3:12 PM, Phil Race wrote:
> Steve,
>
> There's no attachment .. and this should be discussed on 2d-dev, not
> core-libs.
>
> I do see in the code where the null de-ref can happen. This is some
> new JDK 7 code.
> Although a system where the library is missing is basically DOA for
> client use.
> I'd suspect you are running 32 bit JDK on a 64 bit Linux which hasn't had
> the 32 bit libs installed. If so, likely you'll run into other
> problems too.
>
> -phil.
>
>
> On 7/18/2011 2:37 PM, Steve Poole wrote:
>>
>> Hi all, a problem was discovered on JDK7 when using the Nimbus L&F on
>> a system where libfontconfig.so was not installed (On AIX actually
>> but in theory on any unix system)
>>
>> Under the covers Nimbus uses the sun.font.FontConfigManager to
>> retrieve fonts. sun.font.FontConfigManager in turn is intended to use
>> (for a unix system) the libfontconfig.so system library if present.
>>
>> The code is intended to cope with the library being missing but it
>> unfortunately doesn't. A array is referenced without checking if it
>> is null. On systems where the system library is present this array is
>> never null but in this specific case the array is null and the
>> reference fails as follows.
>>
>> —
>> Exception in thread "main" java.lang.NullPointerException
>> at
>> sun.font.FontConfigManager.getFontConfigFont(FontConfigManager.java:352)
>> at sun.awt.X11FontManager.getFontConfigFUIR(X11FontManager.java:817)
>> at sun.font.FontUtilities.getFontConfigFUIR(FontUtilities.java:472)
>> at javax.swing.plaf.nimbus.NimbusDefaults.<init>(NimbusDefaults.java:138)
>> at
>> javax.swing.plaf.nimbus.NimbusLookAndFeel.<init>(NimbusLookAndFeel.java:100)
>> at Nimbus.main(Nimbus.java:6)
>> –
>>
>> The fix is trivial (see attached) and probably just tactical.
>>
>>
>> Cheers,
>>
>> Steve
>>
>
More information about the core-libs-dev
mailing list