IBM Support

PH55518: WUI IN HUNG DUE TO A 0C4 ABEND IN CTST METHOD

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • The send task (method CLCS) calls method CTST to perform
    cleanup, passing the address of this CTSB, but the storage at
    that location is no longer valid,  leading to the 0C4 program
    check in CTST.
    .
    This problem leads to a lock being held in a CMAS. The symptoms
    of this can manifest as a hang in the WUI, CICS Explorer, or a
    CPSM API program. If a dump is taken of the CMAS, WUI region,
    ESSS and dataspaces (typical for CPSM problem determination) and
    it's looked at with IPCS command
    .
    VERBX EYU9D#### 'TASKS,JOB=cmasjob'
    .
    You would likely see the hung API task waiting out of a call
    from CPSM method CAMU (EYU0CAMU). It would typically look
    similar to the following:
    .
     Task Meth Load-Pt  OPB      OSSB     Stack    Mal      MODB
    12345 XLOP 000AB028 2F1D65D0 2F1D67D0 2F1D67F8 00000000 2D6C3000
    12345 XDNR 2EB7B8C0 2F1D65D0 2F1D67D0 2F1D6960 2F1103EC 2D6CD500
    12345 XDH7 2EB6DE98 2F1D65D0 2F024000 2F024190 2F1D7350 2D6CD500
    12345 MOMS 2EB28548 2F1D65D0 2F57C000 2F57C190 2F024600 2D6CD500
    12345 XLSI 2E0D82F8 2F1D65D0 2F57C000 2F57C9D0 2F57C6CC 2D6C3000
    12345 XLSD 2E0D62A0 2F1D65D0 2F57C000 2F57D1D8 2F57CD98 2D6C3000
    12345 BACO 2EE35450 2F1D65D0 2F57C000 2F57EAB8 2F4B7AB4 2D6DDD00
    12345 XDUP 2EB9C168 2F1D65D0 2F020000 2F020190 2F57EDD8 2D6CD500
    12345 XDCB 2EB53678 2F1D65D0 2F020000 2F021DE8 2F0202E8 2D6CD500
    12345 XDSR 2EB99620 2F1D65D0 2F020000 2F022038 2F021F20 2D6CD500
    12345 CAMU 2E52DD58 2F1D65D0 2F020000 2F022590 2F022450 2D6D1700
    12345 XSWX 2E37F628 2F1D65D0 2F020000 2F0229F8 2F0227A8 2D6C9300
    .
    Note the next to the last method is CAMU, which does a
    synchronous plex-wide broadcast, followed by XSWX which is where
    CPSM wait for the response to return from all the CMASs we've
    asked to report back.
    .
    Using the STACK address for CAMU from the above task method
    list, these are significant fields (the storage is in the CMAS
    address space)
    .
    CAMS_SEND_COUNT   CAMU stack +x'290' - halfword number of CMASes
                                           we asked for a response
                                           from
    CAMS_RESULT_COUNT CAMU stack +x'292' - halfword number of
                                           responses we've gotten
                                           so far
    LOCL_MALTBL_ADDR  CAMU stack +x'450' - address of an array of
                                           MALs.
                                           For example 2F4F7F70.
    .
    Using the address found at LOCL_MALTBL_ADDR above and the ASID
    of the CMAS, the following command can be issued to list all the
    MAL requests to CMASes
    .
    RUNARRAY ADDRESS(2F4F7F70) ASID(X'1234') LEN(X'7C') STR DIM(24)
    .
    At +x'56' into each element is x'01' if that CMAS has responded,
    or x'00' if it has not responded and we're still waiting. It
    would be that CMAS that has a held lock due to the abend in CTST
    being resolved by this APAR.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All CICSPlex SM users                        *
    ****************************************************************
    * PROBLEM DESCRIPTION: Abend S0C4 occurs at offset x9B0 in     *
    *                      method CTST (EYU0CTST).                 *
    *                      The abend occurs under transaction ID   *
    *                      LNCS or LNMS, with the following stack: *
    *                      Methods=CTST,CLCS,XLOP.                 *
    *                      At the time of the abend, general       *
    *                      register 10 (GR10) is set to zero.      *
    *                                                              *
    *                      +EYUXL0905E ASRA IN CTST,               *
    *                                  OFFSET 000009B0             *
    ****************************************************************
    * RECOMMENDATION: After applying the PTF which resolves        *
    *                 PH55518, all CMASs must be restarted to      *
    *                 activate the fix.                            *
    *                 The restarts do not need to occur at the     *
    *                 same time, and may occur in any order.       *
    ****************************************************************
    A direct CMAS to CMAS connection consists of a send task
    and a receive task in each CMAS. The send task runs under either
    transaction ID LNMS (MRO) or LNCS (LU62), while the receive task
    transaction ID is either LNMI or LNCI accordingly.
    When a CMAS-CMAS link terminates, some clean up will be
    performed by whichever of these tasks (send or receive)
    finishes first. This includes releasing CTSB blocks and
    associated storage areas for requests waiting on the outgoing
    send queues, which have yet to be sent.
    When the send task terminates it must also clear up any
    remaining storage associated with data remaining to be
    transmitted in a multi-packet message set.
    The send task will call method  CTST (EYU0CTST) to perform this
    clean up processing in the case where CLCB_RELO_MAL is set to a
    non-zero value.
    This field contains the address of a CTSB for which one
    or more packets have been sent for a multi-packet packet set.
    
    In the reported problem, the corresponding receive task
    had terminated a considerable time earlier, and had already
    released that CTSB.
    Method CTST was called to do clean up (CLEAN_TSPBLK), and was
    passed an address that had already been re-used for a new
    purpose. Register 10 was loaded from field CTSB_SRV_BLK in
    this CTSB, but that value was nulls.
    The S0C4 abend occurs when R10 is referenced to load CTSR_AGDS.
    
    CTST also updates the CTSB area it is passed by setting the
    CTSB_STATUS field to CTSB_IN_PROG.
    In the reported problem, this incorrectly updated another
    pending CTSB. The effect was that, that message was not able
    to be transmitted, or timed out. This led to a backup of locks
    within the CMAS network.
    
    Additional Keywords: CMSND2F AZTI
    

Problem conclusion

  • MAL clean up processing performed by method CTDM (EYU0CTDM)
    has been updated to ensure that any CTSB referenced from
    CLCB_RELO_MAL is not released.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH55518

  • Reported component name

    CICS TS Z/OS V6

  • Reported component ID

    5655YA100

  • Reported release

    40M

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2023-07-01

  • Closed date

    2023-07-07

  • Last modified date

    2023-08-01

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

    PH54914

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

    UI92631

Modules/Macros

  • EYU0CLCS EYU0CLCU EYU0CLMS EYU0CLMU EYU0CTDM
    

Fix information

  • Fixed component name

    CICS TS Z/OS V6

  • Fixed component ID

    5655YA100

Applicable component levels

  • R40M PSY UI92631

       UP23/07/10 P F307

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":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSGMGV","label":"CICS Transaction Server"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"6.1","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]

Document Information

Modified date:
01 August 2023