IBM Support

PK20561: SOS CMAS ECDSA FRAGEMENTED IN SUBPOOL SMSHRC31 XDF3 XDFB SPECIFY FILTER

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Your CMAS reaches SOS condition in the ECDSA while your CPSM
    application processes HTASK data.
    Your application issues GET OBJECT(TASK) 48 times in it major
    loop and issues SPECIFY FILTER six times in a minor loop.
    
     It appears that there is a "fragmentation " problem in the
    ECDSA because there is 63 MB of "current free space".
     Domain subpool SMSHRC31 is fragmented with most of the elements
    containing XDF3 blocks(MOS Filter Execute Work Areas).
     When CPSM releases storage, the eyecatcher in the block is
    normally invalidated. XDF3 eyecatchers are not invalidated
    when freed. Thus, there is no way to visuually tell if the
    code that releases storage has been executed. Invalidating
    the eyecatcher when storage is released will aid in diagnosing
    storage leaks.
    
    Additional Keyword(s) and Symptom(s) : DFHSM0133 CMAS short on
    Storage 5697E9301 R300 2.3 230
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All CICSPlex/SM V3R1M0 Users                 *
    ****************************************************************
    * PROBLEM DESCRIPTION:    You run an API program that builds   *
    *                      several filters and result sets, but    *
    *                      does not call DISCARD to release the    *
    *                      storage held on behalf of each object   *
    *                      until the thread is disconnected, by    *
    *                      the DISCONNECT or TERMINATE commands,   *
    *                      or by MVS (for API programs running in  *
    *                      a batch, TSO, or NetView environment)   *
    *                      or CICS (for API programs running in    *
    *                      a local MAS) end-of-task processing.    *
    *                      After the program has run a number of   *
    *                      times, your CMAS goes short on storage  *
    *                      in ECDSA.  Examination of the storage   *
    *                      maps shows that ECDSA is badly frag-    *
    *                      mented with many blocks of storage      *
    *                      in subpool SMSHRC31 which contain the   *
    *                      string 'XDF3'.                          *
    ****************************************************************
    * RECOMMENDATION: After applying the PTF that resolves this    *
    *                 APAR, all CMASes must be recycled to pick    *
    *                 up the new code.  Note that the restarts     *
    *                 do not need to be done at the same time.     *
    ****************************************************************
       When module EYU0XDH4 (XDH4 - API Discard Token) is called
    to release all resources held on behalf of a disconnecting
    thread, the address of the first slot in the thread's token
    index is loaded, the next-in-chain pointer value is saved, and
    the type flag is tested.  If the token is active, all storage
    held on behalf of the filter, result set, or view is released
    and the token is returned to the free queue.  The saved next-
    in-chain value is then reloaded and the process is repeated.
       The next-in-chain pointer in the thread's token index entry
    actually points to the next free entry when the current entry is
    on the free queue.  The value is not cleared when an entry is
    taken from the free queue for use, and a number of active token
    entries may be chained, but as soon as a free entry is reached,
    no further active entries will be processed.  In the extreme
    case where the first slot has been used and returned to the free
    queue, no tokens will be freed, and when the thread token and
    thread descriptor block are released, all unfreed objects will
    be orphaned.
       When API filters are discarded, the eyecatchers in the Filter
    Descriptor (EYUXDEYUBXDFD, in the DATx cache data space) and the
    Filter Execution Block (XDF3, in ECDSA) are not invalidated, so
    when examining a dump it is difficult to determine whether a
    block has actually been released by CICS FREEMAIN or by module
    EYU0XCBR (XCBR - Cache Block Release).
       During processing of the API GROUP (EYU0XDW3, XDW3) command,
    module EYU0MOFL (MOFL - Manager Object Services Extract Field
    Information) is called to retrieve default summary options for
    each field.  When the generated names EYU_CICSNAME, EYU_CICSREL,
    and EYU_RESERVED are passed, a response and reason of EXCEPTION
    and UNKNOWN_FIELD are returned by MOFL, and an exception trace
    is written.  This may cause the AUXTRACE datasets or internal
    trace buffer to wrap, overwriting trace records needed to diag-
    nose a problem.
    

Problem conclusion

  •    Module XDH4 was modified to scan the thread's token index
    sequentially, rather than by chaining through the next-in-chain
    pointer.
       Modules XDH4, EYU0XDP1 (XDP1 - API Get Command) and EYU0XDV1
    (XDV1 - API Specify Filter) were modified to insure that block
    eyecatchers are invalidated when the blocks are released.
       The common find_field_by_name routine in design file DYU0MOCM
    was modified to suppress tracing of UNKNOWN_FIELD exceptions if
    the field name is one of the generated names.  All modules which
    include the common subroutine were recompiled to pick up the
    change.
    

Temporary fix

  • FIX AVAILABLE BY PTF ONLY
    

Comments

APAR Information

  • APAR number

    PK20561

  • Reported component name

    CPSM CICS 3.1

  • Reported component ID

    5655M1501

  • Reported release

    100

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2006-03-01

  • Closed date

    2006-03-08

  • Last modified date

    2006-04-04

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

    PK19249

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

    UK12363

Modules/Macros

  •    DYU0MOAV DYU0MOCM DYU0MOFL DYU0MOFS DYU0MOFT
    DYU0MOMS DYU0MOSS DYU9MOTL EYUQXXCB EYU0MOAV EYU0MOFL EYU0MOFS
    EYU0MOFT EYU0MOMS EYU0MOSS EYU0XDH4 EYU0XDOL EYU0XDP1 EYU0XDV1
    EYU9MOTL
    

Fix information

  • Fixed component name

    CPSM CICS 3.1

  • Fixed component ID

    5655M1501

Applicable component levels

  • R100 PSY UK12363

       UP06/03/09 P F603

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"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"3.1","Edition":"","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]

Document Information

Modified date:
22 February 2023