eFix (APAR): pq60981 Status: efix For Release: WebSphere 4.0.1, 4.0.2, 4.0.3 For Edition: WebSphere AE, AEs For ContainerTypes: All For Operating System: Windows NT4, Windows 2000, AIX, Solaris, HPUX, Linux Supersedes eFixes: pq57392 CMVC defect: 122505 Byte size of APAR: 2,052,461 Date: 05/10/02 Abstract: This efix provides a workaround for an ArrayIndexOutOfBoundsException that occurs in WAS 4.0.3, and also includes all fixes from PQ57392. Description/symptom of problem: This APAR supercedes PQ57392. When CMPOpt shipped with WAS 4.0.2, the jars that went into the lib directory were improperly named. As a result, the cmpopt shell script cannot locate the class files it needs in order to run CMPOpt. This efix will remove the incorrect jar files and install the correctly-named jar files on WAS 4.0.X. In WAS 4.0.3, CmpOPT may encounter an ArrayIndexOutOfBoundsException in the postProcess() method call. This problem occurs due to the JIT that shipped in WAS 4.0.3. Turning the JIT off solves this problem, however CmpOPT will run slower. Conclusion: This efix provides a workaround by disabling only specific JIT optimizations for the method which is problematic. Also fixed: 1) CmpOPT will now always output the cmpopt.log and the three .ch files into the 'logs' directory under the WAS_HOME directory, 2) a NullPointerException that occurred when jars were specified with an absolute path has been fixed, 3) the 'equ not expected at this time' shell script error on NT4 has been fixed. Directions to apply efix: 1) Create temporary "efix" directory to store the zip/tar file: AIX: /tmp/WebSphere/efix Solaris/Linux: /tmp/WebSphere/efix Windows: c:\temp\WebSphere\efix 2) Copy zip/tar file to the directory 3) Unzip/untar the file 4) Shutdown WebSphere 5) Run the jar file with the following command answering questions/prompts as they appear: java -jar 6) Restart WebSphere 7) The temp directory may be removed but the zip/tar file should be saved. Do not remove any files created and stored in the /WebSphere/AppServer/efix/ directories. These files are required if an efix is to be removed. Directions to remove an efix: NOTE: EFIXES MUST BE REMOVED IN THE ORDER THEY WERE APPLIED. DO NOT REMOVE AN EFIX UNLESS ALL EFIXES APPLIED AFTER IT HAVE FIRST BEEN REMOVED. YOU MAY REAPPLY ANY REMOVED EFIX. Example: If your system has efix1, efix2, and efix3 applied in that order and efix2 is to be removed, efix3 must be removed first, efix2 removed, and efix3 re-applied. 1) Change directory to the efix location (/WebSphere/AppServer/efix/). 2) Shutdown WebSphere 3) Run the backup jar file with the following command: java -jar 4) Restart WebSphere Directions to re-apply an efix: Follow the instructions for applying an efix. If the backup files still exist (from the previous efix application), you will be prompted to overwrite. Answer "yes" at the overwrite prompts. Trouble shooting -------------------------------------------------------------------------------------- o If an efix complains about the container type and you are sure it should match, contact WebSphere L2 Support for assistance with the -SkipContainerCheck option to the efix jar. o If the efix complains about the version of XML parser, move the file $WASROOT/jre/lib/ext/xerces.jar to a temporary location (such as c:\temp), load the efix and move the file back to it's original location. Additional Information: ------------------------------------------------------------------