domainutility throws “java.lang.ArrayIndexOutOfBoundsException”

domainutility throws “java.lang.ArrayIndexOutOfBoundsException”

book

Article ID: KB0081699

calendar_today

Updated On:

Products Versions
TIBCO Runtime Agent (TRA) 5.10.0

Description

./domainutility throws the following WRAPPER method startup exception and so does "wrap" executable:
<-----------
WRAPPER - start method threw an exception
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
        at sun.font.CompositeStrike.getStrikeForSlot(CompositeStrike.java:79)
        at sun.font.CompositeStrike.getFontMetrics(CompositeStrike.java:97)
        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.swing.SwingUtilities2.getFontMetrics(SwingUtilities2.java:1113)
        at javax.swing.JComponent.getFontMetrics(JComponent.java:1626)
        at javax.swing.plaf.basic.BasicGraphicsUtils.getPreferredButtonSize(BasicGraphicsUtils.java:276)
        at javax.swing.plaf.basic.BasicButtonUI.getPreferredSize(BasicButtonUI.java:376)
        at javax.swing.JComponent.getPreferredSize(JComponent.java:1662)
        at com.tibco.administrator.wizard.Navigator.getView(Navigator.java:239)
        at com.tibco.administrator.wizard.WizardDialog.<init>(WizardDialog.java:64)
        at com.tibco.administrator.du.DomainUtility.<init>(DomainUtility.java:112)
        at com.tibco.administrator.du.DomainUtility.a(DomainUtility.java:495)
        at com.tibco.administrator.du.DomainUtility.main(DomainUtility.java:461)
------->   
 
Seemingly, font configuration change between RHEL v7.3 and v7.4 that sets the default font from ‘Utopia’ to ‘STIX’ is causing the TIBCO wrapper start method to throw “java.lang.ArrayIndexOutOfBoundsException”.

Environment

Red Hat Enterprise Linux release 7.4

Resolution

Create a file named local.conf under the /etc/fonts/ directory with the XML below. This will force back Utopia as the default font used by 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>

Issue/Introduction

./domainutility throws " java.lang.ArrayIndexOutOfBoundsException: 0’

Additional Information

https://stackoverflow.com/questions/45569367/upgrade-rhel-from-7-3-to-7-4-arrayindexoutofboundsexception-in-sun-font-composi/45600582#45600582