Problem:
Resolution:
The full text of the Loc 810 error is : System function error (Loc 810) - Semaphore OK but shared memory marked bad.
The "rmucutil" utility will show that there is a shared memory issue. Either reboot or reset the locked "shared memory" to resolve the problem.
Below is the syntax for the "rmucutil" utility, located in your RM/COBOL installation directory:
rmucutil xx-xxxx-xxxxx-xxxx runtime|compiler details
The "rmucutil" utility will show that there is a shared memory issue.
If the output shows there is a shared memory or semaphore issue, you can clear shared memory and semaphores manually if the ipcs (for Inter Process Communication Status) commands are available on your operating system. The following information outlines the process used to locate and remove the semaphore used by runcobol:
To remove the semaphores and shared memory, you are looking for the ID's attached to the following values: "524d". You should be able to use the following in a shell script, or, type in the commands manually (ipcrm -m id -s id).
ipcrm `ipcs -m | grep '524d' | grep -v grep | awk '{print "-m", $2}'`
ipcrm `ipcs -s | grep '524d' | grep -v grep | awk '{print "-s", $2}'`
The other alternative is to reboot the system.
Please ask your customer not to use kill -9 (SIGKILL) to terminate runcobol processes, or the rmdaemonR, this signal will not allow processes to clean up and will probably leave shared memory or semaphore locked, which will prevent new RM/COBOL processes from starting. It is most likely the cause of this problem.
We recommend using SIGTERM (-15) as this signal will shut down the processes safely, allowing the runcobol or rmcobol command to close files and the rmdeamons to clean up semaphore and shared memory segments.
If no semaphore or shared memory segment problem is reported by rmucutil, please have your customer send us the output that is reported and the output of the following command on their system:
uname -a
**If the recommendations above do not resolve your issue, please contact Micro Focus Customer Care for additional assistance.