• Topic
  • Discussion
  • UdaWikiWeb.CouldNotSetSemaphoreValue(Last) -- Owiki? , 2016-08-19 14:59:50 Edit owiki 2016-08-19 14:59:50

    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


    Referenced by...