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”.

Issue/Introduction

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

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>

Additional Information

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