IBM Support

PH23615: MESSAGE BUFFER REALLOCATION OVERLAY AND OPTIMIZATION.

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Message buffer reallocation overlay and optimization.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: Data Replication for IMS, Version 11.3       *
    *                 Data Replication for VSAM, Version 11.3      *
    ****************************************************************
    * PROBLEM DESCRIPTION: CAC00112E error due to storage overlay  *
    *                      followed by various abends.             *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    A CAC00112E error is issued during an attempt to free a memory
    allocation because the allocated area had overlain its ending
    memory picket.
    .
    The target server for IMS and VSAM was changed to isolate
    subscriptions better with APAR PH16430.  This change used an
    existing interface to allow each subscription to independently
    process its socket rather than the prior approach of managing
    all sockets open on the port collectively.  Use of the existing
    interface exposed this bug, but PH16430 did not introduce it.
    .
    The bug exposed occurs when message segmentation occurs while
    receiving the message's main message header.  The target
    server's apply service should receive the entire header first
    in order to determine if the inbound message buffer must be
    re-sized to deal with the full message length.  The code
    requested only the data from the main message header separately,
    but if less was returned continued to receive the remainder of
    the message rather than the remainder of the header.  If the
    new message exceeds the inbound message buffer length an overlay
    could occur if the second receive returns more data than fits
    in the currently allocated buffer.
    .
    At this point, the apply service would attempt to reallocate its
    inbound message buffer and if the overlay did occur would
    experience the CAC00112E during the free.  The storage is
    abandoned and processing continues since this could be a limited
    problem.  However, since the overlay may impact other control
    blocks after this allocation in storage the address space is
    likely to experience additional problems and, most likely,
    abends.
    .
    Further, it was discovered the inbound message buffer would be
    reallocated for newly received messages exceeding 64K.  The
    buffer size should increase to the largest size required and not
    continually be reallocated.
    

Problem conclusion

  • The code has been modified to:
    1.  Start with a 256K buffer to avoid the need for reallocation.
    2.  Return the reallocated size to the upper level so if the
        inbound message buffer is increased further reallocations
        should be reduced.
    3.  Most importantly, the code is changed to receive the main
        message header in total before making decisions about
        reallocation needs and only then receiving the remaining
        message data to avoid possibly reading more data than will
        fit in the inbound message buffer.
    

Temporary fix

  • *********
    * HIPER *
    *********
    

Comments

APAR Information

  • APAR number

    PH23615

  • Reported component name

    CLASSIC FED & E

  • Reported component ID

    5697I8200

  • Reported release

    B30

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    YesHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2020-03-23

  • Closed date

    2020-04-02

  • Last modified date

    2020-05-02

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

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

    UI68789

Modules/Macros

  •    CECAPI1  CECREPL3
    

Fix information

  • Fixed component name

    CLASSIC FED & E

  • Fixed component ID

    5697I8200

Applicable component levels

  • RB30 PSY UI68789

       UP20/04/03 P F004 Ž

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":"BU048","label":"IBM Software"},"Product":{"code":"SSC4BEF","label":"General issues"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
04 May 2020