AutoSys Job failure with "ulimit: max locked memory: cannot modify limit: Operation not permitted
search cancel

AutoSys Job failure with "ulimit: max locked memory: cannot modify limit: Operation not permitted

book

Article ID: 419385

calendar_today

Updated On:

Products

Autosys Workload Automation

Issue/Introduction

The "ulimit: l="unlimited,unlimited"" attribute fails to correctly apply resource limits when used in an AutoSys job. Even when the system account and root have "unlimited" values, the child process spawned by the agent fetches restricted values (e.g., 64k for max locked memory). This leads to job failures with "Operation not permitted" errors when the job attempts to modify limits via "/etc/auto.profile".

JIL Example:


/ ----------------- test_install ----------------- /
insert_job: test_install   job_type: CMD
command: sleep 150
machine: host.example.com
owner: autosys
permission:
date_conditions: 0
n_retrys: 10
alarm_if_fail: 1
alarm_if_terminated: 1
ulimit: l="unlimited, unlimited"

 

 

Job Status Output:
Jobs result in a FAILURE status with EXITCODE: 4035 and a <Submission error>.

Environment

 
Product Release: 12.1.01 0000 


 
Operating System: RHEL 7 


 
Component: Workload Automation Agent 

 

Cause

This issue occurs because child processes inherit "ulimit" values from the agent's initialization/service file rather than the user's shell profile. Consequently, the process identifies the highest possible limit as 64k (the system default) rather than the "unlimited" value intended by the job definition.

 

Resolution

To mitigate the issue, follow these scenarios discussed in the case:

Systemd Service Modification: Set the resource limits directly in the agent service file. Add the following to "/etc/systemd/system/ca-wa-agent.service":

"LimitNOFILE=infinity" 

"LimitNPROC=infinity" 

Script-Level Workaround: If modifying the service file is not an option for System Admins or Security teams, the values must be set manually at the script level.

OS Level Responsibility: Broadcom support notes that ulimit settings are an OS-level responsibility (System Administrator scope) rather than an application-level defect.