Failed to start TIBCO BusinessEvents (BE) agent in TIBCO Administrator - Error java.lang.UnsatisfiedLinkError: sun.security.ec.ECKeyPairGenerator.isCurveSupported([B)Z

Failed to start TIBCO BusinessEvents (BE) agent in TIBCO Administrator - Error java.lang.UnsatisfiedLinkError: sun.security.ec.ECKeyPairGenerator.isCurveSupported([B)Z

book

Article ID: KB0072922

calendar_today

Updated On:

Products Versions
TIBCO BusinessEvents Enterprise Edition 5.x/6.x

Description

The deployed BE engine cannot be started in TIBCO Administrator UI.
A fatal error is reported when we initialize the configured channels (TLS enabled).

Error:

<timestamp> <agent> Fatal [main] - [container.standalone] sun.security.ec.ECKeyPairGenerator.isCurveSupported([B)Z
java.lang.UnsatisfiedLinkError: sun.security.ec.ECKeyPairGenerator.isCurveSupported([B)Z
at jdk.crypto.ec/sun.security.ec.ECKeyPairGenerator.isCurveSupported(Native Method)
at jdk.crypto.ec/sun.security.ec.ECKeyPairGenerator.ensureCurveIsSupported(ECKeyPairGenerator.java:135)
at jdk.crypto.ec/sun.security.ec.ECKeyPairGenerator.initialize(ECKeyPairGenerator.java:114)
at java.base/java.security.KeyPairGenerator$Delegate.initialize(KeyPairGenerator.java:699)
at java.base/sun.security.ssl.ECDHKeyExchange$ECDHEPossession.<init>(ECDHKeyExchange.java:127)
...

Note:
You can start the BE engine successfully in a console by executing the script created for the deployed BE application under $TIBCO_HOME/tra/domain/<domainName>/application/<applicationName>.

 

Environment

All Supported Environments

Resolution

Root cause:
The environment settings of the Hawk agent are inherited by BE agent. The Hawk agent started with a different Java version (1.8) as the BE agent (11.0). In a Java 1.8 environment the
OS library path includes the sunec shared library (Linux: libsunec.so), which is not compatible with Java 11.
The "java.lang.UnsatisfiedLinkError" reported in a Java 11 applications, when the sunec shared library is included in the configured OS library path.

Solution:
  • Modify $BE_HOME/bin/be-engine.tra and remove the OS library path variable at the end of the OS library path to avoid that BE application loads the inherited settings of the Hawk agent
  • Force deployment in TIBCO Administrator to apply the changes in tra files of the deployed BE applications

The OS library path variable in the be-engine.tra file depends on the Operating System.
 
Windowstibco.env.PATH
Linuxtibco.env.LD_LIBRARY_PATH
HPtibco.env.LIBPATH
AIXtibco.env.SHLIB_PATH

e.g. (Linux)
From:
tibco.env.LD_LIBRARY_PATH=%TPCL_HOME%/lib%PSP%%AS3x_HOME%/lib%PSP%%FTL_HOME%/lib%PSP%%AS_HOME%/lib%PSP%%RV_HOME%/lib/64%PSP%%JVM_LIB_DIR%/server%PSP%%JVM_LIB_DIR%%PSP%%RV_HOME%/lib%PSP%%EMS_HOME%/clients/java%PSP%%TERR_HOME%/lib/x86_64%PSP%%LD_LIBRARY_PATH%

To:
tibco.env.LD_LIBRARY_PATH=%TPCL_HOME%/lib%PSP%%AS3x_HOME%/lib%PSP%%FTL_HOME%/lib%PSP%%AS_HOME%/lib%PSP%%RV_HOME%/lib/64%PSP%%JVM_LIB_DIR%/server%PSP%%JVM_LIB_DIR%%PSP%%RV_HOME%/lib%PSP%%EMS_HOME%/clients/java%PSP%%TERR_HOME%/lib/x86_64
 

Issue/Introduction

Failed to start the BE agent in Administrator