Issue

When you start Adobe Flash Media Server (FMS), you encounter a failure that returns the following error message in the logs:

Failed to create process condition: errno(28)

This issue also occurs when FMS attempts to launch more cores to handle more applications, instances, or clients.

Solution

If the system is running out of semaphores, raise the maximum number of arrays.

Approximately four times the number of cores + 10 fixes this issue.

Note: If the system is using semaphores for another program, such as a database, add 1024 to the baseline number.

To change the maximum number of arrays, first get the old values, then change the last number to 1024 and set the new values, as follows:

  1. Execute the following command:

    $ sysctl kernel.sem (This command prints a value to the screen as follows):

    kernel.sem = 250 32000 32 128

  2. Next enter the following:

    $ sysctl -w kernel.sem="250 32000 32 1024"

  3. Restart Flash Media Server. Use "ipcs -su" to see how many semaphore arrays are created, as described in the Additional information section.

  4. If the above commands worked properly, execute the following command below to make the change permanent:



    $ echo "kernel.sem = 250 32000 32 1024" >> /etc/sysctl.conf
  5. Execute the following to verify the above command and make the change active immediately:

    $ sysctl -p Note:  Run the command as root or sudoed, and if /sbin isn't on the path, run the command as /sbin/sysctl.

Additional information

This error occurs when the system is running out of semaphores or the maximum number of arrays is too low.

To check the maximum number of arrays set on the machine, execute the command ipcs -sl:

$ ipcs “sl

To check the actual used arrays, execute the command ipcs -su:

$ ipcs “su

This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License  Twitter™ and Facebook posts are not covered under the terms of Creative Commons.

Legal Notices   |   Online Privacy Policy