Fix (APAR): PI76509 Status: Fix Release: 16.0.0.4 Operating System: AIX,HP-UX,IBM i,Linux,Solaris,Windows Supersedes Fixes: CMVC Defect: Byte size of APAR: 1597777 Date: 2017-04-27 Abstract: Hang on org/apache/webbeans/context/sessioncontext.addchildrequest Description/symptom of problem: PI76509 resolves the following problem: ERROR DESCRIPTION: Hanging threads after applying fix pack 8.5.5.11 or liberty 16.0.0.4 or 17.0.0.1 SystemOut.log and Java cores show: [9-2-17 16:13:45:421 CET] 0000002f ThreadMonitor W WSVR0605W: Thread "WebContainer : 35" (0000011d) has been active for 697463 milliseconds and may be hung. There is/are 1 thread(s) in total in the server that may be hung. at java/util/HashMap.put(HashMap.java:506(Compiled Code)) at java/util/HashSet.add(HashSet.java:229(Compiled Code)) at org/apache/webbeans/context/SessionContext.addChildRequest(Sessi onContext.java:118(Compiled Code)) at org/apache/webbeans/web/context/WebContextsService.initRequestCo ntext(WebContextsService.java:550(Compiled Code)) at org/apache/webbeans/web/context/WebContextsService.startContext( WebContextsService.java:417(Compiled Code)) at com/ibm/ws/webbeans/services/JCDIWebListener.requestInitialized( JCDIWebListener.java:321(Compiled Code)) at com/ibm/ws/webcontainer/webapp/WebApp.notifyServletRequestCreate d(WebApp.java:1908(Compiled Code)) Additional symptoms: session invalidation threads begin to become blocked and an error similar to the following is logged in javacores Webcontainers 38,23,20,18 and 7 were blocked behind webcontainer 21 which was runnable and Owns Monitor Lock on com/ibm/ws/session/store/memory/MemorySession@0x000000000852C740 at java/util/HashMap$HashIterator.remove(HashMap.java:955(Compiled Code)) at org/apache/webbeans/context/SessionContext.isAnyRequestActive(Se ssionContext.java:137(Compiled Code)) at org/apache/webbeans/context/SessionContext.isAnyRequestActive(Se ssionContext.java:123(Compiled Code)) at org/apache/webbeans/web/context/WebContextsService.destroySessio nContext(WebContextsService.java:717(Compiled Code)) at org/apache/webbeans/web/context/WebContextsService.endContext(We bContextsService.java:269(Compiled Code)) at com/ibm/ws/webbeans/services/JCDIWebListener.sessionDestroyed(JC DIWebListener.java:397(Compiled Code)) at com/ibm/ws/session/http/HttpSessionObserver.sessionDestroyed(Htt pSessionObserver.java:180(Compiled Code)) at com/ibm/ws/session/SessionEventDispatcher.sessionDestroyed(Sessi onEventDispatcher.java:160(Compiled Code)) at com/ibm/ws/session/StoreCallback.sessionInvalidated(StoreCallbac k.java:126(Compiled Code)) at com/ibm/ws/session/store/memory/MemorySession.invalidate(MemoryS ession.java:232) at com/ibm/ws/session/store/memory/MemorySession.invalidate(MemoryS ession.java:878) LOCAL FIX: None PROBLEM SUMMARY USERS AFFECTED: All users of IBM WebSphere Application Server PROBLEM DESCRIPTION: Concurrent modification can corrupt a HashSet leading to hanging threads RECOMMENDATION: None A HashSet in the org.apache.webbeans.context.SessionContext was undergoing concurrent modification. A hanging thread with SessionContext on the stack is likely to be resolved by this APAR. PROBLEM CONCLUSION: The Set in question was updated to use a different Set implementation that can accept concurrent modification. The fix for this APAR is currently targeted for inclusion in fix packs 8.5.5.12, 8.0.0.14 and Liberty 17.0.0.2. 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: 1. Open a console and direct it to the location of your iFix jar 2. Run the command "java -jar 16.0.0.4-wlp-archive-IFPI76509.jar". The following launch options are available for the jar: --installLocation [LibertyRootDir] by default the jar will look for a "wlp" directory in its current location. If your Liberty profile install location is different to "wlp" and/or is not in the same directory as the jar then you can use this option to change where the jar will patch. [LibertyRootDir] can either be relative to the location of the jar or an absolute file path. --suppressInfo hides all messages other than confirming the patch has completed or error messages. 3. Stop your Liberty profile server(s). 4. When you next start your Liberty profile server(s), the fix will become active in your runtime. Directions to remove fix: 1. Stop your Liberty profile server(s). 2. You will need to delete the following files (file locations are relative to your Liberty profile install root): - lib/com.ibm.ws.openwebbeans.impl.1.1.6_1.0.15.cl160420170410-0013.jar - lib/fixes/16004-wlp-archive-IFPI76509_16.0.0004.20170411_1744.xml - lib/fixes/16004-wlp-archive-IFPI76509_16.0.0004.20170411_1744.lpmf 3. When you next start your Liberty profile server(s), the fix will become inactive in your runtime. Directions to re-apply fix: 1. Follow the instructions to apply the fix. Additional Information: