Linux Java agent does not start or fails to submit jobs if user limits are defined
search cancel

Linux Java agent does not start or fails to submit jobs if user limits are defined

book

Article ID: 406853

calendar_today

Updated On:

Products

CA Automic Workload Automation - Automation Engine CA Automic One Automation Automic SaaS

Issue/Introduction

There are multiple symptoms to this issue, depending which limits are set in the /etc/security/limits* configuration files for each user.

  1. The Agent Java Linux 21.x or 24.x fails to start in case another user than root  (ie. uc4) is used to start the agent. The error in the log file is the following: 

    20250717/110415.938 - U02003082 User-Service for User 'root' was started with PID: '2455661'.
    20250717/110415.939 - U00045014 Exception 'java.io.IOException: "No such process"' at 'com.automic.os.process.unix.ErrnoException.checkForException():67'.
    20250717/110415.939 -           Creating primary service driver, for user: root
    20250717/110415.940 -           spawn process: [/Agents/unix/bin/user_service_pkg, --default-home, /Agents/unix/bin/., --fd-data-channel, 12, --fd, 10, --io-timeout, 60000, --inactive-timeout, 0, --monitor-channel, 14, --parent, 2455627, --trace-all, 4, --trace-file, /Agents/unix/bin/../temp/user_service_pkg_driver_root_{pid}_{ts}.txt, null
    20250717/110415.940 -           User service cwd: /Agents/unix/bin/.
    20250717/110415.941 -           UserServiceDriverProcessMonitor [pid=2455661] started, timeout: 60000
    20250717/110415.941 -           Recv 'USQUITT'
    20250717/110415.941 -           Created user service driver: UserServiceDriver [user=root, pid=2455661]
    20250717/110415.941 -           UserServiceDriverProcessMonitor [pid=2455661], no message, reason: recv_socket() failed, errno: 4 (Interrupted system call)


  2. The Agent Java Linux 21.x or 24.x is able to start as root when setting agentuser=root and starting the agent as root but jobs submitted as other users fail to be submitted with the following kind of errors:

    20250801/095057.728 - U00045014 Exception 'java.nio.file.NoSuchFileException: "/Agents/unix/out/OAADDTTI.TXT"' at 'sun.nio.fs.UnixException.translateToIOException():92'.
    20250801/095057.728 - U00029002 Report '1439002' ended abnormally.
    20250801/095617.170 - U00045014 Exception 'java.lang.IllegalStateException: "Received different pid from logon than what received from spawn (xxx vs 0)"' at 'com.automic.os.process.unix.userservice.UserServiceDriver.<init>():277'.
    20250801/095617.171 - U00003620 Routine 'com.uc4.ex.MessageDispatcher' forces trace because of error.

    This can also look like when running filetransfers:

    20250922/100422.512 -           Thread 44 ended.
    20250922/100422.513 - U00045014 Exception 'java.lang.IllegalStateException: "Received different pid from logon than what received from spawn (xxx vs 0)"' at 'com.automic.os.process.unix.userservice.UserServiceDriver.<init>():277'.
    20250922/100422.514 - U00003620 Routine 'com.uc4.ex.ThreadPool$RunnableDecorator' forces trace because of error.
    20250922/100422.516 - U00003450 The TRACE file was opened with the switches '0000000000000000'.

    File transfers could include:

    2025-09-21 08:21:32 - U00011492 FT '123456789': Connection with partner 'AGENT_NAME' will be closed. Error: 'No code present (1005)'.
    2025-09-21 08:23:45 - U00011182 Client '0100', RunID '234567890'. Message 'EXAKTJ' for Agent 'AGENT_NAME' was acknowledged with error code 62 (Loscon). JOB_INF will be sent.
  3. Only in case the trace job_debug is set to level 7 or 9 we can see the cause of the issue (Unable to set _limits for the user) in the trace file generated in the temp folder:
    20250801/094606.259 char**)(lib_name=pam_limits.so,user=submission_user,argc=1,argv=0x0x7ffe824cacf8) -->
    20250801/094606.259 user_service::pam::load_pam_module(177): Library 'pam_limits.so' loaded
    20250801/094606.259 char**)(102): Function 0x7fed0b6c5bd0 loaded
    20250801/094606.260 char**)(109): 3 = fp'0x7fed0b6c5bd0'(submission_user, 1, ...)
    20250801/094606.260 char**)(throws Unable to set _limits for the user, reason: Error in service module) <<< (3 - Unable to set _limits for the user, reason: Error in service module)

Environment

Agent Java Linux 21.x or 24.x on Linux where user limits are defined for the different submission users.

Cause

DE173903

Resolution

Update to a fix version listed below or a newer version if available.

Fix version:
Component(s): Agent Linux Java
Automation.Engine 21.0.15 - Available
Automation.Engine 24.4.1 HF2 - Available
Automation.Engine 24.4.2 - Planned release October 2025

Additional Information

Public description: The Java based Linux agent did not correctly implement the parameter use_limits=no in [PAM] section of the INI file. The limits were always set which could lead to start problems.