The SAS® OnDemand Decision Engine encounters a "SharedMemoryBuffer" timeout during start up


A SharedMemoryBuffer timeout exception occurs when you start the SAS OnDemand Decision Engine. When this exception happens, the following message is written to the console.log file:

com.sas.finance.fraud.engine.sas.SASTimeoutException: SharedMemoryBuffer encountered a timeout

In addition, this error is written to the SAS® log:

ERROR: Unable to Wait on servers Data ready semaphore

To resolve this issue, increase the Linux kernel's semaphore parameters to the following values:

You can check the current values by running this command:

ipcs -ls

To change the values, add the following line to the /etc/sysctl.conf file: 

kernel.sem=250 32000 32 380

If a KERNEL.SEM= line already exists in the /etc/sysclt.conf file and any of the values are lower than shown above, increase those values.

You can run the following command as the root user to force the new values to become effective immediately. Otherwise, the new parameter values take effect after the next reboot.

sysctl -p