Fixes are available
8.5.5.1: WebSphere Application Server V8.5.5 Fix Pack 1
8.0.0.8: WebSphere Application Server V8.0 Fix Pack 8
7.0.0.31: WebSphere Application Server V7.0 Fix Pack 31
8.5.5.2: WebSphere Application Server V8.5.5 Fix Pack 2
7.0.0.33: WebSphere Application Server V7.0 Fix Pack 33
8.0.0.9: WebSphere Application Server V8.0 Fix Pack 9
8.5.5.3: WebSphere Application Server V8.5.5 Fix Pack 3
7.0.0.35: WebSphere Application Server V7.0 Fix Pack 35
8.5.5.4: WebSphere Application Server V8.5.5 Fix Pack 4
8.0.0.10: WebSphere Application Server V8.0 Fix Pack 10
7.0.0.37: WebSphere Application Server V7.0 Fix Pack 37
8.5.5.5: WebSphere Application Server V8.5.5 Fix Pack 5
8.5.5.6: WebSphere Application Server V8.5.5 Fix Pack 6
8.0.0.11: WebSphere Application Server V8.0 Fix Pack 11
8.5.5.7: WebSphere Application Server V8.5.5 Fix Pack 7
7.0.0.39: WebSphere Application Server V7.0 Fix Pack 39
8.5.5.8: WebSphere Application Server V8.5.5 Fix Pack 8
8.0.0.12: WebSphere Application Server V8.0 Fix Pack 12
8.5.5.9: WebSphere Application Server V8.5.5 Fix Pack 9
7.0.0.41: WebSphere Application Server V7.0 Fix Pack 41
8.5.5.10: WebSphere Application Server V8.5.5 Fix Pack 10
8.5.5.11: WebSphere Application Server V8.5.5 Fix Pack 11
8.0.0.13: WebSphere Application Server V8.0 Fix Pack 13
7.0.0.43: WebSphere Application Server V7.0 Fix Pack 43
8.5.5.12: WebSphere Application Server V8.5.5 Fix Pack 12
8.0.0.14: WebSphere Application Server V8.0 Fix Pack 14
8.5.5.13: WebSphere Application Server V8.5.5 Fix Pack 13
7.0.0.45: WebSphere Application Server V7.0 Fix Pack 45
8.0.0.15: WebSphere Application Server V8.0 Fix Pack 15
7.0.0.45: Java SDK 1.6 SR16 FP60 Cumulative Fix for WebSphere Application Server
7.0.0.31: Java SDK 1.6 SR15 Cumulative Fix for WebSphere Application Server
7.0.0.35: Java SDK 1.6 SR16 FP1 Cumulative Fix for WebSphere Application Server
7.0.0.37: Java SDK 1.6 SR16 FP3 Cumulative Fix for WebSphere Application Server
7.0.0.39: Java SDK 1.6 SR16 FP7 Cumulative Fix for WebSphere Application Server
7.0.0.41: Java SDK 1.6 SR16 FP20 Cumulative Fix for WebSphere Application Server
7.0.0.43: Java SDK 1.6 SR16 FP41 Cumulative Fix for WebSphere Application Server
8.5.5.14: WebSphere Application Server V8.5.5 Fix Pack 14
8.5.5.15: WebSphere Application Server V8.5.5 Fix Pack 15
8.5.5.14: WebSphere Application Server V8.5.5 Fix Pack 14
APAR status
Closed as program error.
Error description
In WebSphere Application Server V7.0.0.25 - V7.0.0.29 (which include the fix for APAR PM60733), if a JMS connection is closed on a separate thread to which a Session derived from that Connection is being cleaned up (presumably because of some connection error), a JVM deadlock may occur. This can result in messages not being received from a third-party JMS provider. Here is an example of two threads in a javacore. One catches a connection exception and the other tries to clean up the session/connection. Here is the deadlock notification: Deadlock detected !!! --------------------- Thread "MyTask" (0x0000000002664800) is waiting for: sys_mon_t:0x00002AD0622D3470 infl_mon_t: 0x00002AD0622D34E0: java/util/Collections$SynchronizedSet@0x0000000016D7ACB0/0x00000 00016D7ACBC: which is owned by: Thread "MyOtherTask[1]" (0x0000000001A39300) which is waiting for: sys_mon_t:0x00002AD0622D33D0 infl_mon_t: 0x00002AD0622D3440: java/lang/Object@0x0000000016D7AD78/0x0000000016D7AD84: which is owned by: Thread "MyTask" (0x0000000002664800) ## Here is the thread that catches a connection exception: "MyTask" J9VMThread:0x0000000002664800, j9thread_t:0x00002AD052E38350, java/lang/Thread:0x0000000016D7A510, state:B, prio=5 ... Java callstack: at com/ibm/ejs/jms/JMSManagedSession.connectionErrorOccurred(JMSMan agedSession.java:1141) at com/ibm/ejs/jms/JMSSessionHandle.markManagedObjectsAsStale(JMSSe ssionHandle.java:1535) at com/ibm/ejs/jms/JMSMessageConsumerHandle.markManagedObjectsAsSta le(JMSMessageConsumerHandle.java:915) at com/ibm/ejs/jms/JMSMessageConsumerHandle.receive(JMSMessageConsu merHandle.java:570(Compiled Code)) at com/ibm/ejs/jms/JMSMessageConsumerHandle.receive(JMSMessageConsu merHandle.java:500(Compiled Code)) at org/springframework/jms/listener/AbstractPollingMessageListenerC ontainer.receiveMessage(AbstractPollingMessageListenerContainer. java:405(Compiled Code)) at org/springframework/jms/listener/AbstractPollingMessageListenerC ontainer.doReceiveAndExecute(AbstractPollingMessageListenerConta iner.java:308(Compiled Code)) at org/springframework/jms/listener/AbstractPollingMessageListenerC ontainer.receiveAndExecute(AbstractPollingMessageListenerContain er.java:261(Compiled Code)) at org/springframework/jms/listener/DefaultMessageListenerContainer $AsyncMessageListenerInvoker.invokeListener(DefaultMessageListen erContainer.java:982(Compiled Code)) at org/springframework/jms/listener/DefaultMessageListenerContainer $AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageLi stenerContainer.java:974(Compiled Code)) at org/springframework/jms/listener/DefaultMessageListenerContainer $AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer .java:876) at java/lang/Thread.run(Thread.java:738) ## Here is the thread that is doing the cleanup: "MyOtherTask[1]" J9VMThread:0x0000000001A39300, j9thread_t:0x00002AD0528F5760, java/lang/Thread:0x0000000016D7A830, state:B, prio=5 ... Java callstack: at com/ibm/ejs/jms/JMSManagedSession.cleanup(JMSManagedSession.java :545(Compiled Code)) at com/ibm/ejs/j2c/MCWrapper.cleanup(MCWrapper.java:1549(Compiled Code)) at com/ibm/ejs/j2c/FreePool.returnToFreePool(FreePool.java:513(Comp iled Code)) at com/ibm/ejs/j2c/PoolManager.release(PoolManager.java:1915(Compil ed Code)) at com/ibm/ejs/j2c/MCWrapper.releaseToPoolManager(MCWrapper.java:24 04(Compiled Code)) at com/ibm/ejs/j2c/ConnectionEventListener.connectionClosed(Connect ionEventListener.java:377(Compiled Code)) at com/ibm/ejs/jms/JMSManagedSession.handleClosed(JMSManagedSession .java:913(Compiled Code)) at com/ibm/ejs/jms/JMSSessionHandle.close(JMSSessionHandle.java:871 (Compiled Code)) at com/ibm/ejs/jms/JMSConnectionHandle.close(JMSConnectionHandle.ja va:576(Compiled Code)) at org/springframework/jms/connection/ConnectionFactoryUtils.releas eConnection(ConnectionFactoryUtils.java:81(Compiled Code)) at org/springframework/jms/listener/AbstractJmsListeningContainer.r efreshSharedConnection(AbstractJmsListeningContainer.java:360) at org/springframework/jms/listener/DefaultMessageListenerContainer .refreshConnectionUntilSuccessful(DefaultMessageListenerContaine r.java:785) at org/springframework/jms/listener/DefaultMessageListenerContainer .recoverAfterListenerSetupFailure(DefaultMessageListenerContaine r.java:767) at org/springframework/jms/listener/DefaultMessageListenerContainer $AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer .java:898) at java/lang/Thread.run(Thread.java:738)
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: All users of IBM WebSphere Application * * Server JMS other than Service Integration * * Bus JMS. * **************************************************************** * PROBLEM DESCRIPTION: Deadlock possible after PM60733. * **************************************************************** * RECOMMENDATION: * **************************************************************** PM60733 introduced a new lock to break a different deadlock, but in turn introduced this new deadlock.
Problem conclusion
This APAR resolves the problem by fixing the deadlock from PM60733 in a different way. Instead of using a new lock, locks are not taken at the points causing the original deadlock. Instead other non-locking changes are made to avoid the need to take any locks. The fix for this APAR is currently targeted for inclusion in fix pack 7.0.0.31, 8.0.0.8 and 8.5.5.1. Please refer to the Recommended Updates page for delivery information: http://www.ibm.com/support/docview.wss?rs=180&uid=swg27004980
Temporary fix
Comments
APAR Information
APAR number
PM92408
Reported component name
WEBS APP SERV N
Reported component ID
5724H8800
Reported release
700
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2013-07-04
Closed date
2013-07-29
Last modified date
2013-07-29
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Fixed component name
WEBS APP SERV N
Fixed component ID
5724H8800
Applicable component levels
R700 PSY
UP
R800 PSY
UP
R850 PSY
UP
Document Information
Modified date:
12 January 2022