IBM Support

IV16115: WEBSPHERE MQ 7 CLASSES FOR JMS APPLICATION HANGS IN A DEADLOCK AND IS UNABLE TO SEND OR RECEIVE MESSAGES

Subscribe

You can track all active APARs for this component.

 

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