IBM Support

PH58940: ABN=602-00000000,U=XXXXXXXX,C=MQ900.920.MMC -CSQM1P1W,M=CSQGFRCV,PSW=XXXXXXXXXXXXXXXX,ASID=XXXX

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • An application is designed to execute ATTACH and DETACH macros.
    
    When DETACH is executed, abend 13E and 602 happened.
    
    The abend 602 occurred in CSQM1P1W when trying to do a
    cross-memory post to a getter's handle with post code
    MQEC_WAIT_INTERVAL_EXPIRED. This happens when the WaitInterval
    on an MQGET was exceeded. The abend is occurring because the
    ASCB address being passed to the POST is 0. The ASCB is
    obtained from the ASCE MQ control block, but the ASCE being
    used isn't marked as allocated and thus doesn't contain the
    correct ASCB address.
    
    The outstanding get wait timers are usually cleaned up during
    end of task (EOT) for the TCB, but this hasn't happen. CSQ3RRSM
    was called for context manager EOT and issued an abort of the
    RRS transaction. This results in an SRB being scheduled to
    CSQRUCA3 in the QMGR to complete the abort processing and the
    requesting TCB suspending awaiting completion of this request.
    While the TCB was suspended, it was abended S013E by the TCB
    being detached. This results in subsequent cleanup processing
    in CSQ3RRSM being skipped.
    
    Recovery for CSQ3RRSM removes the ACE from the VLCAAACE chain,
    which means that later end of memory (EOM) processing for the
    address space doesn't deallocate the agent and cancel the get
    wait timer.
    additional keyword ABEND602
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All users of IBM MQ for z/OS Version 9       *
    *                 Release 2 Modification 0 and                 *
    *                 Release 3 Modification 0.                    *
    ****************************************************************
    * PROBLEM DESCRIPTION: Various problems can occur when an      *
    *                      application detaches a TCB associated   *
    *                      with an RRS context (including the      *
    *                      native context) while the TCB is        *
    *                      already ending.                         *
    *                      Symptoms can include:                   *
    *                       - abend 602 in CSQM1P1W                *
    *                       - unclosed handles on a queue,         *
    *                         preventing e.g. CLEAR QUEUE          *
    *                       - abend 0C4 in CSQVEUS2, followed      *
    *                         by abnormal queue manager            *
    *                         termination S6C6                     *
    *                       - 0C4 abends recorded in logrec during *
    *                         recovery processing                  *
    *                       - critical queue manager threads       *
    *                         hanging, leading to unpredictable    *
    *                         results                              *
    ****************************************************************
    An application with TCBs that were/had been connected to MQ
    issued a DETACH macro to abend the TCBs.
    
    When the TCB is already ending, and there is MQ work associated
    with the TCB's current or native RRS context, MQ's end context
    exit is called during end of task processing. If this exit is
    then interrupted by the DETACH macro, errors in recovery
    processing can result in symptoms such as unexpected abends, or
    object handles not being correctly closed.
    
    If the context ACE is left in a must complete state (for example
    holding one or more latches), the queue manager should be
    terminated, however this state is not detected, potentially
    resulting in critical queue manager processing hanging.
    

Problem conclusion

  • Recovery processing for the MQ RRS End Context Exit is changed
    to close open handles associated with the context ACE for the
    ending context, and to improve serialisation with local memory
    termination processing.
    The MQ RRS exits will also terminate the queue manager
    abnormally S6C6 if the context ACE is found to have unreleased
    latches at the end of normal or recovery processing to protect
    the queue manager's integrity.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH58940

  • Reported component name

    IBM MQ Z/OS V9

  • Reported component ID

    5655MQ900

  • Reported release

    200

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    YesHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2023-12-27

  • Closed date

    2024-02-08

  • Last modified date

    2024-03-03

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

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

    UI95607 UI95608

Modules/Macros

  • CSQ3RRSF CSQ3RRSM CSQ3RRXF CSQ3TRAC CSQARIB  CSQVASTM
    

Fix information

  • Fixed component name

    IBM MQ Z/OS V9

  • Fixed component ID

    5655MQ900

Applicable component levels

  • R200 PSY UI95608

       UP24/02/14 P F402 ¢

  • R300 PSY UI95607

       UP24/02/14 P F402 ¢

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":"BU048","label":"IBM Software"},"Product":{"code":"SSYHRD","label":"IBM MQ"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"200","Line of Business":{"code":"LOB67","label":"IT Automation \u0026 App Modernization"}}]

Document Information

Modified date:
04 April 2024