A fix is available
APAR status
Closed as program error.
Error description
You are migrating your application from CICS/TS 3.1 to CICS/TS 3.2. Your application sends an HTTP/1.0 request containing a large amount of data across a non-SSL connection. Content-Length is set to 6590. The client application is poorly behaved because it is appending vast amounts of binary zeroes (as well as a trailing CRLF) to every HTTP request it sends. CICS initially issues a socket socket receive for up to 4K of data. If all the reqeust (including the unexpected trailing nulls) fits in the buffer then all will be ok. If there is a large request (for example Content-length of 6590) then CICS will initially receive 4K then it will receive the residual data for the whole 6590 of HTTP body. However, this leaves several hundred bytes of unexpected nulls on the socket. As the request is HTTP 1.0 and does not include a keepalive header CICS will close the socket after the HTTP response is sent. Just before closing the socket CICS checks to see if there is any excess inbound data on the socket. CICS detects the data, GETMAINS a SOSOPRBF buffer then calls soso_recv_mainline to receive the data passing two key key parameters - maxlength := buffer_len minimum_data_length := buffer_len These are both references to the same field. soso_recv_mainline stashes the minimum_data_length value away before setting it to 0. This effectively sets maxlength to 0 at the same time (as there are 2 references to the same field). This results in our passing a good buffer pointer to TCPIP but a bad buffer length of 0. We never receive any of the garbage nulls off the socket before closing the socket. This causes TCPIP to flow a RST back to the client when CICS peforms the physical socket close. This is not a problem in CICS TS 3.1 before PK68858. Additional Symptom(s) Search Keyword(s): KIXREVSCB
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: All CICS Users. * **************************************************************** * PROBLEM DESCRIPTION: A client of the CICS Web Interface * * received a reset (RST) from TCP/IP for * * MVS when CICS closed the socket. * **************************************************************** * RECOMMENDATION: * **************************************************************** An HTTP 1.0 request is sent to CICS that has excess inbound data that is not part of HTTP body (as designated by the HTTP Content-length header). On the processing of the HTTP request CICS then fails to purge any excess inbound data off of the socket. The result is that TCPIP then flows a RESET back to the HTTP client when CICS performs a physical socket close. The maxlength of the buffer associated with this purge was being set incorrectly to 0.
Problem conclusion
DFHSOS07 has been amended so that during the purge of the excess sockets data the correct maxlength is passed to TCPIP.
Temporary fix
FIX AVAILABLE BY PTF ONLY
Comments
APAR Information
APAR number
PK88578
Reported component name
CICSTS V3 Z/OS
Reported component ID
5655M1500
Reported release
500
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2009-06-11
Closed date
2009-07-30
Last modified date
2009-09-17
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Modules/Macros
DESSOSO DFHSOSOC DFHSOS00 DFHSOS01 DFHSOS02 DFHSOS03 DFHSOS04 DFHSOS05 DFHSOS06 DFHSOS07 DFHSOS08 DFHSOS09 DFHSOS10 DFHSOS11 DFHSOS12 DFHSOS13 DFHSOS14 DFHSOS15 DFHSOS16 DFHSOS17 DFHSOS18 DFHSOS19 DFHSOS20 DFHSOS21 DFHSOS22 DFHSOS23
Fix information
Fixed component name
CICSTS V3 Z/OS
Fixed component ID
5655M1500
Applicable component levels
R500 PSY UK48833
UP09/08/05 P F908
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:
17 September 2009