IBM Support

IC64514: MULTI-THREADED WMQ V7 ASYNCHRONOUS JMS MESSAGE CONSUMER HANGS WHEN ISSUING A COMMIT AND STOP ON THE SAME CONNECTION OBJECT

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • A multi-threaded WebSphere MQ v7 asynchronous JMS Message
    consumer hangs when one thread receives a message and
    issues a commit on the session, and another thread issues
    a stop on the same connection object used by the first
    thread which is yet to commit the message.
    .
    Both these threads end up in a hung state. The following
    exception stack trace can be seen in the java cores
    indicating a hang when committing the session:
    .
    4XESTACKTRACE at com/ibm/msg/client/jms/internal/
    JmsSessionImpl.commit(Bytecode PC:20)
    4XESTACKTRACE at com/ibm/mq/jms/MQSession.commit
    (Bytecode PC:20)
    4XESTACKTRACE at com/ibm/micro/internal/bridge/
    connection/jms/common/JMSBridgeConnection.
    commitMsgFromListener(Bytecode PC:19)
    4XESTACKTRACE at com/ibm/micro/internal/bridge/Pipe.
    putIncomingPointToPointMessage
    (Bytecode PC:378)
    4XESTACKTRACE at com/ibm/micro/internal/bridge/Pipe.
    putIncomingMessage(Bytecode PC:40)
    4XESTACKTRACE at com/ibm/micro/internal/bridge/Pipe.
    handleInboundBridgeMessage(BytecodePC
    :409(Compiled Code))
    4XESTACKTRACE at com/ibm/micro/internal/bridge
    /connection/jms/common/JMSBridgeConnection.
    incomingMessageArrived(Bytecode PC:50)
    4XESTACKTRACE at com/ibm/micro/internal/bridge
    /connection/jms/common/
    JMSBridgeMessageListener$MQJMSListener
    .onMessage(Bytecode PC:19)
    4XESTACKTRACE at com/ibm/mq/jms/MQMessageConsumer$
    FacadeMessageListener.onMessage
    (Bytecode PC:159)
    4XESTACKTRACE at com/ibm/msg/client/jms/internal/
    JmsMessageConsumerImpl$JmsProviderMessage
    Listener.onMessage(Bytecode PC:205)
    4XESTACKTRACE at com/ibm/msg/client/wmq/v6/jms/internal/
    MQMessageConsumer.receiveAsync(Bytecode
    PC:392(Compiled Code))
    4XESTACKTRACE at com/ibm/msg/client/wmq/v6/jms/internal/
    SessionAsyncHelper.run(Bytecode PC:655)
    .
    .
    The thread hung while closing the connection is:
    .
    4XESTACKTRACE at java/lang/Object.wait(Native Method)
    4XESTACKTRACE at java/lang/Object.wait(Bytecode PC:3
    (Compiled Code))
    4XESTACKTRACE at com/ibm/msg/client/wmq/v6/jms/internal/
    SessionAsyncHelper.waitForPaused
    (Bytecode PC:63)
    4XESTACKTRACE at com/ibm/msg/client/wmq/v6/jms/internal/
    MQSession.stop(Bytecode PC:91)
    4XESTACKTRACE at com/ibm/msg/client/jms/internal/
    JmsSessionImpl.stop(Bytecode PC:256)
    4XESTACKTRACE at com/ibm/msg/client/jms/internal/
    JmsSessionImpl.stop(Bytecode PC:16)
    4XESTACKTRACE at com/ibm/msg/client/jms/internal/
    JmsConnectionImpl.stop(Bytecode PC:80)
    4XESTACKTRACE at com/ibm/mq/jms/MQConnection.stop
    (Bytecode PC:20)
    

Local fix

Problem summary

  • ****************************************************************
    USERS AFFECTED:
    This issue affects users of the WebSphere MQ classes for Java
    Message Service (JMS) whose applications access the JMS session
    object from within an onMessage method.
    
    Platforms affected:
    All Distributed (iSeries, all Unix and Windows) +Java
    ****************************************************************
    PROBLEM SUMMARY:
    The hang condition occurs due to a dead-lock between the thread
    issuing a JMS connection stop, and the thread issuing the commit
    whilst within the onMessage method.
    

Problem conclusion

  • To prevent the hang condition occurring, the WebSphere MQ
    classes for JMS have been updated to not obtain the lock
    required for stopping until the onMessage has completed.
    
    ---------------------------------------------------------------
    The fix is targeted for delivery in the following PTFs:
    
                       v7.0
    Platform           Fix Pack 7.0.1.2
    --------           --------------------
    Windows            U200316
    AIX                U829807
    HP-UX (PA-RISC)    U829678
    HP-UX (Itanium)    U829681
    Solaris (SPARC)    U829806
    Solaris (x86-64)   U829680
    iSeries            tbc_p700_0_1_2
    Linux (x86)        U829677
    Linux (x86-64)     U829676
    Linux (zSeries)    U829682
    Linux (Power)      U829679
    
    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

    IC64514

  • Reported component name

    WMQ WINDOWS V7

  • Reported component ID

    5724H7220

  • Reported release

    701

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2009-11-12

  • Closed date

    2009-12-21

  • Last modified date

    2009-12-21

  • 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 WINDOWS V7

  • Fixed component ID

    5724H7220

Applicable component levels

  • R701 PSY

       UP

[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSCPQ63","label":"APAR \/ Maintenance"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.0.1","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
21 December 2009