cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Mohammed.Rayan
AppDynamics Team

Problem:

For some Linux users who are trying to install EUM, the installer will not launch and the following error message is shown in the logs:

 

./euem-64bit-linux-4.3.5.7.sh 
Unpacking JRE ... 
Preparing JRE ... 
Starting Installer ... 
java.lang.ArrayIndexOutOfBoundsException: 0 
at sun.font.CompositeStrike.getStrikeForSlot(CompositeStrike.java:75) 
at sun.font.CompositeStrike.getFontMetrics(CompositeStrike.java:93) 
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.text.WrappedPlainView.updateMetrics(WrappedPlainView.java:318) 
at javax.swing.text.WrappedPlainView.updateChildren(WrappedPlainView.java:297) 
at javax.swing.text.WrappedPlainView.insertUpdate(WrappedPlainView.java:463) 
at javax.swing.plaf.basic.BasicTextUI$RootView.insertUpdate(BasicTextUI.java:1610)
at javax.swing.plaf.basic.BasicTextUI$UpdateHandler.insertUpdate(BasicTextUI.java:1869) 
at javax.swing.text.AbstractDocument.fireInsertUpdate(AbstractDocument.java:201) 
at javax.swing.text.AbstractDocument.handleInsertString(AbstractDocument.java:748) 
at javax.swing.text.AbstractDocument.insertString(AbstractDocument.java:707) 
at javax.swing.text.PlainDocument.insertString(PlainDocument.java:130) 
at javax.swing.text.DefaultEditorKit.read(DefaultEditorKit.java:273) 
at javax.swing.JEditorPane.setText(JEditorPane.java:1415) 
at javax.swing.JEditorPane.<init>(JEditorPane.java:293) 
at com.install4j.runtime.installer.frontend.headless.AbstractHeadlessScreenExecutor.init(Unknown Source) 
at com.install4j.runtime.installer.frontend.headless.ConsoleScreenExecutor.<init>(Unknown Source) 
at com.install4j.runtime.installer.frontend.headless.InstallerConsoleScreenExecutor.<init>(Unknown Source) 
at com.install4j.runtime.installer.Installer.getScreenExecutor(Unknown Source) 
at com.install4j.runtime.installer.Installer.runInProcess(Unknown Source) 
at com.install4j.runtime.installer.Installer.main(Unknown Source) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:498) 
at com.exe4j.runtime.LauncherEngine.launch(Unknown Source) 
at com.install4j.runtime.launcher.Launcher.main(Unknown Source) 
Could not display the GUI. This application needs access to an X Server. 
******************************************************************* 
You can also run this application in console mode without 
access to an X server by passing the argument -c 
*******************************************************************

 

This issue is caused by a known problem with Redhat.

 

More information:

 

Solution:

Create a file called local.conf in the /etc/fonts directory with the following contents and try the installation again. This will force Utopia to be the default font used by the JRE.

 

<?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>

 

If you don't have root access, you can also create ~/.config/fontconfig/fonts.conf with the same contents. Log out and log back in again to the Server.

Comments
David.Lopes
AppDynamics Team

If you don't have root access, you can also create " ~/.config/fontconfig/fonts.conf" with the same contents, logout and login again to the server.

Nina.Wolinsky
AppDynamics Team

@David.Lopes Thanks for sharing that tip! I've incorporated it to the article.

Version history
Last update:
‎10-31-2018 02:56 PM
Updated by: