Fixes are available
APAR status
Closed as program error.
Error description
A WebSphere MQ 7 classes for JMS application hangs in a deadlock after receiving a 2009 exception 'MQRC_CONNECTION_BROKEN'. Examination of a Javacore generated from the hung system shows that the threads involved in the deadlock are: "Thread-1": waiting to lock monitor 0x08b10bec (object 0xed31de98, a com.ibm.msg.client.jms.internal.State), which is held by "Thread-2" "Thread-2": waiting to lock monitor 0x095baea0 (object 0xee0dbe80, a java.lang.Object), which is held by "Thread-3" "Thread-3": waiting to lock monitor 0x08b10bec (object 0xed31de98, a com.ibm.msg.client.jms.internal.State), which is held by "Thread-2" Java stack information for the above threads: --------------------------------------------------------------- "Thread-1": at com.ibm.msg.client.jms.internal.JmsConnectionImpl.fixClientID(J msConnectionImpl.java:1289) - waiting to lock <0xed31de98> (a com.ibm.msg.client.jms.inte rnal.State) at com.ibm.msg.client.jms.internal.JmsConnectionImpl.createSession (JmsConnectionImpl.java:572) at com.ibm.msg.client.jms.internal.JmsQueueConnectionImpl.createQu eueSession(JmsQueueConnectionImpl.java:143) at com.ibm.mq.jms.MQQueueConnection.createQueueSession(MQQueueConn ection.java:136) at com.ibm.mq.jms.MQQueueConnection.createSession(MQQueueConnectio n.java:158) --------------------------------------------------------------- "Thread-2": at com.ibm.msg.client.jms.internal.JmsSessionImpl.stop(JmsSessionI mpl.java:1995) - waiting to lock <0xee0dbe80> (a java.lang.Object) at com.ibm.msg.client.jms.internal.JmsSessionImpl.stop(JmsSessionI mpl.java:1977) at com.ibm.msg.client.jms.internal.JmsConnectionImpl.stop(JmsConne ctionImpl.java:833) - locked <0xed31de98> (a com.ibm.msg.client.jms.internal.Stat e) at com.ibm.mq.jms.MQConnection.stop(MQConnection.java:471) at com.ibm.msg.client.commonservices.j2se.workqueue.WorkQueueManag erImplementation$ThreadPoolWorker.run(WorkQueueManagerImplement ation.java:1220) --------------------------------------------------------------- "Thread-3": at com.ibm.msg.client.jms.internal.JmsConnectionImpl.fixClientID(J msConnectionImpl.java:1289) - waiting to lock <0xed31de98> (a com.ibm.msg.client.jms.inte rnal.State) at com.ibm.msg.client.jms.internal.JmsConnectionImpl.addTemporaryD estination(JmsConnectionImpl.java:1311) at com.ibm.msg.client.jms.internal.JmsSessionImpl.createTemporaryQ ueue(JmsSessionImpl.java:1316) - locked <0xee0dbe60> (a com.ibm.msg.client.jms.internal.Stat e) - locked <0xee0dbe80> (a java.lang.Object) at com.ibm.mq.jms.MQSession.createTemporaryQueue(MQSession.java:65 5)
Local fix
LOCAL FIX: Restart the application if it is running as a standalone, or restart the application server if application is running within it.
Problem summary
**************************************************************** USERS AFFECTED: This issue affects users of the WebSphere MQ V7 classes for JMS and the WebSphere MQ Resource Adapter, including users of WebSphere Application Server Version 7 and later. Platforms affected: All Distributed (iSeries, all Unix and Windows) +Java +Java zOS **************************************************************** PROBLEM SUMMARY: The problem is caused by the sequence of locks taken on one thread being different to another thread. In this case, one thread performed a createTemporaryQueue operation, and another performed a connection stop. If both threads start processing at the same time, one thread locks the session then the connection, the other thread locks the connection and then the session. As each thread holds the lock required by the other thread, a deadlock arises.
Problem conclusion
The locking performed by this code has been altered such that a deadlock can not occur. --------------------------------------------------------------- The fix is targeted for delivery in the following PTFs: v7.0 Platform Fix Pack 7.0.1.9 -------- -------------------- Windows U200337 AIX U849391 HP-UX (PA-RISC) U849723 HP-UX (Itanium) U849728 Solaris (SPARC) U849724 Solaris (x86-64) U849730 iSeries 7.0.1.9 Linux (x86) U849725 Linux (x86-64) U849729 Linux (zSeries) U849726 Linux (Power) U849727 zOS 7.0.1.9 v7.1 Platform Fix Pack 7.1.0.2 -------- -------------------- Windows 7.1.0.2 AIX 7.1.0.2 HP-UX (Itanium) 7.1.0.2 Solaris (SPARC) 7.1.0.2 Solaris (x86-64) 7.1.0.2 iSeries 7.1.0.2 Linux (x86) 7.1.0.2 Linux (x86-64) 7.1.0.2 Linux (zSeries) 7.1.0.2 Linux (Power) 7.1.0.2 zOS 7.1.0.2 The latest available maintenance can be obtained from 'WebSphere MQ Recommended Fixes' http://www-1.ibm.com/support/docview.wss?rs=171&uid=swg27006037 If the maintenance level is not yet available information on its planned availability can be found in 'WebSphere MQ Planned Maintenance Release Dates' http://www-1.ibm.com/support/docview.wss?rs=171&uid=swg27006309 ---------------------------------------------------------------
Temporary fix
Comments
APAR Information
APAR number
IV16115
Reported component name
WMQ AIX V7
Reported component ID
5724H7221
Reported release
701
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2012-02-24
Closed date
2012-02-29
Last modified date
2012-04-25
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
WMQ AIX V7
Fixed component ID
5724H7221
Applicable component levels
R701 PSY
UP
[{"Line of Business":{"code":"LOB45","label":"Automation"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSFKSJ","label":"WebSphere MQ"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.0.1"}]
Document Information
Modified date:
01 October 2021