Fix (APAR): PK44557 Status: Fix Release: 6.1.0.9,6.1.0.7,6.0.2.19 Operating System: AIX,HP-UX,i5/OS,Linux,Linux pSeries,Linux Red Hat - pSeries,Linux zSeries,OS/400,Solaris,Windows Supersedes Fixes: CMVC Defect: xxxxxx Byte size of APAR: 251106 Date: 2007-08-02 Abstract: ZE - PK44557 is a replacement for PK33262. The'$' character in security.xml prevents starting WebSphere Application Server due to catching a java.lang.IllegalArgumentException Description/symptom of problem: PK44557 resolves the following problem: ERROR DESCRIPTION: After upgrading from 6.1.0.5 to 6.1.0.7 Deployment Manager and Node Agent will not start. [4/17/07 9:11:05:083 EDT] 0000000a WsServerImpl E WSVR0009E: Error occurred during startup com.ibm.ws.exception.ConfigurationError: com.ibm.ws.exception.ConfigurationError: java.lang.IllegalArgumentException: undefined variable: a [4/17/07 9:11:05:122 EDT] 0000000a SystemErr R at com.ibm.wsspi.bootstrap.WSPreLauncher.main(WSPreLauncher.java:89 ) [4/17/07 9:11:05:123 EDT] 0000000a SystemErr R Caused by: com.ibm.ws.exception.ConfigurationError: java.lang.IllegalArgumentException: undefined variable: a Index Count Time of last Occurrence Exception SourceId ProbeId ------+------+---------------------------+---------------------- 1 1 4/17/07 9:11:04:835 EDT java.lang.IllegalArgumentException com.ibm.ws.security.core.distSecurityComponentImpl.initialize 237 ------+------+---------------------------+---------------------- For instance if for primaryAdminId you specify a value that has a '$' prefix the next character will try to be resolved to a variable. LOCAL FIX: Do not use values for keywords in security.xml that are prefixed with '$'. PROBLEM SUMMARY USERS AFFECTED: IBM WebSphere Application Server Version 6.0.2 and 6.1 users who are enabling security. PROBLEM DESCRIPTION: ZE - PK44557 is a replacement for PK33262. The'$' character in security.xml prevents starting WebSphere Application Server due to catching a java.lang.IllegalArgumentException RECOMMENDATION: None Because of one of the functions of Variable Expansion code, if an attribute value in security.xml contains '$' character, WebSphere Application Server fails to start, because Variable Expansion code fails to substitute '$' character. As a result, it throws a java.lang.IllegalArgumentException. When this condition happens, following information is logged: [4/17/07 9:11:05:083 EDT] 0000000a WsServerImpl E WSVR0009E :Error occurred during startup com.ibm.ws.exception.ConfigurationError: com.ibm.ws.exception.ConfigurationError: java.lang.IllegalArgumentException: undefined variable: a [4/17/07 9:11:05:122 EDT] 0000000a SystemErr R at com.ibm.wsspi.bootstrap.WSPreLauncher.main(WSPreLauncher.java: 89) [4/17/07 9:11:05:123 EDT] 0000000a SystemErr R Caused by: com.ibm.ws.exception.ConfigurationError: java.lang.IllegalArgumentException: undefined variable: a PROBLEM CONCLUSION: With this fix, to prevent the exception, the security code invokes Variable Expansion code with an option of treating '$' characters as normal alphanumeric characters. The fix for this APAR is currently targeted for inclusion in fixpack 6.0.2.21 and 6.1.0.11. Please refer to the Recommended Updates page for delivery information: http://www.ibm.com/support/docview.wss?uid=swg27004980 Directions to apply fix: NOTE: Choose the: 1) Release the fix applies to 2) The Editions that apply 3) Delete the Editions & Methods that do not apply and this Note Fix applies to Editions: Release 6.1.0.7, 6.1.0.9, or 6.0.2.19 _X_ Application Server (Express or BASE) _X_ Network Deployment (ND) __ WebSphere Business Integration Server Foundation (WBISF) __ Edge Components _X_ Developer __ Extended Deployment (XD) Install Fix to: Method: __ Application Server Nodes __ Deployment Manager Nodes _X_ Both NOTE: The user must: * Have Administrative rights in Windows, or be the Actual Root User in a UNIX environments. * Logged in with the same authority level when unpacking a fix, fix pack or refresh pack. * Be at V6.0.2.2 or newer of the Update Installer. This can be checked by reviewing the level of the Update Installer in file /updateinstaller/version.txt. The Update Installer can be downloaded from the following link: http://www.ibm.com/support/docview.wss?rs=180&uid=swg21205991 For detailed instructions to Extract the Update Installer see the following Technote: http://www-1.ibm.com/support/docview.wss?rs=180&uid=swg21205400 1) Copy PKxxxxx.pak file directly to the maintenance directory 2) Shutdown WebSphere Manually execute setupCmdLine.bat in Windows or . ./setupCmdLine.sh in Unix from the WebSphere instance that maintenance is being applied to. 3) Launch Update Installer 4) Enter the installation location of the WebSphere product you want to update. 5) Select the "Install maintenance package" operation. 6) Enter the file name of the maintenance package to install (PKxxxxx.pak file which was copied in the maintenance directory). 7) Install the maintenance package. 8) Restart WebSphere Directions to remove fix: NOTE: * The user must have Administrative rights in Windows, or be the Actual Root User in a UNIX environments. * FIXES MUST BE REMOVED IN THE ORDER THEY WERE APPLIED * DO NOT REMOVE A FIX UNLESS ALL FIXES APPLIED AFTER IT HAVE FIRST BEEN REMOVED * YOU MAY REAPPLY ANY REMOVED FIX Example: If your system has fix1, fix2, and fix3 applied in that order and fix2 is to be removed, fix3 must be removed first, fix2 removed, and fix3 re-applied. 1) Shutdown WebSphere Manually execute setupCmdLine.bat in Windows or . ./setupCmdLine.sh in Unix from the WebSphere instance that uninstall is being run against. 2) Start Update Installer 3) Enter the installation location of the WebSphere product you want to remove the fix. 4) Select "Uninstall maintenance package" operation. 5) Enter the file name of the maintenance package to uninstall (PKxxxxx.pak). 6) UnInstall maintenance package. 7) Restart WebSphere Directions to re-apply fix: 1) Shutdown WebSphere. 2) Follow the Fix instructions to apply the fix. 3) Restart WebSphere. Additional Information: To disable this fix, add following custom property to the security.xml. name: "com.ibm.websphere.security.util.enableOneCharacterVariablesExpansion" value: "true"