A fix is available
APAR status
Closed as program error.
Error description
The WebSphere MQ classes for JMS client libraries hang when using the the 7.0.1.7 version. This occurred when a message listener was set on a JMS connection which has been started. Upon examination of a Java thread dump when the hang had occurred shows the following stack: at java/lang/Object.wait(Native Method) at java/lang/Object.wait(Bytecode PC:3(Compiled Code)) at com/ibm/msg/client/commonservices/ReentrantMutex.acquire(Byteco de PC:175(Compiled Code)) at com/ibm/msg/client/commonservices/ReentrantMutex.acquire(Byteco de PC:3(Compiled Code)) at com/ibm/msg/client/jms/internal/JmsMessageProducerImpl.send_(By tecode PC:84) at com/ibm/msg/client/jms/internal/JmsMessageProducerImpl.send(Byt ecode PC:56) at com/ibm/rcp/integrator/queuedispatchersvc/impl/QueueDispatcherI nBoundMessageListener.handleFragmentedFileMessages(Bytecode PC: 1086) at com/ibm/rcp/integrator/queuedispatchersvc/impl/QueueDispatcherI nBoundMessageListener.onMessage(Bytecode PC:619) at com/ibm/msg/client/jms/internal/JmsMessageConsumerImpl$JmsProvi derMessageListener.onMessage(Bytecode PC:246) at com/ibm/msg/client/mqtt/internal/ProviderMessageConsumerMqttImp l$MessageListener.messageArrived(Bytecode PC:18) at com/ibm/mqttclient/v4/internal/extended/MqttConsumerImpl.messag eArrived(Bytecode PC:42) at com/ibm/mqttclient/v4/internal/extended/MqttSessionImpl.run(Byt ecode PC:117) at java/lang/Thread.run(Bytecode PC:13)
Local fix
None; use 7.0.1.6 JMS Client libraries.
Problem summary
**************************************************************** USERS AFFECTED: Users of message listeners in standalone applications using WebSphere MQ classes for JMS, including versions: v7.0.1.7 v7.0.1.8 Platforms affected: All Distributed (iSeries, all Unix and Windows) +Java +Java zOS **************************************************************** PROBLEM SUMMARY: This hang state occurred when the following sequence of events is used: 1. A JMS Connection is created and started. 2. A JMS Session is created from the Connection, and a MessageConsumer is created from this Session. 3. The setMessageListener method is invoked on the MessageConsumer to create a message listener. 3. The message listener's onMessage() method is invoked, during which the same Session that the MessageConsumer was created under is used. For example, a message is sent to a Destination where the MessageProducer created from the Session. A lock on the Session object was acquired while setting the message listener which was not released when the Session switched from synchronous mode to asynchronous mode while setting the message listener. This subsequently led to a thread hang where a Object.wait() method call was called, with no other thread to notify and stop the wait() from being indefinite. This behaviour was introduced by the APAR IV00757, which was associated with changing the locking behaviour of MessageConsumers and Sessions to avoid a deadlock. This APAR, IV00757, was included in the WebSphere MQ classes for JMS fix pack 7.0.1.7.
Problem conclusion
The code was modified such that the lock is released when the method to set the message listener on the message consumer completes. This means that when the Session is used within the onMessage() implementation, the lock can be acquired and the thread does not hang. | MDVREGR 7.0.1-WS-MQ-AixPPC64-FP0006 | | MDVREGR 7.0.1-WS-MQ-HpuxIA64-FP0006 | | MDVREGR 7.0.1-WS-MQ-HpuxPaRISC64-FP0006 | | MDVREGR 7.0.1-WS-MQ-LinuxIA32-FP0006 | | MDVREGR 7.0.1-WS-MQ-LinuxPPC64-FP0006 | | MDVREGR 7.0.1-WS-MQ-LinuxS390X-FP0006 | | MDVREGR 7.0.1-WS-MQ-LinuxX64-FP0006 | | MDVREGR 7.0.1-WS-MQ-SolarisSparc64-FP0006 | | MDVREGR 7.0.1-WS-MQ-SolarisX64-FP0006 | | MDVREGR 7.0.1-WS-MQ-Windows-FP0006 | | MDVREGR 7.0.1-WS-MQ-AixPPC64-FP0007 | | MDVREGR 7.0.1-WS-MQ-HpuxIA64-FP0007 | | MDVREGR 7.0.1-WS-MQ-HpuxPaRISC64-FP0007 | | MDVREGR 7.0.1-WS-MQ-LinuxIA32-FP0007 | | MDVREGR 7.0.1-WS-MQ-LinuxPPC64-FP0007 | | MDVREGR 7.0.1-WS-MQ-LinuxS390X-FP0007 | | MDVREGR 7.0.1-WS-MQ-LinuxX64-FP0007 | | MDVREGR 7.0.1-WS-MQ-SolarisSparc64-FP0007 | | MDVREGR 7.0.1-WS-MQ-SolarisX64-FP0007 | | MDVREGR 7.0.1-WS-MQ-Windows-FP0007 | --------------------------------------------------------------- The fix is targeted for delivery in the following PTFs: Version Maintenance Level v7.0 7.0.1.9 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
IV15882
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-21
Closed date
2012-05-28
Last modified date
2013-11-28
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
[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSDEZSF","label":"IBM WebSphere MQ Managed File Transfer for z\/OS"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.0.1","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]
Document Information
Modified date:
31 March 2023