CAF start returns "initialisation failed" error on Linux
search cancel

CAF start returns "initialisation failed" error on Linux


Article ID: 20088


Updated On:


CA Automation Suite for Data Centers - Configuration Automation CA Client Automation - Asset Management CA Client Automation - IT Client Manager CA Client Automation CA Client Automation - Remote Control CA Client Automation - Asset Intelligence CA Client Automation - Desktop Migration Manager CA Client Automation - Patch Manager



On Linux, all caf commands like "caf status", "caf stop", "caf setserveraddress" are returning "initialisation failed" .

In the TRC_CCNFAGENT_*.log the following errors are observed :

110713-06:46:51.7152010L|022248|f6718b90|CcnfAgentW|cfOSServices    |cfOSServices |000000|ERROR  | CCFOSEvent::Init: Unable to create semaphore for global event evt_DoneE5F27766-E9E4-11E2-8187-8570C3B55EBD
110713-06:46:51.7152490L|022248|f6718b90|CcnfAgentW|CcnfAgentWorker |ccnfshmem.h |000240|ERROR  | ### Create(): no event 'DoneE5F27766-E9E4-11E2-8187-8570C3B55EBD' ###
110713-06:46:53.2196770L|022248|f6718b90|CcnfAgentW|CcnfAgentWorker |cmsgshm.cpp |000748|ERROR  | ### FactoryThread(): can't create shm block size 2040 ###
110713-06:46:56.6214340L|022248|f6718b90|CcnfAgentW|cfOSServices    |cfOSServices|000000|ERROR  | CIpcCommon::GetIPCKey: failed to create new semaphore: sem_evt_DoneE8E192A4-E9E4-11E2-8187-8570C3B55EBD: (28) No space left on device



All supported versions of Linux 

CA Client Automation - All Versions



The above log lines indicate that the semaphore limit "maximum number arrays" has been reached and no new semaphore can be created. This causes a problem in starting the ccnfagent plugin.



1. Check what the semaphore limits are set to, 

    Following command returns the semaphore limits (max number of arrays) :

           ipcs -l

    In this example "max number of arrays" is set to 128

<Please see attached file for image>

User-added image

     As a solution we could change the semaphore limit in order to increase the "maximum number of arrays" value.

This is generally done in the /etc/sysctl.conf or with the sysctl command. Please see the appropriate man pages or check with your OS vendor

Example for RedHat following command could be executed to increase the value to 256 :

* Execute following commands :

sysctl -w kernel.sem="250 32000 100 256"

* Edit  file /etc/sysctl.conf and update the line kernel.sem like this (or create it if it does not exist) :

kernel.sem=250 32000 100 256

250 is "max semaphores per array"
32000 is "max semaphores system wide"
100 is "max ops per semop call"
256 is "max number of arrays"


2. Another solution is to configure ccnfagent to not use semaphores but Session messaging :


  1. Create a file "usemessenger" in /opt/CA/DSM/Agent/CCNF
  2. Kill the caf process semop call
  3. caf start 


Release: UASIT.99000-12.9-Asset Intelligence


Please Update This Required Field


1558697488889000020088_sktwi1f5rjvs16iz6.jpeg get_app
1558697486764000020088_sktwi1f5rjvs16iz5.jpeg get_app