IBM Support

java.lang.Exception: Server has not responded within 90000 milliseconds - trying to start JVM server in CICS TS

Question & Answer


Question

Why am I getting 'java.lang.Exception: Server has not responded within 90000 milliseconds' when trying to start my JVM server in CICS Transaction Server for z/OS (CICS TS)? In my Java error log I see the following:

 [Router-Init-Thread]
 [com.ibm.cics.router]
 [Router] @Error: main() - Problem detected in Router main method
 com.ibm.cics.router.RouterException: Unable to start Liberty server
     at com.ibm.cics.router.Router.initLiberty(Router.java:796)
     at com.ibm.cics.router.Router.initOSGi(Router.java:420)
     at com.ibm.cics.router.Router.main(Router.java:1444)
 Caused by: java.lang.Exception: Server has not responded within 90000
 milliseconds.
 Either a problem exists with the Server, or the system is busy.  The
 Liberty JVM server will terminate.
 This timeout can be controlled by the System Property
 'com.ibm.cics.jvmserver.controller.timeout=n'
 where n is the value of milliseconds to wait.

I'd to understand why I can't start my JVM server.

Answer

I have seen exceptions like "java.lang.Exception: Server has not responded within 90000 milliseconds" when trying to restart or start a number of CICS regions all at the same time.

There are 2 separate timeout variables related to timeouts that can be specified in the JVM profile (otherwise they default) that could be in play here:

OSGI_FRAMEWORK_TIMEOUT

Specifies the number of seconds that CICS waits for the OSGi framework to initialize or shut down before timing out. The default is 60 seconds. This is unused for a Liberty JVM server from CICS V5.3 onwards

-Dcom.ibm.cics.jvmserver.controller.timeout

This is an internal CICS parameter that can be used to control the amount of time CICS will wait for the JVM server to initialize. This property is documented in the CICS TS documentation in the JVM system properties topic, but it is primarily intended to be an internal value. The default is 90s or 90000ms.

The messages that get issued depend on which timeout variable expires first. In the messages posted, it looks like the second option is what expired.

It is usually recommended that both parameters are set to the same timeout interval.

The IBM recommendation is to set the following two properties within your JVM profile and try to install the JVM server once more:

OSGI_FRAMEWORK_TIMEOUT=300
-Dcom.ibm.cics.jvmserver.controller.timeout=300000

Note: 300 seconds and 300000ms = 5 minutes

This will allow the JVM server 5 minutes to complete its startup which should be long enough for it to come up. If not, you can try increasing this parameter until you get it set to a value that allows the JVM server to start.

If the problem still occurs after increasing the value, IBM CICS Support would like you to set all CICS trace components to standard level 1 except AP=1-2, EI=1-2, SJ=ALL, and recreate the problem. Then open a ticket and send in the following documentation for review:

  • CICS dump

  • complete CICS joblog

  • dfhjvmerr, dfhjvmout and dfhjvmtrc files

[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSGMGV","label":"CICS Transaction Server"},"Platform":[{"code":"PF035","label":"z\/OS"}],"Component":"Java","Version":"","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]

Product Synonym

CICS/TS CICSTS CICS TS CICS Transaction Server

Document Information

Modified date:
15 January 2019

UID

dwa1488204