A fix is available
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:
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
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