Fix (APAR): PK47332 Status: Fix Release: 6.0.2.19,6.0.2.17 Operating System: AIX,HP-UX,i5/OS,Linux,Linux pSeries,Linux Red Hat - pSeries,Linux zSeries,OS/390,OS/400,Solaris,Windows Supersedes Fixes: CMVC Defect: 444229 Byte size of APAR: 10987 Date: 2007-06-28 Abstract: Under high stress loads, the logging code may experience a NullPointer- Exception inside the LoggerThread's logData() method. This NullPointer Exception will lead to an OutOfMemory Description/symptom of problem: PK47332 resolves the following problem: ERROR DESCRIPTION: Depending on client stress levels, within some period of seeing a NullPointerException from the com.ibm.ws.http.logging.impl. LoggerThread class, the WebSphere process dies with an out of memory error. Heap dump analysis points to WsByteBuffers stored on a LinkedList structure. LOCAL FIX: PROBLEM SUMMARY USERS AFFECTED: IBM WebSphere Application Server version 6.0 and 6.1 users of the HTTP logging code, which may include the NCSA access logs, HTTP error and debug logging, or the WebSphere Proxy (or On-Demand Router) cache and proxy logging. PROBLEM DESCRIPTION: Under high stress loads, the logging code may experience a NullPointer- Exception inside the LoggerThread's logData() method. This NullPointer Exception will lead to an OutOfMemoryException as data accumulates waiting to be written to disk. RECOMMENDATION: None There is an opening in the synchronization protection that may allow a null output buffer on the disk IO queue. When that buffer is reached, it causes the NullPointerException inside the logData() method. This kills the disk IO writer thread which leads to a build up of buffers in the queue waiting to be written out. That build up eventually causes the OutOfMemory as all native memory is held in WsByteBuffers on that queue. PROBLEM CONCLUSION: The timing window has been closed with changes to the protective locks around the output queue. There is also added protection against unexpected exceptions like this from killing the thread. This is targeted for fixpacks 6.0.2.23, 6.1.0.11, and higher. Please refer to the recommended updates page for delivery information: http://www.ibm.com/support/docview.wss?rs=180&uid=swg27004980 Directions to apply fix: Fix applies to Editions: Release 6.0 _x_ Application Server (Express or BASE) _x_ Network Deployment (ND) _x_ 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 6.0.2.17-WS-WAS-IFPK47332.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 (6.0.2.17-WS-WAS-IFPK47332.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 (6.0.2.17-WS-WAS-IFPK47332.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: