A fix is available
APAR status
Closed as program error.
Error description
CICS is running a workload that uses the IP CICS Sockets interface with OTE=YES. The first time each task makes a socket call a USS process is created and associated with the L8/L9 TCB the task is running on. Later at task termination CICS makes a BPX1MPC call to clean up the process associated with the L8/L9 TCB. When the next task runs on the L8/L9 TCB and makes a socket call a new process is created. This can cause a fluctuation in the number of processes on the LPAR as clean up of USS processes is not synchronous. BPXI039I messages will be issued if the LPAR approaches the MAXPROCSYS limit. Reports may show a large number of zombie processes (processes currently being terminated). If the number of processes reaches the MAXPROCSYS limit then CICS tasks may abend EC6/AKEB. The abend EC6 will have reason 0F01C008 indicating: C008 The calling process cannot be dubbed. The following may also be observed: JRMaxChild: The maximum number of processes for this user ID has been exceeded Additional Symptoms: You just migrated to CICS TS 5.5. When shutting down the region you receive many ABEND878's. Here are the messages in the log: . DFHRM0130 applid Recovery manager has successfully quiesced. IEA705I ERROR DURING GETMAIN SYS CODE = 80A-10 jobname IEA705I 00F86880 0086F788 0086F788 00E51200 00000148 IEA705I ERROR DURING GETMAIN SYS CODE = 878-10 jobname IEA705I 00F86880 0086A588 0086A588 00E61200 000000E8 . A dump from a slip on the 878 abend showed: CICS had quiesced when this dump was taken Summ Format showed there were a little over 250 TCBs. The region was out of storage below the line. There was a pattern of storage allocated to these TCBs in SP 230 SP230 K0, each having x'E8' bytes allocated. Here is what this looked like in VSMDATA 'NOG SUMM' . DQE: Addr 0083C000 Size 1000 FQE: Addr 0083C000 Size F18 . System trace showed the failing getmain for x'E8' bytes issued out of IEFJRECM+50. Browsing these x'E8' storage areas, they have eye catchers SSOB SSIB and MSTRMSTR. Here is an example: . |.....c.%....SSOB.....c.}.....c..| |.........................d.h..=.| |.............c..................| |................SSIB....MSTRMSTR| | ............................|
Local fix
This problem can be circumvented by applying PH27111 and setting the following feature toggle. This reverts the behaviour of CICS to that of CICS 5.4 and earlier where CICS does not clean up a process from a L8/L9 TCB at end of task. com.ibm.cics.ds.freeussprocesses=false Note, in other scenarios the end of task clean up added in CICS 5.5 is advantageous to ensure that L8/L9 TCBs do not retain an associated USS process unnecessarily which can also cause the MAXPROCSYS limit to be reached. Additional Keywords: Upgrade2CICS55 Upgrade2CICS56 subpool scheduler EOT End of Task
Problem summary
**************************************************************** * USERS AFFECTED: All CICS users. * **************************************************************** * PROBLEM DESCRIPTION: CICS tasks abend EC6/AKEB, BPXI039I * * messages indicate that the MAXPROCSYS * * limit has been reached. * **************************************************************** CICS is running tasks that use IP CICS Sockets with OTE=YES. The first time each task makes a socket call a USS process is created and associated with the task's L8/L9 TCB. At task termination CICS makes a BPX1MPC call to release the process. The TCB is returned to the pool for use by a subsequent task which may cause another USS process to be created. The release of USS processes is not synchronous. As a result it is possible for the number of terminating processes, also known as zombies, combined with the number of active processes to fluctuate. If the total number of processes approaches the LPAR's MAXPROCSYS limit BPXI039I messages will be issued. If the MAXPROCSYS limit is reached CICS tasks that attempt to create a process will abend EC6/AKEB. Other work on the LPAR may also abend EC6. Additional keywords: abendsEC6 abendEC6 abendsAKEB abendAKEB msgBPXI039I JRMaxChild EZACIC01
Problem conclusion
CICS has been updated so that if the IP CICS Sockets TRUE is enabled in a region then CICS will not free USS processes from L8/L9 TCBs at end of task. This allows subsequent tasks to reuse existing USS processes, preventing any fluctuation in the number of USS processes in existence. Detection of the IP CICS Sockets TRUE takes precedence over the feature toggle added by PH27111. The Knowledge Centers for CICS Transaction Server for z/OS 5.5 and 5.6 will be updated as follows. - The "Upgrading CICS regions" page will be updated to add reviewing MAXPROCSYS and MAXPROCUSER as actions applicable to upgrades from version 5.1 through 5.4. - The "The SYS1.PARMLIB(BPXPRMxx) parameters" page will be updated to provide more detail on how to calculate the MAXPROCSYS capacity required for a CICS region. An explanation of how to determine a suitable MAXPROCUSER value will also be added. FIXCAT: SWPSP/K
Temporary fix
Comments
APAR Information
APAR number
PH29073
Reported component name
CICS TS Z/OS V5
Reported component ID
5655Y0400
Reported release
200
Status
CLOSED PER
PE
NoPE
HIPER
YesHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2020-09-02
Closed date
2020-09-23
Last modified date
2024-04-22
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UI71723 UI71725
Modules/Macros
DFHDSDM DFHDSIT DFHDSITT DFHDSKE DFHUEM
Fix information
Fixed component name
CICS TS Z/OS V5
Fixed component ID
5655Y0400
Applicable component levels
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":"SSGMGV","label":"CICS Transaction Server"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"5.5","Line of Business":{"code":"LOB70","label":"Z TPS"}}]
Document Information
Modified date:
22 April 2024