PROC0031E The process creation failed

PROC0031E The process creation failed message pops up on Solaris OS when we try to start Deployment Manager profile on WebSphere Application Server v8.5.5.X. Below message pops up even when we start Application Server profile.

Exact trace of exception that contains multiple error codes,

ADMU3002E: Exception attempting to process server dmgr ADMU3007E: Exception com.ibm.ws.process.exception.CreateProcessTimeoutException: PROC0031E: The process creation failed. The process creation for program [/opt/WebSphere/AppServer/java_1.7_64/bin/java] with priority [20] timed out.
This can occur if the system activity is too high for a process to be created within a specific time limit of two minutes. at com.ibm.ws.process.UnixProcessImpl.create(UnixProcessImpl.java:279) at com.ibm.ws.process.ProcessFactory.create(ProcessFactory.java:84) at com.ibm.ws.management.launcher.ProcessLauncher.launch(ProcessLauncher.java:70) at com.ibm.ws.management.launcher.LaunchCommand.launchProcess(LaunchCommand.java:413) at com.ibm.ws.management.tools.WsServerLauncher.runTool(WsServerLauncher.java:323) at com.ibm.ws.management.tools.AdminTool.executeUtility(AdminTool.java:269) at com.ibm.ws.management.tools.WsServerLauncher.main(WsServerLauncher.java:134) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at com.ibm.ws.bootstrap.WSLauncher.main(WSLauncher.java:277)

 

Following are the exception codes that gets populated,

ADMU3002E: Exception attempting to process server

ADMU3007E: Exception com.ibm.ws.process.exception.CreateProcessTimeoutException

PROC0031E: The process creation failed

 

Resolution

1. Setting ulimit values properly on the Solaris OS.

In my case this was the issue where we have set all the values to unlimited and not sure why that has caused an issue. After reverting them back to specific values then the error has not popped up.

2. Modifying ulimit value of setupCmdline.sh of particular profile from bin directory can also resolve the issue. Check out the dW answers link here.

ulimit -n 10000

3. There is fix provided for WAS related to modify the documentation. Link for reference and check for below statement for the error message,

The “Tuning Solaris systems” topic will be updated to reflect an updated recommended value for the Solaris file
descriptors (ulimit). The recommended value will be changed from 8000 to 10000.

4. There could be a case where on Unix related OS (in my case Solaris), CPU was more utilized by other set of processes. This could prevent from starting the application server instance.

 

As part of WebSphere Application Server v8.5.5.X Knowledge center link a list of Process related error messages were provided for reference here. Below text taken for reference from Knowledge center,

PROC0031E: The process creation failed. The process creation for program [{0}] with priority [{1}] timed out. This can occur if the system activity is too high for a process to be created within a specific time limit of two minutes.

Explanation

This situation might occur if high system activity prevents the creation of process within within the specified time limit. The general time limit for the process to initialize is two minutes. This is because generally if a process cannot initialize within the time limit then there is not enough system resources to adequately run the new process. When the time limit is exceeded, a CreateProcessTimeoutException is issued and the process creation is canceled.

Action

Check the CPU, memory, and overall system load characteristics for processes which are monopolizing machine resources. Also check the system limit settings for values that may be affecting the number of processes that can be running at the