IBM Support

DFHSJ0210 JVMPROFILE_ERROR when installing Liberty JVM server after applying CICS maintenance

Question & Answer


Question

Why would I receive message DFHSJ0210 indicating the Liberty JVM server failed to start due to a JVMPROFILE_ERROR after applying maintenance to CICS Transaction Server for z/OS (CICS TS) V5.1? I applied RSU1506 or RSU1512 and now I receive message:

 DFHSJ0210 date time applid An attempt to start a JVM for the JVMSERVER resource jvmserver has failed. Reason code: JVMPROFILE_ERROR

If I look at the SYSPRINT output I see the following exception was also issued indicating it could not find the file or directory:

 date time MYLIBSRV *Exc*: DFHSJSC.setLibertyClasspath - @Exit 0: Invalid WLP_INSTALL_DIR. More Liberty jars than expected in profile 'lib' directory = /cics/cics680/wlp/lib

Answer

The message written to SYSPRINT is indicating that the WLP_INSTALL_DIR/lib directory is invalid because CICS found more Liberty jar files within it then expected. This message was introduced by CICS apar PI09433 which upgraded the Liberty profile in CICS to version 8.5.5.3. This was part of RSU1506. CICS will now check to see if there are more Liberty jar files within the WLP_INSTALL_DIR/lib directory than expected and will issue the message causing the Liberty JVM server to fail initialization with message DFHSJ0210.

As CICS sets the Liberty classpath, CICS searches the WLP_INSTALL_DIR directory for the OSGI jar file. Once CICS finds this jar file CICS sets a found_osgi parameter to true. There should only be one jar file that starts with osgi.eclipse.osgi as a prefix within this directory. If there is more than one jar file that starts with this prefix, when CICS searches the contents of this directory and locates the first one, CICS sets found_osgi to true. Then CICS locates the next one but since found_osgi is true, CICS issues the error messages and the startup of the Liberty JVM server fails.

If you are getting this error, when you browse the the WLP_INSTALL_DIR/lib directory (defaults to /cics/cics680/wlp/lib), you will see that there are several jar files that start with prefix osgi.eclipse.osgi within the zFS structure:

  /cics/cics680/wlp/lib/
 Type Filename
 _ File org.eclipse.osgi.jar
 _ File org.eclipse.osgi_3.10.100.jar
 _ File org.eclipse.osgi.services.jar

The problem is that somehow the USSHOME directory contents were copied or merged into the WLP_INSTALL_DIR directory. So the WLP_INSTALL_DIR/IBM and WLP_INSTALL_DIR/lib subdirectories are now congested with additional jar files and need to be cleaned up. The non-Liberty directories can simply be removed. So. the best way to clean up the USSHOME/wlp directory is to follow these steps:

 1) To clean up the USSHOME/wlp directory, go to USSHOME/wlp and enter the following:  
     rm CICS_INSTALL_OK
     rm -r JVMProfiles
     rm -r W2
     rm -r docs
     rm -r pipeline
     rm -r samples
     rm -r schemas
     rm -r security
     rm -r utils
     
     2) To clean up the USSHOME/wlp/IBM directory, go to USSHOME/wlp/IBM and enter the following commands:
     rm DFHA*
     rm DFHC*
     rm DFHW2*
     rm DFHX*
     rm DFHZ*
     rm DFJ*
     
     3) To clean up the USSHOME/wlp/lib directory, go to USSHOME/wlp/lib and enter the following:
     rm CTK*
     rm -r bundle*
     rm com.ibm.cics*
     rm com.ibm.ras*
     rm com.ibm.rec*
     rm dfj*
     rm lib*
     rm org.eclipse.equ*
     rm org.eclipse.osgi.jar
     rm org.eclipse.osgi.services.jar
     rm -r pipeline
     rm -r wsdl

This should then clean up the wlp directory so that the Liberty JVM server can now initialize.

Shayla Robinson
IBM CICS/CPSM Level 2 Support

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

Product Synonym

CICS/TS CICSTS CICS TS CICS Transaction Server

Document Information

Modified date:
19 April 2016

UID

dwa1263958