IBM Support

IC64483: ASYNCHRONOUS JMS CONSUMER HANGS WHEN STOPPING A CONNECTION WHEN AN EXCEPTION IS DELIVERED TO THE EXCEPTIONLISTENER

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • A WebSphere MQ asynchronous Java Message Service (JMS) Message
    consumer using WebSphere MQ (WMQ) v7 client jars and connecting
    to a WebSphere MQ v6 queue manager hangs when it attempts to
    close a connection object using connection.close() if there was
    an exception delivered to ExceptionListener registered with the
    connection.
    
    .
    The following exception stack trace can be seen in the java
    cores indicating a hang in the waitForPaused method:
    .
    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:32)
    4XESTACKTRACE    at com/ibm/msg/client/wmq/v6/jms/internal/
    MQSession.stop(Bytecode PC:91)
    4XESTACKTRACE    at com/ibm/msg/client/jms/internal/JmsSession
    Impl.stop(Bytecode PC:256)
    4XESTACKTRACE    at com/ibm/msg/client/jms/internal/JmsSession
    Impl.stop(Bytecode PC:16)
    4XESTACKTRACE    at
    com/ibm/msg/client/jms/internal/JmsConnection
    Impl.stop(Bytecode PC:80)
    4XESTACKTRACE    at com/ibm/mq/jms/MQConnection.stop(Bytecode
    PC:20)
    4XESTACKTRACE    at com/ibm/micro/internal/bridge/connection/
    jms/common/JMSBridgeConnection.disconnect
    (Bytecode PC:43)
    4XESTACKTRACE    at com/ibm/micro/internal/bridge/connection/
    jms/common/JMSBridgeConnection.shutdown
    (Bytecode PC:46)
    4XESTACKTRACE    at com/ibm/micro/internal/bridge/Pipe.shutdown
    Receive(Bytecode PC:64)
    4XESTACKTRACE    at com/ibm/mqttdirect/core/Dispatcher.dispatch
    (Bytecode PC:329(Compiled Code))
    4XESTACKTRACE    at com/ibm/mqttdirect/core/Dispatcher.run
    (Bytecode PC:1(Compiled Code))
    4XESTACKTRACE    at java/lang/Thread.run(Bytecode PC:13)
    .
    This was seen when using the MicroBroker Bridge Dispatcher
    which uses WMQ JMS. The problem can also occur without
    the use of the MicroBroker.
    .
    KEY WORDS:
    MicroBroker Bridge Dispatcher
    

Local fix

Problem summary

  • ****************************************************************
    USERS AFFECTED:
    This issue affect users with a multi-threaded asynchronous JMS
    consumer application using WebSphere MQ v7 client jars to
    connect to WebSphere MQ v6 queue manager and which have an
    ExceptionListener registered with the connection.
    
    Platforms affected:
    All Distributed (iSeries, all Unix and Windows) +Java
    ****************************************************************
    PROBLEM SUMMARY:
    In a multi threaded environment, when the same connection object
    is shared across multiple threads, when an attempt is made to
    stop the connection by one thread and if an exception is
    delivered to the ExceptionListener registered with the
    connection at the same instance an hang can occur due to the
    same resource accessed by different threads.
    

Problem conclusion

  • APAR IC64514 and IC61714 addressed issues related to avoiding
    hang situations when a connection broken event occurs. But under
    specific scenarios (primarily a thread timing issue) the same
    object is used by two or more threads using the same connection
    object. Hence, when the connection.stop() is invoked, the
    threads wait on each other for the object to be released and
    hence the hang.
    The code has been modified to ensure that once the exception is
    delivered to the ExceptionListener, the object held by the Async
    helper thread is released and the other waiting threads are
    notified about this thereby avoiding the hang situation.
    
    ---------------------------------------------------------------
    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

    IC64483

  • Reported component name

    WMQ WINDOWS V7

  • Reported component ID

    5724H7220

  • Reported release

    700

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2009-11-11

  • Closed date

    2009-11-25

  • Last modified date

    2009-11-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 WINDOWS V7

  • Fixed component ID

    5724H7220

Applicable component levels

  • R700 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","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
25 November 2009