WA Agent fails to start on Linux/OEL with UnsatisfiedLinkError: wrong ELF class: ELFCLASS64
search cancel

WA Agent fails to start on Linux/OEL with UnsatisfiedLinkError: wrong ELF class: ELFCLASS64

book

Article ID: 445364

calendar_today

Updated On:

Products

Workload Automation Agent

Issue/Introduction

The Workload Automation (WA) Agent fails to start on a Linux or Oracle Enterprise Linux (OEL) server. 

Symptoms:

  • The cybagent_service.log shows: JVM finished with ExitCode: 1 or ExitCode: 99.
  • The nohup.stderr file (located in the agent installation directory) contains the following error: Exception in thread "main" java.lang.UnsatisfiedLinkError: .../libRunnerPluginOS.so: wrong ELF class: ELFCLASS64 (Possible cause: architecture word width mismatch)
  • Attempts to start the service manually result in: Unable to start Agent service.

Environment

  • Product: Workload Automation Agent
  • Platform: Linux / Oracle Enterprise Linux (OEL)

Cause

This error indicates an architecture mismatch between the Java Virtual Machine (JVM) and the native libraries. Specifically, a 32-bit JRE is attempting to load a 64-bit native library (ELFCLASS64). A 32-bit Java process cannot load 64-bit native binaries. This often occurs after OS patching cycles or JRE updates where a 32-bit version of Java was inadvertently installed or prioritized in the system path.

Resolution

To resolve the architecture mismatch, ensure the JRE matches the library architecture (typically 64-bit for the WA Agent installations).

  1. Identify the library architecture: Run the following command on the agent machine: For example

    • file /opt/CA/####/SystemAgent/####/libRunnerPluginOS.so 

    • Note: Verify if it reports "64-bit LSB shared object".

  2. Verify the current Java version: Check the bitness of the Java version used by the agent: For example

    • /opt/CA/####/jre/bin/java -version 

    • Note: Look for "64-Bit Server VM". If it does not specify 64-bit, it is likely a 32-bit version.

  3. Install/Update to 64-bit JRE: If a mismatch is confirmed, install the 64-bit JRE or points the agent to 64-bit JRE. Ensure theoscomponent.javapath in agentparm.txt file points to the correct 64-bit Java path.

  4. Restart the Agent: Restart the agent service to apply the changes.

  5. Confirm Startup: Check the agent's status file orcybagent_service.log to ensure the agent has initialized correctly without exit codes.

Additional Information

Replace the JRE Installed by the Agent Without Upgrading the Agent