RHEL update from 7.3 to 7.4: ArrayIndexOutOfBoundsException in sun.font.CompositeStrike.getStrikeForSlot

We just updated the server from RHEL v7.3to v7.4.

This simple program works in RHEL v7.3 and does not work in v7.4

public class TestJava {
  public static void main(String[] args) {
    Font font = new Font("SansSerif", Font.PLAIN, 12);
    FontRenderContext frc = new FontRenderContext(null, false, false);
    TextLayout layout = new TextLayout("\ude00", font, frc);
    layout.getCaretShapes(0);
    System.out.println(layout);
  }
}

An exception to RHEL 7.4 is:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
    at sun.font.CompositeStrike.getStrikeForSlot(CompositeStrike.java:75)
    at sun.font.CompositeStrike.getFontMetrics(CompositeStrike.java:93)
    at sun.font.Font2D.getFontMetrics(Font2D.java:415)
    at java.awt.Font.defaultLineMetrics(Font.java:2176)
    at java.awt.Font.getLineMetrics(Font.java:2283)
    at java.awt.font.TextLayout.fastInit(TextLayout.java:598)
    at java.awt.font.TextLayout.<init>(TextLayout.java:393)

As a result, the result of RHEL v7.3:

sun.font.StandardTextSource@7ba4f24f[start:0, len:1, cstart:0, clen:1, chars:"de00", level:0, flags:0, font:java.awt.Font[family=SansSerif,name=SansSerif,style=plain,size=12], frc:java.awt.font.FontRenderContext@c14b833b, cm:sun.font.CoreMetrics@412ae196]

The update RHEL v7.4includes updating openjdkfrom 1.8.0.131to 1.8.0.141, but this does not seem to be version related openjdk, as the problem is the same as IBM JDKwith WebSphere v9.0( v1.8.0 SR4 FP6). With the same version IBM JDKon the server RHEL v7.3, the RHEL v7.4program works in RH 7.3 and does not work in RH 7.4 in the same way as withopenjdk

Any idea what is going on?

+10
4

!
RHEL v7.4 ( v7.3 ) stix-fonts.
, Utopia STIX , java STIX, sans-serif
- STIX, , openjdk java (openjdk + IBM JDK) java.awt, JasperReports
/etc/fonts/local.conf , Utopia , java.

<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
  <alias>
    <family>serif</family>
    <prefer><family>Utopia</family></prefer>
  </alias>
  <alias>
    <family>sans-serif</family>
    <prefer><family>Utopia</family></prefer>
  </alias>
  <alias>
    <family>monospace</family>
    <prefer><family>Utopia</family></prefer>
  </alias>
  <alias>
    <family>dialog</family>
    <prefer><family>Utopia</family></prefer>
  </alias>
  <alias>
    <family>dialoginput</family>
    <prefer><family>Utopia</family></prefer>
  </alias>
</fontconfig>

[ 2018-10-22]
, JDK 1.8.192: https://bugs.java.com/view_bug.do?bug_id=JDK-8188030

[ 2019-06-28]
, IBM JDK v8.05.37 http://www-01.ibm.com/support/docview.wss?uid=swg1IJ16655

+18

RHEL 7.4

sans serif OpenJDK IBM JDK.

openjdk 1.8.0.141-2. ​​ java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64. RHSA-2017: 2998 -

, dejavu-serif-fonts .

yum install dejavu-serif-fonts

+6

, "dejavu-serif-fonts", . local.conf. RedHat 7.4 : : https://bugzilla.redhat.com/show_bug.cgi?id=1479563 p >

+4

- Linux, fc-list , , /usr/share/X11/fonts/Type1/, , .

0

All Articles