Fixes are available
7.0.0.7: WebSphere Application Server V7.0 Fix Pack 7 for IBM i
7.0.0.7: WebSphere Application Server V7.0 Fix Pack 7 for AIX
7.0.0.7: WebSphere Application Server V7.0 Fix Pack 7 for Windows
7.0.0.7: WebSphere Application Server V7.0 Fix Pack 7 for HP-UX
7.0.0.7: Java SDK 1.6 SR6 Cumulative Fix for WebSphere Application Server
7.0.0.7: WebSphere Application Server V7.0 Fix Pack 7 for Solaris
7.0.0.7: WebSphere Application Server V7.0 Fix Pack 7 for Linux
7.0.0.9: WebSphere Application Server V7.0 Fix Pack 9 for IBM i
7.0.0.9: WebSphere Application Server V7.0 Fix Pack 9 for Windows
7.0.0.9: WebSphere Application Server V7.0 Fix Pack 9 for AIX
7.0.0.9: WebSphere Application Server V7.0 Fix Pack 9 for HP-UX
7.0.0.9: Java SDK 1.6 SR7 Cumulative Fix for WebSphere Application Server
7.0.0.9: WebSphere Application Server V7.0 Fix Pack 9 for Solaris
7.0.0.9: WebSphere Application Server V7.0 Fix Pack 9 for Linux
7.0.0.11: WebSphere Application Server V7.0 Fix Pack 11 for IBM i
7.0.0.11: WebSphere Application Server V7.0 Fix Pack 11 for Windows
7.0.0.11: WebSphere Application Server V7.0 Fix Pack 11 for HP-UX
7.0.0.11: WebSphere Application Server V7.0 Fix Pack 11 for AIX
7.0.0.11: Java SDK 1.6 SR7 Cumulative Fix for WebSphere Application Server
7.0.0.11: WebSphere Application Server V7.0 Fix Pack 11 for Solaris
7.0.0.11: WebSphere Application Server V7.0 Fix Pack 11 for Linux
6.1.0.29: Java SDK 1.5 SR11 Cumulative Fix for WebSphere Application Server
6.1.0.31: Java SDK 1.5 SR11 FP1 Cumulative Fix for WebSphere Application Server
6.1.0.33: Java SDK 1.5 SR12 FP1 Cumulative Fix for WebSphere
7.0.0.13: WebSphere Application Server V7.0 Fix Pack 13 for AIX
7.0.0.13: WebSphere Application Server V7.0 Fix Pack 13 for HP-UX
7.0.0.13: WebSphere Application Server V7.0 Fix Pack 13 for IBM i
7.0.0.13: WebSphere Application Server V7.0 Fix Pack 13 for Linux
7.0.0.13: WebSphere Application Server V7.0 Fix Pack 13 for Solaris
7.0.0.13: WebSphere Application Server V7.0 Fix Pack 13 for Windows
7.0.0.13: Java SDK 1.6 SR8FP1 Cumulative Fix for WebSphere Application Server
6.1.0.35: Java SDK 1.5 SR12 FP2 Cumulative Fix for WebSphere
7.0.0.15: WebSphere Application Server V7.0 Fix Pack 15 for AIX
7.0.0.15: Java SDK 1.6 SR9 Cumulative Fix for WebSphere Application Server
7.0.0.15: WebSphere Application Server V7.0 Fix Pack 15 for HP-UX
7.0.0.15: WebSphere Application Server V7.0 Fix Pack 15 for IBM i
7.0.0.15: WebSphere Application Server V7.0 Fix Pack 15 for Linux
7.0.0.15: WebSphere Application Server V7.0 Fix Pack 15 for Solaris
7.0.0.15: WebSphere Application Server V7.0 Fix Pack 15 for Windows
6.1.0.37: Java SDK 1.5 SR12 FP3 Cumulative Fix for WebSphere
7.0.0.17: WebSphere Application Server V7.0 Fix Pack 17
7.0.0.17: Java SDK 1.6 SR9 FP1 Cumulative Fix for WebSphere Application Server
7.0.0.19: WebSphere Application Server V7.0 Fix Pack 19
7.0.0.21: WebSphere Application Server V7.0 Fix Pack 21
7.0.0.23: WebSphere Application Server V7.0 Fix Pack 23
7.0.0.25: WebSphere Application Server V7.0 Fix Pack 25
7.0.0.27: WebSphere Application Server V7.0 Fix Pack 27
7.0.0.29: WebSphere Application Server V7.0 Fix Pack 29
6.1.0.47: WebSphere Application Server V6.1 Fix Pack 47
7.0.0.31: WebSphere Application Server V7.0 Fix Pack 31
7.0.0.27: Java SDK 1.6 SR13 FP2 Cumulative Fix for WebSphere Application Server
7.0.0.33: WebSphere Application Server V7.0 Fix Pack 33
7.0.0.35: WebSphere Application Server V7.0 Fix Pack 35
6.1.0.39: Java SDK 1.5 SR12 FP4 Cumulative Fix for WebSphere Application Server
6.1.0.41: Java SDK 1.5 SR12 FP5 Cumulative Fix for WebSphere Application Server
6.1.0.43: Java SDK 1.5 SR13 Cumulative Fix for WebSphere Application Server
6.1.0.45: Java SDK 1.5 SR14 Cumulative Fix for WebSphere Application Server
6.1.0.47: Java SDK 1.5 SR16 Cumulative Fix for WebSphere Application Server
7.0.0.19: Java SDK 1.6 SR9 FP2 Cumulative Fix for WebSphere Application Server
7.0.0.21: Java SDK 1.6 SR9 FP2 Cumulative Fix for WebSphere
7.0.0.23: Java SDK 1.6 SR10 FP1 Cumulative Fix for WebSphere
7.0.0.25: Java SDK 1.6 SR11 Cumulative Fix for WebSphere Application Server
7.0.0.27: Java SDK 1.6 SR12 Cumulative Fix for WebSphere Application Server
7.0.0.29: Java SDK 1.6 SR13 FP2 Cumulative Fix for WebSphere Application Server
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
APAR status
Closed as program error.
Error description
A deadlock was seen when a JMSException was thrown by com/ibm/ejs/jms/JMSSessionHandle.enlist when an MDB was using a listener port to process messages from a WebSphere MQ queue. A javacore of the server experiencing the deadlock showed a thread from the MessageListenerThreadPool with this stack trace: "MessageListenerThreadPool : 2" at java/lang/Object.wait(Native Method) at java/lang/Object.wait(Object.java:199(Compiled Code)) at com/ibm/mq/jms/MQQueueAgentThread.waitForEnd (MQQueueAgentThread.java:293) at com/ibm/mq/jms/MQQueueAgent.removeBrowser (MQQueueAgent.java:1285) at com/ibm/mq/jms/MQConnectionBrowser.close (MQConnectionBrowser.java:607) at com/ibm/mq/jms/MQConnectionConsumer.close (MQConnectionConsumer.java:464) at com/ibm/ejs/jms/listener/MDBListenerImpl.internalStop (MDBListenerImpl.java:910) at com/ibm/ejs/jms/listener/JMSExceptionListener.onException (JMSExceptionListener.java:118) at com/ibm/ejs/jms/JMSManagedConnection.onException (JMSManagedConnection.java:1262) at com/ibm/ejs/jms/JMSManagedConnection.cleanup (JMSManagedConnection.java:955(Compiled Code)) at com/ibm/ejs/j2c/MCWrapper.cleanup(MCWrapper.java:1455 (Compiled Code)) at com/ibm/ejs/j2c/FreePool.cleanupAndDestroyMCWrapper (FreePool.java:703(Compiled Code)) at com/ibm/ejs/j2c/FreePool.returnToFreePool (FreePool.java:476(Compiled Code)) at com/ibm/ejs/j2c/PoolManager.release (PoolManager.java:1780(Compiled Code)) at com/ibm/ejs/j2c/MCWrapper.releaseToPoolManager (MCWrapper.java:2287(Compiled Code)) at com/ibm/ejs/j2c/MCWrapper.connectionErrorOccurred (MCWrapper.java:2400) at com/ibm/ejs/j2c/ConnectionEventListener. connectionErrorOccurred(ConnectionEventListener.java:447) at com/ibm/ejs/jms/JMSManagedConnection. connectionErrorOccurred(JMSManagedConnection.java:1364) at com/ibm/ejs/jms/JMSConnectionHandle. markManagedConnectionAsStale(JMSConnectionHandle.java:876) at com/ibm/ejs/jms/JMSSessionHandle. markManagedObjectsAsStale(JMSSessionHandle.java:1445) at com/ibm/ejs/jms/JMSSessionHandle.enlist (JMSSessionHandle.java:1009(Compiled Code)) at com/ibm/ejs/jms/listener/ServerSession.onMessage (ServerSession.java:651(Compiled Code)) ... While all the other threads from the MessageListenerThreadPool had stack traces like this: "MessageListenerThreadPool : 1" at com/ibm/ejs/jms/JMSConnectionHandle. markManagedConnectionAsStale(JMSConnectionHandle.java:872) at com/ibm/ejs/jms/JMSSessionHandle. markManagedObjectsAsStale(JMSSessionHandle.java:1445) at com/ibm/ejs/jms/JMSSessionHandle.enlist (JMSSessionHandle.java:1009(Compiled Code)) at com/ibm/ejs/jms/listener/ServerSession.onMessage (ServerSession.java:651(Compiled Code)) ... And the stack trace for the MQQueueAgent thread was this: "MQQueueAgent ..." at java/lang/Object.wait(Native Method) at java/lang/Object.wait(Object.java:199(Compiled Code)) at com/ibm/ejs/jms/listener/ServerSessionPool. getServerSession(ServerSessionPool.java:348(Compiled Code)) at com/ibm/mq/jms/MQConnectionConsumer$ MQConnectionConsumerMRH.deliverNow (MQConnectionConsumer.java:207 (Compiled Code)) at com/ibm/mq/jms/MQConnectionConsumer$ MQConnectionConsumerMRH.endDeliver (MQConnectionConsumer.java:114 (Compiled Code)) at com/ibm/mq/jms/MQConnectionConsumer$ MQConnectionConsumerMRH.handleMessageReference (MQConnectionConsumer.java:130 (Compiled Code)) at com/ibm/mq/jms/MQConnectionBrowser.deliver (MQConnectionBrowser.java:701(Compiled Code)) at com/ibm/mq/jms/MQQueueAgentThread.deliverMsgRef (MQQueueAgentThread.java:909(Compiled Code)) at com/ibm/mq/jms/MQQueueAgentThread.processMessage (MQQueueAgentThread.java:701(Compiled Code)) at com/ibm/mq/jms/MQQueueAgentThread.run (MQQueueAgentThread.java:1761(Compiled Code)) ...
Local fix
No workaround is currently available, though in WebSphere Application Server 7.0, users are recommended to replace their WebSphere MQ Listener Ports with Activation Specifications.
Problem summary
**************************************************************** * USERS AFFECTED: Users of IBM WebSphere Application Server * * Version 6.0, Version 6.1 or Version 7.0 * * using WebSphere MQ as a messaging provider * **************************************************************** * PROBLEM DESCRIPTION: Listener port stops consuming after a * * messaging provider throws an * * exception in transaction * * enlistment of a server session * **************************************************************** * RECOMMENDATION: * **************************************************************** A javacore of the server shows a thread from the MessageListenerThreadPool waiting at: com/ibm/mq/jms/MQQueueAgentThread.waitForEnd While all of the other threads from the MessageListenerThreadPool are in: com/ibm/ejs/jms/JMSConnectionHandle.markManagedConnectionAsStale And the MQQueueAgent thread is waiting at: com/ibm/ejs/jms/listener/ServerSessionPool.getServerSession WSVR0605W log entries are written to the JVM logs stating that threads in theMessageListenerThreadPool pool may have hung. The deadlock blocks all threads attempting further JMS messaging, and might prevent the application server from shuting down. This problem only occurs if there are the same number or more messages on the queue that is being consumed from than the Maximum sessions setting on the listener port.
Problem conclusion
The fix for this APAR ensures that only one message listener thread attempts to clean up the managed connection so that the remaining message listener threads can process messages, allowing the MQQueueAgent thread to shutdown and thus preventing the deadlock from occurring. The fix for this APAR is currently targeted for inclusion in fix pack 6.0.2.41, 6.1.0.29 and 7.0.0.7. 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
PK91465
Reported component name
PLAT MSG COM
Reported component ID
620600101
Reported release
200
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2009-07-15
Closed date
2009-07-31
Last modified date
2010-03-10
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
PLAT MSG COM
Fixed component ID
620600101
Applicable component levels
R200 PSY
UP
Document Information
Modified date:
29 December 2021