IBM Support

PI44947: EYUXC0023S MAXIMUM DATA CACHE LIMIT FOR MAS CACHE. CMAS TERMINATES OR WILL NOT START.

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Your CMAS terminates after issuing the following messages and
    taking an SVC dump:
    .
    EYUXC0023S Maximum data cache limit has been reached for
               MAS cache.
    EYUXC0024S The CMAS is terminating due to a previous
               error with the Cache component.
    EYUXZ0910I EYU0XZPT Dump,applid,cmasname,xxxx,CMAS,
               SSC,0012345,TRAC,EYU0XCCL,mm/dd/yyyy,hh:mm:ss.    .
    .
    Subsequent attempts to restart the CMAS may also fail with the
    same messages. Examining the SVC dump, you find the MAS
    dataspaces may be filled with control blocks that have headers
    starting with:
    .
        >EYUXCEYURXCWF
    .
    At offset +x'80' into these control blocks is a scope and
    context.
    .
    Additional Symptom(s) Search Keyword(s): KIXREVSVR
    

Local fix

  • Terminate CMAS, all MASes connected to it, and any API
    programs. This will allow the ESSS started task to delete and
    clean up so that orphaned control blocks are removed.
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All CICSPlex SM V3R2M0 Users                 *
    ****************************************************************
    * PROBLEM DESCRIPTION: When a CMAS or MAS terminates without   *
    *                      going through normal termination, for   *
    *                      example, if the region is cancelled or  *
    *                      EXEC CICS PERFORM IMMEDIATE is issued   *
    *                      against the region, storage in the MAS  *
    *                      data cache may be orphaned.             *
    *                                                              *
    *                      If this occurs enough times during the  *
    *                      life of the MAS data cache, the MAS     *
    *                      data cache storage limit may be         *
    *                      reached:                                *
    *                                                              *
    *                        EYUXC0023S Maximum data cache limit   *
    *                                   has reached for MAS cache. *
    *                                                              *
    *                      If the limit is reached while a CMAS is *
    *                      processing, the CMAS will issue the     *
    *                      following message and terminate:        *
    *                                                              *
    *                        EYUXC0024S The CMAS is terminating    *
    *                                   due to a previous error    *
    *                                   with the Cache component.  *
    *                                                              *
    *                      Restarting the CMAS will not correct    *
    *                      the situation.  Instead, the CMAS, all  *
    *                      MASes and batch API programs that were  *
    *                      connected to it must all be terminated  *
    *                      at the same time to cause the MAS data  *
    *                      cache to be deleted.                    *
    ****************************************************************
    * RECOMMENDATION: After applying the PTF that resolves this    *
    *                 APAR, all CMASes and MASes must be           *
    *                 restarted.  Note that the restarts do not    *
    *                 need to occur at the same time.              *
    ****************************************************************
    The MAS data cache is a shared data cache, which persists even
    when a CMAS terminates, as long as one MAS or batch API address
    space that was connected to CMAS when it terminated remains
    active until the CMAS is restarted.  This is called a CPSM CMAS
    warm start.  If no previously connected MAS or batch API address
    space is active when the CMAS is restarted, then the MAS data
    cache is freed, and is created new when the CMAS is restarted.
    This is called a CPSM CMAS cold start.  The setting of the CICS
    START SIT parameter has no affect on a CPSM CMAS cold or warm
    start.
    
    Four major storage areas are allocated in the MAS data cache:
    
    -  The CMAS-MAS communications area is allocated by method
       EYU0CLET (CLET) during CMAS initialization.
    
       If the CMAS terminates normally, the storage is released by
       CLET during CMAS termination.
    
    -  When a MAS connects to a CMAS, method EYU0NLGT (NLGT)
       calls method EYU0XCWF (XCWF) to allocate a block of storage
       mapped by EYURXCWH, to allow CPSM CICS task related user
       exits (TRUEs) to report certain events, for example, CICS
       resource installs and discards or transaction and system
       dump events, to the connected CMAS.
    
       If the MAS agent terminates normally, the storage is released
       by method EYU0NLRT (NLRT) during MAS agent termination.
    
    -  When CPSM MTRAN monitoring becomes active in a MAS, method
       EYU0MMCL (MMCL) calls XCWF to allocate a EYURXCWH block used
       by MAS TRUEs to collect CICS monitoring and statistics data,
       which is used to build the MLOCTRAN and MREMTRAN resource
       records for the MAS.
    
       When MTRAN monitoring ends in a MAS, either due to a PERIODEF
       ending or if the CMAS or MAS terminates, and the retention
       period for MTRAN elapses, then the storage is released by
       either method EYU0MCTK (MCTK), method EYU0MMTM (MMTM), or
       method EYU0MPCT (MPCT) in the CMAS, or method EYU0NMMC (NMMC)
       in the MAS, calling method EYU0XCBR (XCBR).  If the MTRAN
       monitoring termination is due to the CMAS or MAS terminating,
       the storage is only released if that termination is a normal
       termination.
    
    -  When CPSM HISTORY recording is active for the MAS, method
       MMCL calls XCWF to allocate a EYURXCWH block used by MAS
       TRUEs to collect CICS monitoring and statistics data, which
       is used to build the HTASK resource records for the MAS.
    
       When HISTORY monitoring ends in a MAS, either due to a
       PERIODEF ending or if the CMAS or MAS terminates, and the
       retention period for MTRAN elapses, then the storage is
       released by either MMTM or MPCT in the CMAS, or method
       EYU0NHCT (NHCT) in the MAS, calling XCBR.  If the HISTORY
       monitoring termination is due to the CMAS or MAS terminating,
       the storage is only released if that termination is a normal
       termination.
    
    The MAS data cache storage areas described above are only
    anchored in CICS storage in the CMAS and/or the MAS.  If an
    abnormal termination occurs in either a CMAS or MAS, these
    anchors are lost.  If a CPSM CMAS warm start occurs, then the
    storage is orphaned in the MAS data cache until a CPSM CMAS cold
    start next occurs.  If this continually occurs before a CPSM
    CMAS cold start occurs, then the MAS data cache limit can be
    reached, and the errors documented above will occur.
    

Problem conclusion

  • To allow the CMAS-MAS comms storage area and the EYURXCWH
    storage areas to be recoverable when a CMAS or MAS is terminated
    without going through normal termination, the following changes
    have been made:
    
    -  A new control block, called the MAS data cache warm start
       block (EYUBXCNB), has been created in the MAS data cache.
       This block will contain information about the CMAS-MAS comms
       storage allocation and the EYURXCWH allocations, that will
       allow these areas to be recoverable in the case of an
       abnormal termination of a CMAS or MAS.
    
    -  A new WORKINI function has been created for XCWF.  This
       function will be called at CMAS initialization by method
       EYU0XLBV (XLBV) and at MAS agent initialization by method
       EYU0NLRT (NLRT).  The function of the calls depends upon
       whether called in a CMAS or MAS, and whether the CMAS start
       is a CPSM CMAS cold or warm start:
    
       -  when called in a CMAS for CPSM CMAS cold start, XCWF will
          allocate the EYUBXCNB in the MAS data cache, and anchor it
          in the MAS data cache definition table (EYURXCDT).  XCWF
          will also allocate CPSM cache list structures for each of
          the four storage areas, which will be used to record
          storage allocations for the four areas.  The tokens for
          the cache lists will be stored in the EYUBXCNB.
    
       -  when called at CMAS initialization for either a CPSM CMAS
          cold or warm start or at MAS agent initialization, XCWF
          will retrieve the pointer to the EYUBXCNB from the MAS
          data cache EYURXCDT, and update the Cache component major
          object environment block (MOEB - EYURXCMO) so that
          subsequent calls to XCWF will have access to the cache
          lists whose tokens are stored in the EYUBXCNB.
    
       Note that the first time a CMAS is restarted with the PTF
       that resolves this APAR, it will create the EYUBXCNB whether
       or not it is a CPSM CMAS cold or warm start.
    
    -  Since CLET does not have access to the Cache component MOEB,
       it will call method EYU0XCCI (XCCI) during CMAS
       initialization to retrieve the pointer to the EYUBXCNB, and
       will store the cache list token it needs from there in its
       working storage, which persists for the life of the CMAS.
    
    The general processing for the MAS data cache storage EYUBXCWH
    structures is as follows:
    
    -  When XCWF is called for existing function WORKFMT to
       allocate a storage area for a MAS, it will check the
       appropriate cache list to see if there is an existing storage
       allocation for that block for that MAS.
    
       -   If so, it will free the previous area and remove its
           allocation information from the cache list.  This is safe
           to do because if XCWF is called to allocate a storage
           instance for a MAS, any previous storage allocation for
           that MAS can no longer be in use.
    
       XCWF will then allocate the storage area and record its
       allocation in the cache list.
    
       Note that the reason a previous allocation is freed and then
       re-allocated is because the size of the area can change from
       one MAS execution to another.
    
    -  A new storage release function has been coded in XCWF,
       WORKREL.  All current callers of XCBR to free the EYUBXCWH
       storage areas, MCTK, MMTM, MPCT, NHCT and NMMC, have been
       updated to call XCWF for this new function instead of XCBR.
       When called for this function, XCWF will remove the cache
       list element documenting the existing storage allocation
       before freeing the storage area.
    
    -  If XCWF encounters an error when attempting to free a
       previous storage allocation, it will issue an exception trace
       and new message EYUXC0025E.  The text of this new message
       will be similar to the following:
    
         EYUXC0025E  Recovery failed for MAS data cache storage area
                     allocated for <masname> in CICSplex <plexname>.
    
    The general processing for the CMAS-MAS comms storage area has
    some differences.  First of all, it is all performed by CLET.
    Secondly, unlike the EYURXCWH areas, an existing allocation
    cannot be guaranteed to not still be in use.  Its processing is
    as follows:
    
    -  When CLET is called at CMAS initialization, it will check if
       there are at least two previous storage allocations.
    
       -  If there are, CLET will determine when the second
          allocation was made.  If made more than an hour ago, the
          first allocation is freed, and its cache list element is
          removed.  If there is a third previous allocation, and it
          was started more than an hour ago, then the second
          allocation is freed and its cache list element is removed.
          This processing will continue until a previous allocation
          that was started less than an hour ago is found, or until
          only one previous allocation remains.
    
       CLET will then allocate the storage area and record its
       allocation in the cache list.
    
    -  When the CMAS terminates normally, CLET will free the cache
       list element for the current allocation, and then will free
       the allocation.  If the CMAS has been active for at least an
       hour, then CLET will free any remaining previous allocations
       and remove their allocation elements from the cache list.
    
    -  If CLET encounters an error when attempting to free a
       previous storage allocation, it will issue an exception trace
       and new message EYUCL0135E.  The text of this new message
       will be similar to the following:
    
         EYUCL0132E  Recovery failed for MAS data cache storage area
                     allocated for this CMAS.
    

Temporary fix

  •             *********
                * HIPER *
                *********
    FIX AVAILABLE BY PTF ONLY
    

Comments

APAR Information

  • APAR number

    PI44947

  • Reported component name

    CICSTS V3 Z/OS

  • Reported component ID

    5655M1500

  • Reported release

    50M

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    YesHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2015-07-14

  • Closed date

    2015-12-01

  • Last modified date

    2016-01-04

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

    PI41563

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

    UI33495

Modules/Macros

  • EYUMCCLC EYUMCCLE EYUMCCLK EYUMCXCC EYUMCXCE EYUMCXCK EYU0CLET
    EYU0MCTK EYU0MMCL EYU0MMTM EYU0MPCT EYU0NHCT EYU0NLGT EYU0NLRT
    EYU0NMMC EYU0TSQP EYU0TSSC EYU0XCWF EYU0XLBV EYU9NAPU EYU9NAP3
    EYU9NAP4 EYU9TSPU EYU9TSP3 EYU9TSP4 EYU9XCPU EYU9XCP3 EYU9XCP4
    EYU9XCP6
    

Publications Referenced
GC34685100    

Fix information

  • Fixed component name

    CICSTS V3 Z/OS

  • Fixed component ID

    5655M1500

Applicable component levels

  • R50M PSY UI33495

       UP15/12/05 P F512 ½

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.2","Edition":"","Line of Business":{"code":"LOB35","label":"Mainframe SW"}},{"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":"3.2","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
04 January 2016