A fix is available
APAR status
Closed as program error.
Error description
You are running CICS Transaction Server 5.1 and receive the following errors: DFHSO0001 An abend (code 0C4/AKEX) has occurred at offset X'04B8' in module DFHSOS07. DFHSO0002 A severe error (code X'029F')as occurred in module DFHSOCK. The application is receiving a web request when the program check occurs. The failing instruction is MVCL R14,R0 due to R14 being close to a MEG boundary, that is in key 0. The code is attempting to move the request into a work buffer. Here are the last modules in the stack for the task: Module DFHWBCL READ_RESPONSE READ_BLOCK_RAW DFHSOCK RECEIVE_SOCK TCPIP_RECEIVE DFHSOS07 . The problem is due to the fact that the client has sent in a request with a very large Accept-Charset list - over 4K in length. DFHWBCL handles this situation as an exception and should return wbcl_exception/wbcl_http_error. However, after the peek has been abandoned a real receive gets issued anyway. This always for the peeked header length plus 2 (for the final CRLF which had not been included in the length so far). This is what causes the length to be 2 bytes more than will fit into the buffer-causing the program check . Additional Symptom(s) Search Keyword(s): KIXREVEPH DFHTS0001 An abend (code 0C4/AKEA) has occurred at offset X'3EBA' in module DFHTSRM. DFHRM0002 A severe error (code X'020B') has occurred in module DFHRMUO. The abend0c4 in DFHTSRM occurs during COMMIT processing in routine TSRM_DELETE_QAB. This problem is caused by the fact that DFHWBCL does not handle HTTP responses with more than 4K of headers. When it gets to the end of its 4K work buffer without finding the double CRLF a real sockets receive is issued for the remaining buffer length plus two. The assumption is that the earlier peeking of the header found the last CRLF but points past it so the length needs to be two larger leading to the overlay.
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: All CICS users. * **************************************************************** * PROBLEM DESCRIPTION: Message DFHSO0001 Abend (CODE 0C4/AKEX) * * offset x'04B8' in DFHSOS07 is issued * * when HTTP response header has * * ACCEPT-CHARSET list greater than 4k. * **************************************************************** * RECOMMENDATION: * **************************************************************** CICS web client sends WEB CONVERSE command to server and gets an HTTP response with header length larger than 4k. DFHWBCL is invoked to peek the header first before actual read to make sure that all the HTTP headers have been received. The buffer used to peek the header has a size of 4k. So the peek of 4k header complete before the end of header has been found(a double CRLF). Exception is set with reason HTTP_ERROR due to syntax error. The code does not immediately return and instead it continues to perform an actual read for the socket data with length 4k + 2 to include double CRLF. Then it causes 0C4 since the extra 2 bytes address are in unaddressable storage. Additional Keywords: abend0C4 S0C4 abendS0C4 abendAKEX
Problem conclusion
DFHWBCL has been changed to treat the response header length > 4k as invalid and return exception with reason wbcl_header_too_long. The CICS Transaction Server for z/OS Version 5 Release 1 Application Programming Reference, SC34-2845-02, will be updated for the commands 'WEB CONVERSE' and 'WEB RECEIVE (client)' to add a new RESP2 value of 157 to the list of values for the '16 INVREQ' condition as follows: 157 The http headers in the response are longer than 4k and CICS is unable to process this http response. The session is unusable and a WEB CLOSE command is required. The CICS Transaction Server for z/OS Version 5 Release 2 Application Programming Reference, SC34-7267-00, will be updated with the same changes.
Temporary fix
FIX AVAILABLE BY PTF ONLY
Comments
APAR Information
APAR number
PI43898
Reported component name
CICS TS Z/OS V5
Reported component ID
5655Y0400
Reported release
800
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2015-06-26
Closed date
2015-09-13
Last modified date
2015-10-02
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UI31193 UI31194 UI31195 UI31196
Modules/Macros
DFHEIWB DFHISCO DFHISEM DFHISPH DFHISRR DFHISSR DFHPIAD DFHPIAT DFHPIA1 DFHPITH DFHPITS DFHSJJS DFHWBCL DFHWBCLI DFHWBCLT DFHWBDUF DFHWBSV DFHWBXM DFJ@H360
SC34284502 | SC34726700 |
Fix information
Fixed component name
CICS TS Z/OS V5
Fixed component ID
5655Y0400
Applicable component levels
R80D PSY UI31194
UP15/09/24 P F509
R800 PSY UI31193
UP15/09/24 P F509
R90D PSY UI31196
UP15/09/24 P F509
R900 PSY UI31195
UP15/09/24 P F509
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":"5.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":"5.1","Edition":"","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
02 October 2015