|
| Problem | The application server starts and a process ID is created. However, after a given amount of time, the following error is thrown: "Failed to initialize a server: "DCAF" java.rmi.MarshalException: CORBA COMM_FAILURE 1 Maybe". | | | | Solution | In some situations, the application server can fail to initialize and throws a CORBA COMM_FAILURE. One scenario that causes this is that the application server did not fully initialize before the "ping initial timeout" elapsed. "Ping initial timeout" defines, in seconds, how long the AdminServer will give an AppServer from startup to "ready to take requests". If the "ping initial timeout" alarm in the AdminServer times out before the AppServer is fully ready, you will see something like the following in tracefile: [02.05.16 19:00:21:129 EDT] d7758fd6 ActiveServerP A ADMS0032I: Started server: "Matt" (pid "103228")
[02.05.16 19:05:21:154 EDT] d7758fd6 ActiveEJBServ W Failed to initialize a server: "Matt" java.rmi.MarshalException: CORBA COMM_FAILURE 1 Maybe; nested exception is: org.omg.CORBA.COMM_FAILURE: minor code: 1 completed: Maybe org.omg.CORBA.COMM_FAILURE: minor code: 1 completed: Maybe
at com.ibm.CORBA.iiop.IIOPConnection.purge_calls at com.ibm.CORBA.iiop.StandardReaderThread.run ----- Begin backtrace for detail org.omg.CORBA.COMM_FAILURE: minor code: 1 completed: Maybe at com.ibm.CORBA.iiop.IIOPConnection.purge_calls at com.ibm.CORBA.iiop.StandardReaderThread.runThe ping initial timeout for this customer was set to 300 seconds. Take notice that from the time that the appserver started until the time that the "failed to initialize" error was thrown is exactly 300 seconds. This problem can happen for the following reasons (not an all-inclusive list):1. A servlet set to "load at startup" hangs in its init() method and does not complete. This keeps the appserver from initializing. To resolve the problem, disable "load at startup" for this servlet. You will then need to debug why the init() method for this servlet is failing to complete.2. There are many servlets set to "load at startup" and the loading (and init) of the servlets takes longer to complete than the time given in "ping initial timeout". To resolve, increase the ping initial timeout. 3. Customer has code in the init method of a servlet (set to load at startup) that takes longer to complete than the "ping initial timeout." To resolve, increase the ping initial timeout or reduce the amount of time that servlets take to initialize.4. In 3.5.X, customer implements the ServiceInitializer interface (used to load custom classes at Application Server startup) and there is a loop in the class that is initialized. To resolve, do not put a loop into the class that is initialized. Instead, spawn a new thread and place the loop in there. | |
| |
| |
|
Product categories: Software, Application Servers, Distributed Application & Web Servers, WebSphere Application Server, Servlet Engine/Web Container Operating system(s): Multi-Platform Software version: 3.5, 4.0 Software edition: Advanced, Standard Reference #: 1052603 IBM Group: Software Group Modified date: 2004-05-15
(C) Copyright IBM Corporation 2000, 2004. All Rights Reserved.
|