IBM Support

PM31978: WEB RECEIVE MAY GET FREEMAIN ERROR DFHSM0002 0315 WHEN SERVER RESPONSE DOESN'T CONTAIN CONTENT-LENGTH HEADER.

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • CICS application issues EXEC CICS WEB RECEIVE INTO MAXLENGTH.
    
    The response from the server has a body but there is no
    Content-Length header. The length of the body is determined
    by DFHWBCL reading the data off the socket until a socket
    closed response is received.
    If the Content-type is text/html then DFHWBCL getmain a
    32K WBSETBUF buffer and wbo_response_body.m = 32K and
    wbo_response_body.n = 0. We would then proceed to read data
    off the socket using this 32K (WBSETBUF) buffer.
    However in our case, the Content-Type from the remote server
    was application/octet-stream. This is treated as non-text so
    the getmain of a 32K WBSETBUF is bypassed. This means that
    we end up in a state where response_body.m and response_body.n
    are both 0. This causes DFHWBCL to assume that we have filled
    the SET buffer. We enter routine handle_excess and get a new
    buffer, copy from a non-existent buffer into the new buffer
    and then freemain the non-existent buffer resulting in the
    FREEMAIN error.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All CICS users                               *
    ****************************************************************
    * PROBLEM DESCRIPTION: DFHSM0002 error code X'0315' in         *
    *                      DFHSMGF occurs when a CICS application  *
    *                      issues EXEC CICS WEB RECEIVE INTO       *
    *                      NOTRUNCATE.                             *
    *                                                              *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    A CICS application issues EXEC CICS WEB RECEIVE INTO NOTRUNCATE
    to receive a response from the server. The response has a body
    and no Content-length header. The body length is bigger than
    the size of the INTO area which is specified by MAXLENGTH.
    DFHWBCL fails to getmain a WBXSBODY buffer for the initial
    read of the excess data but instead incorrectly assumes that it
    is processing an overflow of an existing WBXSBODY buffer. It
    therefore attempts to freemain the existing buffer but the
    pointer to this buffer in 0 so the freemain fails resulting in
    the reported msgDFHSM0002.
    This problem only affects binary data, or text which is in
    a single byte character set. Multiple byte character sets are
    processed differently and are not affected.
    

Problem conclusion

  • DFHWBCL has been changed so that DFHWBCL HANDLE_EXCESS gets a
    32k buffer for WBXSBODY when NOTRUNCATE is specified and the
    body length is not known.
    

Temporary fix

  • FIX AVAILABLE BY PTF ONLY
    

Comments

APAR Information

  • APAR number

    PM31978

  • 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

    2011-02-04

  • Closed date

    2011-04-20

  • Last modified date

    2011-05-01

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

    PM34908 UK66930

Modules/Macros

  •    DESWBCL  DFHWBCL
    

Fix information

  • Fixed component name

    CICSTS V3 Z/OS

  • Fixed component ID

    5655M1500

Applicable component levels

  • R500 PSY UK66930

       UP11/04/22 P F104

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:
01 May 2011