IBM Support

PM51907: HANG IN ASYNC CONSUME PROCESSING WHEN AN MDB IS LISTENING ON A NON-DURABLE SUBSCRIPTION AND IS CONNECTING TO THE QSG NAME

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • When the MDB listener starts, an async consumer TCB is created
    to monitor the subscription's queue for messages. When the first
    message is found, the MQ async consume code performs a
    callback on the async consume TCB to drive the JMS code for
    processing the message.
    
    Part of this code creates a new Server Session (still on the
    async consume TCB). This alters the current context for the
    hconn on which the call is made.
    
    The actual execution of the MDB is then handled off to another
    TCB, and the async consume TCB goes back to monitoring for
    messages.
    
    Because the context has been changed, the queue manager detects
    that there are no active callbacks for the current context, and
    fails the call. This causes the async consume thread to go into
    a wait and process no more messages
    .
    Additional Symptoms:
    .
    MQRC_NO_CALLBACKS_ACTIVE
    .
    A poison message processing can alters the context details for
    the
    thread, and these aren't correctly restored before returning to
    the
    async consumer processing. The async consumer attempts to
    request
    messages using the wrong context, and the resulting
    MQRC_NO_CALLBACKS_ACTIVE error causes the async consume
    thread to terminate without any notification being passed back
    to the JMS code.
    .
    Looking on the GTF trace, I can see that an MQ call from an
    async consumer task failed with MQRC 2446 =
    MQRC_NO_CALLBACKS_ACTIVE.
    .
    Example:
    ...........
    USRD9 5EA ASCB 00FC8B80            JOBN XXXXX
    CSQW073I EXIT:  MQ user parameter trace
    INTERNAL_SPIGETM
        Thread... 1538C398  Userid... 00000000  00000000
        pGMO..... 1D0EB200  BufferL.. 0000034B  pBuffer.. 25850000
    MQRC_NO_CALLBACKS_ACTIVE
    ...
    Hobj..... 00000000  pMsgDesc. 1D0EB090
    DataL.... 00000000  SPIGMO... 1D0EB360
    

Local fix

  • This error can be bypassed if the customer is able to change
    their MDB listener to connect using a specific qmgr name.
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All users of Websphere MQ for z/OS Version 7 *
    *                 Release 0 Modifications 1.                   *
    ****************************************************************
    * PROBLEM DESCRIPTION: When an MDB in WSAS is listening in     *
    *                      bindings mode using pub/sub on a        *
    *                      non-durable subscription and the        *
    *                      connection name given is a QSG, a       *
    *                      MQRC2446 may be returned and the        *
    *                      listener appear to hang.                *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    An MDB listener is configured in WSAS to connect to the QSG
    group name in bindings mode.  The listener is monitoring for
    messages using a non-durable subscription to a topic.
    
    When the listener is started, the subscription is created, and
    an async consume process is started to monitor the
    subscription's queue for messages.
    
    The first message arrives, and the async consume thread drives
    the message callback function in the JMS code.
    
    The message is delivered to the MDB and is processed
    successfully.
    
    During the processing of the first message the MDB alters the
    context on the bloa being used by the async consumer.
    
    When the async consumer tries to check for another message, it
    fails with MQRC_NO_CALLBACKS_ACTIVE (MQRC2446).
    
    The async consumer hangs, and no further messages are processed
    for the listener.
    
    The problem occurs because the context required to determine the
    registered callback functions is not restored after a callback
    function has reset it.
    

Problem conclusion

  • The async consumer code has been changed to ensure the context
    in the bloa is restored following the return from a callback
    function.
    010Y
    CSQBLB1
    CSQBLB1X
    CSQBLB16
    CSQBLB2
    CSQBLB2X
    CSQBLB26
    CSQBLB3
    CSQBLB3X
    CSQBLB36
    CSQBLB4X
    CSQBLB46
    CSQBLB5X
    CSQBLB56
    CSQBMCSM
    CSQBMCST
    CSQBMCS2
    

Temporary fix

Comments

APAR Information

  • APAR number

    PM51907

  • Reported component name

    WMQ Z/OS V7

  • Reported component ID

    5655R3600

  • Reported release

    010

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2011-11-09

  • Closed date

    2012-03-20

  • Last modified date

    2013-08-14

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

    PM60244 UK77191

Modules/Macros

  • CSQBLB1  CSQBLB1X CSQBLB16 CSQBLB2  CSQBLB2X
    CSQBLB26 CSQBLB3  CSQBLB3X CSQBLB36 CSQBLB4X CSQBLB46 CSQBLB5X
    CSQBLB56 CSQBMCSM CSQBMCST CSQBMCS2
    

Fix information

  • Fixed component name

    WMQ Z/OS V7

  • Fixed component ID

    5655R3600

Applicable component levels

  • R010 PSY UK77191

       UP12/04/11 P F204

Fix is available

  • Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.

[{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19M","label":"APARs - z\/OS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.0.1","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
14 August 2013