A fix is available
APAR status
Closed as program error.
Error description
AbendSA03 occurs under the IPT TCB (Initial PTHREAD task). Kernel error data shows abendS422 occurring for the daughter S8 TCBs leading up to the abendSA03. System trace shows that the SVC3 EXIT has been issued by IEAVCVT +x'92'. At the time of the dump, CICS is not shutting down. The IPT TCB runs more or less invisibly so there is no trace or other diagnostic information produced in the run up to the abendSA03. . The problem appears to be a PTHREAD_CREATE call that failed. The dump shows that the MAXSSLTCBS SIT parameter was set to 252. However, the USS MAXTHREADS parameter is the default shipped value of 200, and there are 200 S8 TCBs currently in the system. DFHLEPT does not handle a PTHREAD_CREATE failure, and no diagnostic or error information is provided at time of abendA03.
Local fix
Ensure that the SIT parameter MAXSSLTCBS is less than the USS MAXTHREADS parameter.
Problem summary
**************************************************************** * USERS AFFECTED: All. * **************************************************************** * PROBLEM DESCRIPTION: AbendSA03 occurs under the IPT TCB * * when pthread_create fails due to * * reaching MAXTHREADS limit. * **************************************************************** * RECOMMENDATION: * **************************************************************** SIT parameter MAXSSLTCBS had been set to 252 but the UNIX System Services MAXTHREADS parameter was set to 200. Each CICS S8 TCB (used for SSL processing) uses a USS thread. CICS had already created 200 S8 TCBs. When it attempted to create another S8, the USS pthread_create call failed. The initial pthread TCB which issued the pthread_create call reacted by terminating prematurely. This lead to an SA03 abend. After the initial pthread TCB terminates, all the S8 TCBs (which are daughters of the IPT TCB) will suffer errors and all SSL functions within CICS are lost requiring the region to be recycled. There are no guidelines in the CICS documentation for setting either the USS MAXTHREADS or MAXTHREADTASKS parameters when running CICS with SSL. ADDITIONAL KEYWORDS :- A03 ABENDA03 DFHAP0001 MSGDFHAP0001 AP0001 ASRA ABENDASRA AKEA ABENDAKEA DFHSO0002 MSGDFHSO0001 SO0001 0814 DFHXS0001 MSGDFHXS0001 0A8A DFHSM0002 MSGDFHSM0002 SM0002 0320
Problem conclusion
The main dispatch loop for the initial pthread TCB (routine dispatch_pthread in module DFHLEPTC) has been changed to return an error to its caller rather than terminating when it encounters a pthread_create error. When this happens, the attempt to add the S8 TCB will terminate abnormally and the SSL operation for the currently executing task will fail. However, the SSL environment will be preserved and any SSL operations being performed by existing S8 TCBs will be unaffected by this failure. . The CICS TS 3.1 System Definition Guide ( SC34642803 ) will be updated. In chapter 17 - Specifying CICS system initialization parameters, a new paragraph will be added to the end of the section entitled 'TCB considerations with UNIX System Services' as follows :- In USS, the MAXTHREADS and MAXTHREADTASKS parameters can be used to restrict the number of pthreads which a USS process can own. Each SSL TCB requires a pthread and an MVS task. You should therefore ensure that both the MAXTHREADS and MAXTHREADTASKS limits exceed the MAXSSLTCBS SIT parameter. Failure to do so can lead to errors during CICS execution. If you fail to set a large enough value for MAXTHREADS or MAXTHREADTASKS and CICS reaches one of these limits while attempting to attach an SSL TCB, this will lead to message DFHDS0002 severe error code X'0137' from DFHDSIT. In the same chapter, under the section entitled 'The system initialization parameter descriptions', the MAXSSLTCBS description will be changed to read as follows :- Specifies the maximum number of S8 TCBs that can run in the SSL pool. The default is 8, but you can specify up to 1024 TCBs. This should not exceed the value of the MAXTHREADS or MAXTHREADTASKS parameters of SYS1.PARMLIB member BPXPRMxx. The CICS TS 3.1 Installation Guide ( GC34642603 ) will be updated. In Chapter 10 (Defining CICS as an MVS subsystem), a new bullet will be added to the list of bullets in the section entitled 'The SYS1.PARMLIB(BPXPRMxx) parameters' :- . SSL TCBs specified by the MAXSSLTCBS SIT parameters. At the end of this section, the following new sentence will be added :- If CICS is configured to use SSL, you may need to increase the MAXTHREADS and MAXTHREADTASKS values. These should exceed the MAXSSLTCBS SIT parameter.
Temporary fix
********* * HIPER * ********* FIX AVAILABLE BY PTF ONLY
Comments
APAR Information
APAR number
PK22689
Reported component name
CICSTS 3.1 Z/OS
Reported component ID
5655M1500
Reported release
400
Status
CLOSED PER
PE
NoPE
HIPER
YesHIPER
Special Attention
NoSpecatt
Submitted date
2006-04-03
Closed date
2006-07-26
Last modified date
2006-08-01
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UK16637 UK16638
Modules/Macros
DESLEPT DESSOSE DFHLEPT DFHLEPT@ DFHLEPTC DFHLEPTI DFHSOSE
SC34642803 | GC34642603 |
Fix information
Fixed component name
CICSTS 3.1 Z/OS
Fixed component ID
5655M1500
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":"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"}},{"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.1","Edition":"","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
01 August 2006