Troubleshoot the Java configuration

Overview

Interactions between different platforms, plug-ins, and Java implementations may often cause small errors when you configure the Java environment. This topic covers the most common errors and walks you through how to resolve them.

JVMManager errors

Failed to load JVMManager because of a component version mismatch

<Sun Jul  7 22:00:53> ERROR: JVMManager Unable to open [geneos-plugins.jar] because [No such file or directory]
<Sun Jul  7 22:00:53> ERROR: JVMManager Failed to retrieve file version information from [geneos-plugins.jar]
<Sun Jul  7 22:00:53> ERROR: JVMManager Version mismatch: netprobe[GA4.10.2-190314] - liblaunchpad.so[GA4.10.2-190314] - geneos-plugins.jar[##-000000]
<Sun Jul  7 22:00:53> ERROR: SamplerManager::_addSamplers Failed to load JVMManager because of a component version mismatch

The component version mismatch can occur in the following scenarios:

Library versions incompatible with the Netprobe

A version mismatch can happen when only certain library files are updated in the Netprobe package. Libraries can differ from version to version. The best practice is to update the entire Netprobe.

Netprobe cannot locate the required libraries to run the JVM

The Netprobe can fail to locate the required libraries when you execute it from outside its installation directory.

If you need to execute the Netprobe from a different directory, then use the GENEOS_JARS and GENEOS_LIBS environment variables to point to the required libraries.

The environment variables must contain the absolute path to the required libraries, and must be exported to the Netprobe start script.

For guidance, see the following sections:

Failed to create LaunchPad class

<Fri Oct 11 16:53:20> ERROR: JVMManager Failed to create LaunchPad class

The LaunchPad class error can occur in the following scenarios:

Netprobe cannot locate geneos-plugins.jar

If you are executing the Netprobe in its installation directory, check that the geneos-plugins.jar file exists. If it does not, then reinstall the Netprobe package.

If you need to execute the Netprobe from a different directory, then use the GENEOS_JARS and GENEOS_LIBS environment variables to point to the required libraries.

The environment variables must contain the absolute path to the required libraries, and must be exported to the Netprobe start script.

For guidance, see the following sections:

Incompatible Java version

Check that you are using a supported version of Java for the component and platform you are using. For guidance, see the Java support in Geneos 5.x Compatibility Matrix.

JVMDataFormatter error

<Mon Nov 25 14:53:27> ERROR: JVMDataFormatter Could not find class Could not initialize class com.itrsgroup.jmx.formatter.JVMDataFormatter

The JVMDataFormatter error can occur when the value of the JAVA_HOME environment variable is incorrect. The value must contain the absolute path of the Java binary's jre folder.

Example of an incorrect path:

  • export JAVA_HOME=/opt/lib/java/oracle/current

Example of a correct path:

  • export JAVA_HOME=/opt/lib/java/oracle/current/jre

For guidance in setting up the JAVA_HOME environment variable, see For the Java library in Configure the Java environment.

Note: As a best practice, check that you are using a supported version of Java for the component and platform you are using. For guidance, see the Java support in Geneos 5.x Compatibility Matrix.

Solaris Sparc 11.1 ARCFOUR issue

For Solaris Sparc 11.1 (branch: 0.175.1.0.0.24.2), there is a known issue with the ARCFOUR cipher that causes problems with any E4JMS plug-in using SSL.

Resolution

Install Patch 15879294: ORACLE SOLARIS 11.1 SRU 1.4.

Workaround

If you cannot install the patch specified, then you opt for one of the following workarounds:

Disable the ARCFOUR cipher in Java

Add CKM_RC4 in the disabledMechanisms section of the $JAVA_HOME/jre/lib/security/sunpkcs11-solaris.cfg. This should be the same JDK that the Netprobe is using.

Example configuration:

disabledMechanisms = {
        CKM_RC4
        CKM_DSA_KEY_PAIR_GEN
        # the following mechanisms are disabled due to performance issues
        # (Solaris bug 6337157)
        CKM_DSA_SHA1
        CKM_MD5_RSA_PKCS
        CKM_SHA1_RSA_PKCS
        CKM_SHA256_RSA_PKCS
        CKM_SHA384_RSA_PKCS
        CKM_SHA512_RSA_PKCS
}

Disable the Solaris PKCS11 security provider

Java will fall back and use other providers defined in $JAVA_HOME/jre/lib/security/java.security.

To disable the Solaris PKCS11 security provider, add the following to the plug-in's Java properties section in Gateway Setup Editor:

-Dsun.security.pkcs11.enable-solaris=false

Caution: This setting is a JVM-level property and will affect all Geneos Java plug-ins running on the same Netprobe.

Next steps

After you have configured the Java environment, you may proceed to setting up your Java-based plug-in: