Error Messages (C)

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z #

Could not set semaphore value (Result too large)


Product: Single-Tier ("Lite") Drivers for Unix/Linux/Mac OS X Error: "[Driver name]: LicConnInc: Could not set semaphore value (Result too large)" at connect time Reason: The Unix Lite drivers use a SYSV Semaphore set to enforce a system wide number of connections. This set is allocated by the initial connection attempt; each subsequent connection occupying a single license point and returning it when the connection is closed.

The initial connection sets the SYSV semaphore to a large value (10000) in order for the driver to be able to use the semaphore as a counter instead of a locking point. The above error is returned by the semctl system call when the kernel value for SEMVMX is lower than 10000.

For example, on Sun Solaris, the /etc/system file may include the following entry, which would be too low:



    
          set semsys:seminfo_semvmx=4096
        


Resolution Increase the SEMVMX kernel configuration value to at least 10000.


Methods to accomplish this will vary by Unix flavor. Some examples include:

1. Solaris: Use the /etc/system file

2. HP/UX: Use the "sam" administrative utility

3. Linux: Use the "/sbin/sysctl" function. (This allows you to configure kernel parameters at runtime, instead of recompiling and relinking the kernel.)

Evidence

Creating an ODBC Trace on a Mac
Creating a Unix ODBC Trace