IBM Support

PI76708: GETTING THE FOLLOWING ABENDS, DFHSM0102, DFHAP0001, DFHRM0002 AND DFHAP0002.

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • The problem is noticed by getting the following message and the
    Region crashes.
    .
    DFHRM0002 LOCALRGN A severe error (code X'0377') has occurred
    in module DFHRMLSO.
    .
    Looking further into the LOG backing up to see what occurs
    before this you see.
    .
    DFHSM0102 LOCALRGN A storage violation (code X'0D05') has been
    detected by module DFHSMMF.
    .
    DFHAP0001 LOCALRGN An abend (code ---/ACTL) has occurred at
    offset X'169A' in module DFHCRIU.
    .
    In the eyecatcher area of the DFHSM0102 message above you see
    the following.
    .
    *e.....F4."..........DFHAC2206 09*
    *:53:52 REMOTRGN Transaction TRAN *
    *failed with abend AXGA. Updates *
    *to local recoverable resources b*
    *                                *
    .
    So in the Remote Region you see the following error.
    .
    DFHAP0002 REMOTRGN A severe error (code X'4E12') has occurred
    in module DFHAPCR.
    .
    The problem is caused by an Application that performs a DPL
    request with a large COMMAREA and causes a TIOA to be allocated
    that exceeds the TIOA size limit.  The limit for a TIOA to do a
    DPL request is 32767.  To send a DPL request, DFHXFP need to
    build some headers, like FMH5 and FMH43. The request can also
    include ORD, ACD,and ICRX data.  In the customer case the
    COMMAREA length is 32453 bytes long.  ODR data is also present
    and it account for 523 bytes.  There is also a DFHTRANSACTION
    CHANNEL which is  117 Bytes in length.  Totalling 33093.
    There is also an extra 65 bytes for FMH and argument codes and
    length which bring the total length of the data to 33158.
    DFHXTP will only GETMAIN a TIOA to it's maximum value of 32767.
    After the GETMAIN, DFHXTP move the data into the TIOA which is
    33158 long causing the overlay.  The overlay will only be
    detected when the TIOA storage get FREEMAIN.  It can also cause
    other problem for any other task using the storage that has
    been overlaid.  So the result could be unpredictable.
    .
    The CICS/TS knowledge center warn the customer that a safe
    value for a COMMAREA size is 24K.
    .
    This is the quote from the knowledge center under the LINK
    command for the LENGTH value:
    .
    This value should not exceed 24 KB if the COMMAREA is to be
    passed between any two CICS servers (for any combination of
    product/version/release), otherwise, if you are confident
     that the COMMAREA will not be passed on a further LINK
    request, you can use a COMMAREA up to 32763 in length.
    .
    This limitation is when using a COMMAREA on the LINK request.
    The 24k is a safe value and the customer can use a bigger
    COMMAREA for DPL request which will work until the limit of the
    session TIOA size has been exceeded.  The recommendation will
    be for a CHANNEL and CONTAINERS to be used instead of COMMAREA.
    However, the code in DFHXFP is not very clever at determining
    if the limit has been hit when using COMMAREA which has a
    disastrous consequences for the customer.  The code could do
    better by issuing an abend or message or both
    instead of overlaying storage.
    
    
    
    Additional Symptom(s) Search Keyword(s): KIXREVWRW
    

Local fix

  • n/a
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All CICS users.                              *
    ****************************************************************
    * PROBLEM DESCRIPTION: Message DFHSM0102 'A storage violation  *
    *                      (code X'0D05') has been detected by     *
    *                      module DFHSMMF' is issued during a      *
    *                      DPL request.                            *
    ****************************************************************
    A distributed program link (DPL request) from Region A to
    Region B passes a user CHANNEL and the DFHTRANSACTION CHANNEL
    on an MRO connection.
    The user program in Region B then issues a DPL request to
    Region C with a large COMMAREA.
    The session TIOA is restricted to 32K when the DFHTRANSACTION
    CHANNEL and COMMAREA are being passed. However, the total
    length needed for the large COMMAREA, the DFHTRANSACTION
    CHANNEL header and other data, such as the Origin Description
    Record (ODR), is greater than that.
    DFHAPCR EXPORT_ALL fails to create the CHANNEL header but
    returns an OK response.
    DFHXFP then overlays beyond the end of the TIOA when moving the
    COMMAREA data into it.
    The DPL request is sent to Region C and the unflatten for the
    DFHTRANSACTION CHANNEL fails with abend AXGA because there is
    no CHANNEL header.
    The error leads to an ATNI on return to Region B. There is no
    FREEMAIN for the TIOA at this point.
    A subsequent task issues a DPL request on the same MRO session
    and needs a larger TIOA. A FREEMAIN is issued for the overlaid
    TIOA and CICS terminates with message DFHSM0102 code X'0D05'
    for the storage violation.
    

Problem conclusion

  • CICS is changed to check if a COMMAREA and the DFHTRANSACTION
    CHANNEL are being passed on a DPL request.
    If so, CICS checks that all the request data, other than the
    CHANNEL header which has yet to be created by DFHAPCR,
    will fit into 31K. This leaves plenty of space for the CHANNEL
    header.
    If the request data exceeds 31K, the transaction abends with
    new abend code AXGE.
    
    The CICS Transaction Server for z/OS v5.2 CICS Messages and
    Codes Vol 1 (GC34-7283-00) and the CICS Transaction Server
    for z/OS v5.3 CICS Messages and Codes Vol 1 (GC34-7418-00)
    will be updated to include the following explanation for new
    transaction abend code AXGE:
    
    AXGE
    Explanation: A distributed program link (DPL) request,
    specifying channel name DFHTRANSACTION, has also specified a
    COMMAREA that is too large for the terminal I/O area (TIOA).
    
    System Action: The task is abnormally terminated with a
    transaction dump.
    
    User Response: Check if the request is using the correct
    length for the COMMAREA.  If a DFHTRANSACTION channel is
    specified the COMMAREA size should not exceed 24 KB.  In this
    case to accommodate a size greater than 24 KB specify a user
    channel instead of a COMMAREA.
    
    Module: DFHXFP
    

Temporary fix

Comments

APAR Information

  • APAR number

    PI76708

  • Reported component name

    CICS TS Z/OS V5

  • Reported component ID

    5655Y0400

  • Reported release

    900

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    YesHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2017-02-15

  • Closed date

    2017-03-15

  • Last modified date

    2017-04-03

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

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

    UI45562 UI45565

Modules/Macros

  • DFHXFP   DFHXFQ
    

Publications Referenced
GC34728300GC34741800   

Fix information

  • Fixed component name

    CICS TS Z/OS V5

  • Fixed component ID

    5655Y0400

Applicable component levels

  • R000 PSY UI45562

       UP17/03/16 P F703 ¢

  • R900 PSY UI45565

       UP17/03/16 P F703 ¢

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.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":"5.2","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
03 April 2017