After Migration from UUJMA to System Agent Unix Job Failing With Message: Invalid Shell Error (Exit Code 4014)
search cancel

After Migration from UUJMA to System Agent Unix Job Failing With Message: Invalid Shell Error (Exit Code 4014)

book

Article ID: 448441

calendar_today

Updated On:

Products

Workload Automation Agent Autosys Workload Automation ESP dSeries Workload Automation ESP dSeries Workload Automation - Scheduler (dSeries) ESP dSeries Workload Automation - System Agent (dSeries)

Issue/Introduction

Jobs on a Workload Automation System Agent fail with the error message CAWA_E_20050 Shell verification failed. Error code: 4014. The job state in the scheduler may show as SUBERROR with the status Invalid shell error.

This is commonly observed when migrating from legacy agents (such as UUJMA/UJMA) to the newer System Agent, as the System Agent enforces stricter shell validation by default.

Symptoms

  • Job fails before script execution begins.
  • Job log contains: CAWA_E_20050 Shell verification failed. Error code: 4014.
  • Job log shows the requested shell, for example: Using shell from script: '/usr/bin/bash'.

Environment

  • Workload Automation Agent

Cause

The error occurs because the agent's internal security policy is configured to validate shells against a predefined list, and the shell requested by the script is missing from that list. This is governed by two parameters in the agentparm.txt file:

  1. oscomponent.checkvalidshell: When set to true, the agent validates the shell.
  2. oscomponent.validshell: A comma-separated list of fully qualified paths for allowed shells.

Resolution

Step 1: Identify the Required Shell

Check the first line (shebang) of the script or the job definition to identify the exact path of the shell being used. Common paths include:

  • /usr/bin/bash
  • /bin/bash
  • /usr/bin/sh
  • /bin/ksh

Step 2: Update Agent Configuration

  1. Navigate to the agent installation directory.
  2. Open the agentparm.txt file in a text editor.
  3. Locate the oscomponent.validshell parameter.
  4. Append the missing shell path to the list, separated by a comma. Example: oscomponent.validshell=/bin/sh,/usr/bin/sh,/bin/ksh,/usr/bin/bash
  5. Ensure the path matches the job log exactly (e.g., if the log says /usr/bin/bash, do not just add /bin/bash).

Step 3: Restart the Agent

Restart the agent service for the changes to take effect.

Alternative: Disable Validation

If you prefer to match the behavior of older agents and bypass this validation check, set the following parameter in agentparm.txt and restart the agent: oscomponent.checkvalidshell=false