Fix (APAR): PH54585 Status: Fix Release: 9.0.5.15 Operating System: z/OS Supersedes Fixes: CMVC Defect: xxxxxx Byte size of APAR: 261177 Date: 2023-05-25 Abstract: in z/OS was 9.0.5.15 ${jvm_cache} is not expanded for -xshareclasses in jvm.options files Description/symptom of problem: PH54585 resolves the following problem: ERROR DESCRIPTION: z/OS WAS uses this by default for the control region and servant region: -Xshareclasses:name=webspherev80_%g_control,controlDir=${JVM_CACHE},groupAccess,nonFatal -Xshareclasses:name=webspherev80_%,g_servant,controlDir=${JVM_CACHE},groupAccess,nonFatal When the transformer code runs, ${JVM_CACHE} should expand to WAS_HOME and look like this in the control.jvm.options and servant.jvm.options files. For instance the control region uses: -Xshareclasses:name=webspherev80_%g_control,controlDir=/WebSphere/ND/DeploymentManager,groupAccess,nonFatal But this is not happening so the regions use this instead: -Xshareclasses:name=webspherev80_%g_control,controlDir=${JVM_CACHE},groupAccess,nonFatal -Xshareclasses:name=webspherev80_%g_servant,controlDir=${JVM_CACHE},groupAccess,nonFatal LOCAL FIX: Set -Xshareclasses as a generic JVM argument for the control and servant region specify the path of the server's WAS_HOME to use. For instance if your WAS_HOME is /WebSphere/ND/DeploymentManager, then use: control region: -Xshareclasses:name=webspherev80_%g_control,controlDir=/WebSphere/ND/DeploymentManager,groupAccess,nonFatal servant region: -Xshareclasses:name=webspherev80_%g_servant,controlDir=/WebSphere/ND/DeploymentManager,groupAccess,nonFatal PROBLEM SUMMARY USERS AFFECTED: All Z/OS users of IBM WebSphere Application Server 9.0.5.15 PROBLEM DESCRIPTION: z/OS WAS uses this by default for the control region and servant region: -Xshareclasses:name=webspherev80_%g_control,controlDir=${JVM_CACHE},groupAccess,nonFatal -Xshareclasses:name=webspherev80_%,g_servant,controlDir=${JVM_CACHE},groupAccess,nonFatal When the transformer code runs, ${JVM_CACHE} should expand to WAS_HOME and look like this in the control.jvm.options and servant.jvm.options files. For instance the control region uses: -Xshareclasses:name=webspherev80_%g_control,controlDir=/WebSphere/ND/DeploymentManager,groupAccess,non Fatal But this is not happening so the regions use this instead: -Xshareclasses:name=webspherev80_%g_control,controlDir=${JVM_CACHE},groupAccess,nonFatal -Xshareclasses:name=webspherev80_%g_servant,controlDir=${JVM_CACHE},groupAccess,nonFatal RECOMMENDATION: None Java -X parameter value that contains variable will not get expanded. PROBLEM CONCLUSION: Code is corrected to handle -X parameter that contains value ${ or $( to be expanded. The fix for this APAR is targeted for inclusion in fix pack 9.0.5.16. For more information, see 'Recommended Updates for WebSphere Application Server': https://www.ibm.com/support/pages/node/715553 AFTER THE IFIX IS INSTALLED: The config to native transformer code needs to run to expand the variables in the jvm.options files. You can use this script to run the config to native transformer code: WAS_HOME/bin/wsc2n.sh The script needs to be run for the DMGR node. For the node agent nodes, you can run this script or you can do a node sync, which also runs the config to native transformer code. After this step is done, all servers in the nodes need to be restarted to pick up the change in the jvm.options files. Directions to apply fix: Install Fix to all WebSphere installations unless special instructions are included below. Special Instructions: Perform steps in section "AFTER THE IFIX IS INSTALLED:" NOTE: The user must: * Logged in with the same authority level when unpacking a fix, fix pack or refresh pack. * Be at V1.8.5 or newer of the Installation Manager. Certain iFixes may require a newer version of the Installation Manager and the Installation Manager will inform you during the installation process if a newer version is required. The IBM Information Center can provide details, if needed, on the use of the Installation Manager to apply the iFixes. http://www.ibm.com/support/knowledgecenter/SSDV2W_1.8.5/com.ibm.cic.agent.ui.doc/helpindex_imic.html. Shutdown WebSphere Application Server before applying the iFixes. Restart WebSphere Application Server after applying the iFixes. Directions to remove fix: The IBM Information Center can provide details, if needed, on the use of the Installation Manager to remove the iFixes. http://www.ibm.com/support/knowledgecenter/SSDV2W_1.8.5/com.ibm.cic.agent.ui.doc/helpindex_imic.html. Shutdown WebSphere Application Server before removing the iFixes. Restart WebSphere Application Server after removing the iFixes. Directions to re-apply fix: 1) Shutdown WebSphere Application Server. 2) Follow the Fix instructions to apply the fix. 3) Restart WebSphere Application Server. Additional Information: This ifix to fix variables in -X parameters not expanded on z/OS