Fix (APAR): PK65191 Status: Fix Release: 6.1.0.17,6.1.0.15 Operating System: AIX,HP-UX,i5/OS,Linux,Linux pSeries,Linux zSeries,OS/400,Solaris,Windows Supersedes Fixes: CMVC Defect: xxxxxx Byte size of APAR: 60854 Date: 2008-06-25 Abstract: Multi thread access of inuse connections during server shutdown may result in delays or null pointer exceptions. Description/symptom of problem: PK65191 resolves the following problem: ERROR DESCRIPTION: When the Application Server is stopped from the WebSphere Adminisrative Console (it would also happen stopping using the stopServer script or using a wsadmin script), [4/28/08 13:09:26:902 UTC] 00000012 ApplicationMg A WSVR0220I: Application stopped: MyAppServer . The Application Server throws a java.lang.NullPointerException andlogs J2CA0088W and J2CA0081E, as in . [4/28/08 13:09:26:927 UTC] 00000012 MCWrapper W J2CA0088W: The ManagedConnection that is being destroyed from resource datasources/bcgRCVRDS is in an invalid state STATE_TRAN_WRAPPER_INUSE. Processing will continue. . [4/28/08 13:09:26:931 UTC] 00000012 MCWrapper E J2CA0081E: Method destroy failed while trying to execute method destroy on ManagedConnection WSRdbManagedConnectionImpl@3fb13fb1 from resource datasources/bcgRCVRDS. Caught exception: java.lang.NullPointerException at com.ibm.ws.rsadapter.spi.WSRdbManagedConnectionImpl.cleanupTrans actions(WSRdbManagedConnectionImpl.java:3612) at com.ibm.ws.rsadapter.spi.WSRdbManagedConnectionImpl. destroy(WSRdbManagedConnectionImpl.java:3028) at com.ibm.ejs.j2c.MCWrapper.destroy(MCWrapper.java:1742) at com.ibm.ejs.j2c.PoolManager.serverShutDown(PoolManager. java:1413) at com.ibm.ejs.j2c.ConnectionServerShutDownFactoryImpl. shutdown(ConnectionServerShutDownFactoryImpl.java:89) at com.ibm.ejs.j2c.RALifeCycleManagerImpl.shutdown (RALifeCycleManagerImpl.java:1363) at com.ibm.ejs.j2c.RALifeCycleManagerImpl.stop (RALifeCycleManagerImpl.java:421) at com.ibm.ws.runtime.component.ContainerImpl.stopComponents (ContainerImpl.java:1036) at com.ibm.ws.runtime.component.ContainerImpl.stop (ContainerImpl.java:685) at com.ibm.ws.runtime.component.ApplicationServerImpl.stop (ApplicationServerImpl.java:221) at com.ibm.ws.runtime.component.ContainerImpl.stopComponents (ContainerImpl.java:1036) at com.ibm.ws.runtime.component.ContainerImpl.stop (ContainerImpl.java:685) at com.ibm.ws.runtime.component.ServerImpl.stop (ServerImpl.java:625) at com.ibm.ws.runtime.component.ServerCollaborator$ ShutdownHook$1.run(ServerCollaborator.java:702) at com.ibm.ws.security.auth.ContextManagerImpl. runAs(ContextManagerImpl.java:3997) at com.ibm.ws.security.auth.ContextManagerImpl.runAsSystem (ContextManagerImpl.java:4094) at com.ibm.ws.runtime.component.ServerCollaborator$ShutdownHook .run(ServerCollaborator.java:692) at com.ibm.ws.runtime.component.ServerCollaborator$StopAction. alarm(ServerCollaborator.java:656) at com.ibm.ejs.util.am._Alarm.run(_Alarm.java:90) at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1469) . LOCAL FIX: None PROBLEM SUMMARY USERS AFFECTED: All users of WebSphere Application Server using J2EE Connector Architecture (JCA) PROBLEM DESCRIPTION: Multi thread access of inuse connections during server shutdown may result in delays or null pointer exceptions. RECOMMENDATION: None If the null pointer problem occurs, this should be in the stack: at com.ibm.ejs.j2c.MCWrapper.destroy(MCWrapper.java:1742) at com.ibm.ejs.j2c.PoolManager.serverShutDown(PoolManager. java:1413) If the delay occurs, you will notice the server taking longer to shut down and if a Java core is taken, threads may be at the database waiting for a tcpid timeout. PROBLEM CONCLUSION: Inuse connections during server shutdown will not be destroyed. This will fix the multi threaded access and null pointer exceptions that may have been occurring during server shutdown. The fix for this APAR is currently targeted for inclusion in fix pack 6.1.0.21. 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: 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.0 __ Application Server (Express or BASE) __ Network Deployment (ND) __ WebSphere Business Integration Server Foundation (WBISF) __ Edge Components __ Developer __ Extended Deployment (XD) Install Fix to: Method: __ Application Server Nodes __ Deployment Manager Nodes __ 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: