Thread Count of the CAOPRDMN.EXE Process

Document ID : KB000055036
Last Modified Date : 14/02/2018
Show Technical Document Details

Description:

The thread count of the CAOPRDMN.EXE process is increasing. It never goes back down again. Eventually, an error message similar to the following appears:
%CAOP_E_514, Wait time for available thread exceeded ...

What can cause this to happen?

Solution:

Each COMMAND Message Action runs in a separate thread. For the duration of the COMMAND action, the thread count of the CAOPRDMN.EXE process will increase by 1. If the COMMAND action is working successfully, then the thread count of CAOPRDMN.EXE will decrease once the action has completed.

By default, COMMAND actions run in non-interactive mode. That is, no GUI will appear on screen when a Message Action runs. If a COMMAND action hangs waiting for user input (such as a password) it will remain active forever, since no user will be able to manually supply the required input. Such an action will continuously use up a thread. If multiple actions continue to hang, then eventually the "Max # of threads" limit will be reached. In this case, increasing the "Max # of threads" setting will simply delay the inevitable problem. If COMMAND actions are determined to be hanging, the real solution is to determine which Message Action is hanging and modify it so that it can complete successfully.

One way to check for hanging Message Actions is to check the Task Manager. For example, if a Message Action runs "myfile.exe," and the Task Manager lists "myfile.exe" 128 times, then this usually indicates that the actions are not terminating successfully. Often, this results from a syntax error in the text of the Message Action. Make sure that any commands run within Event Management can be executed successfully from a Command Prompt outside of Unicenter under the same user.