A fix is available
APAR status
Closed as program error.
Error description
The following two issues related to outbound AT-TLS connections being closed, are encountered depending on the setting of HTTPRNUM and HTTPVNUM on the Web Open; 1) When application specifies HTTPRNUM and HTTPVNUM on the Web Open, the send of the Options request finds that the pooled connection being used is closed. This results in the problem of the Web Open completing OK with a bad sesstoken, and then the Web Converse with that bad sesstoken results in NOTOPEN (AEIS). 2) When the application does not specify HTTPRNUM and HTTPVNUM on the Web Open, CICS does not discover that the pooled connection being used is closed until the Send part of the Web Converse. When CICS discovers that, it closes that bad connection and creates another one and uses that new connection on the Send. But it looks like the problem is that it creates the new connection on the QR TCB. Then it does the Send on the QR TCB and that works. But on the receive part of the converse, it switches to the SO TCB and then gets EBADF because the socket was created on the QR TCB.
Local fix
NA
Problem summary
**************************************************************** * USERS AFFECTED: All CICS users. * **************************************************************** * PROBLEM DESCRIPTION: ABEND AEIS (NOTOPEN) or ABEND AEIQ * * (IOERR) on EXEC CICS WEB CONVERSE when * * using AT-TLS connections. * **************************************************************** CICS is acting as a HTTP client. A URIMAP is defined with USAGE(CLIENT) and a non-zero SOCKETCLOSE value to enable the use of outbound connection pooling. The connection to the target server has been secured using AT-TLS. An idle connection is sat in the pool when it gets closed by the server. As this is an AT-TLS connection a receive call is needed to trigger the AT-TLS layer to handle the closure. CICS does not have an outstanding receive on this connection so the closure goes undetected. When the connection is selected to be reused by a later CICS task, CICS makes a blocking receive call to try and work out if the connection is still active. This call indicates the connection is still active, but has the side effect of triggering the AT-TLS layer to handle the closure. When the CICS task tries to use this connection the attempt to send a request to the server fails unexpectedly with ECONNABORTED because the AT-TLS layer has now completed closing the socket. If the send was for an OPTIONS request as part of an EXEC CICS WEB OPEN then the command will return OK but with an invalid session token. The following EXEC CICS WEB SEND or EXEC CICS WEB CONVERSE command will return NOTOPEN and abend AEIS if that is not handled. If the send was an EXEC CICS WEB SEND or part of an EXEC CICS WEB CONVERSE then these commands will return IOERR and abend AEIQ if not handled. Additional Keywords: ABENDAEIS ABENDAEIQ
Problem conclusion
DFHWBCL has been changed to; - return the correct exception response on the WEB OPEN command instead of OK. - attempt to establish a new connection if the WEB OPEN command sending of the HTTP OPTIONS request detects that the connection was closed while the socket was in the pool. - make sure that the newly established socket is created on the correct TCB (SO or S8) and not on QR.
Temporary fix
Comments
APAR Information
APAR number
PH38635
Reported component name
CICS TS Z/OS V5
Reported component ID
5655Y0400
Reported release
100
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2021-07-01
Closed date
2021-11-12
Last modified date
2021-12-01
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UI78048 UI78049 UI78050
Modules/Macros
DFHSOAD DFHSOCK DFHSODM DFHSODUF DFHSOIS DFHSOL DFHSOLI DFHSOLS DFHSOLX DFHSOLX6 DFHSOM01 DFHSOM02 DFHSOM03 DFHSOPL DFHSORD DFHSOS00 DFHSOS01 DFHSOS02 DFHSOS03 DFHSOS04 DFHSOS05 DFHSOS06 DFHSOS07 DFHSOS08 DFHSOS09 DFHSOS10 DFHSOS11 DFHSOS12 DFHSOS13 DFHSOS14 DFHSOS15 DFHSOS16 DFHSOS17 DFHSOS18 DFHSOS19 DFHSOS20 DFHSOS21 DFHSOS22 DFHSOS23 DFHSOSE DFHSOST DFHSOTB DFHSOTI DFHSOTRI DFHSOUE DFHSOXM DFHWBCL DFHWBCLI DFHWBDUF DFHWBSO DFHWBSV DFHWBXM
Fix information
Fixed component name
CICS TS Z/OS V5
Fixed component ID
5655Y0400
Applicable component levels
R100 PSY UI78050
UP21/11/13 P F111
R200 PSY UI78049
UP21/11/13 P F111
R300 PSY UI78048
UP21/11/13 P F111
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.
[{"Line of Business":{"code":"LOB35","label":"Mainframe SW"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSGMGV","label":"CICS Transaction Server"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"5.4"}]
Document Information
Modified date:
02 December 2021