Intermittent map exceptions in high volume Solaris 10 environments
Intermittent WebSphere® Transformation Extender Map exceptions in high volume Solaris® 10 environments.
WebSphere Transformation Extender processes report intermittent exceptions. Errors / Exceptions observed have been:
SystemErr R com.ibm.websphere.dtx.dtxpi.MException: Function failed - Native function: Java_com_ibm_websphere_dtx_dtxpi_MMap_initializeAPI
at com.ibm.websphere.dtx.dtxpi.MMap.initializeAPI(Native Method)
This symptom can occur if during WTX API initialization a failure occurs when reading the dtx.ini configuration file which is caused by no available file descriptors.
On the Solaris 10 operating system that is running 32-bit applications, Solaris has a limitation of 256 open files regardless of the value of the number of file descriptors defined by the "ulimit -n" parameter.
In a 32-bit process space,"
ulimit -n <value>" defines the number of open files that can be opened, but in a Solaris 10 environment, the Solaris operating system restricts the number of open files to a maximum of 256.
With high volume, complex multi-threaded 32 bit applications can exceed the 256 open file descriptor threshold.
Solaris 10 environments running the 32 bit version of WebSphere Transformation Extender
Diagnosing the problem
High volume WebSphere Transformation Extender (32 bit) applications generate exceptions in a Solaris 10 environment.
Resolving the problem
- Apply latest Solaris 10 recommended patch cluster to your environment.
- Check the value of the number of file descriptors by reviewing what is from:
- If the ulimit command returns a value less than 256, increase it to an acceptable value:
ulimit -n <value>
where <value> is the maximum number of file descriptors your environment needs.
- Set and export the LD_PRELOAD_32 environment variable to use the Solaris extended File utility:
Note: ulimit and LD_PRELOAD_32 must be set at the system level by a system administrator and propagated to all user id's or through a user id. When set through an individual user id, these environmental settings are suggested to be set in the individual users profile or in scripts that invoke the 32 bit application.
Refer to the Related Information link for additional information.
Ascential Mercator TX WTX