IBM Support

PH64004: ABEND 0C4 IN DFHKESFM AT OFFSET X'1A0', CAUSED BY STORAGE OBTAIN.

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • When in the process of freeing stack segment storage, CICS uses
    DFHKESFM to handle the freeing of that storage. In DFHKESFM, it
    will obtain some of its own storage during the process of
    freeing that stack segment storage. At CICS TS 6.2, DFHKESFM was
    
    changed to specify register 0 as the size of that storage it
    needs to obtain. When looking at the actual Storage Obtain, we
    can see that it still specifies register 10 as the size of the
    getmain like it did in earlier releases. This can cause
    unpredictable results that may lead to the Storage Obtain
    failing. Whenever a Storage Obtain fails, register 1 is used as
    a work register by the system. When this happens, register 1 can
    
    be loaded with a bad address that is unavailable storage. Later
    in DFHKESFM, register 1 is stored at a different address and
    then loaded in register 7. This causes register 7 to have the
    bad address to the unavailable storage. DFHKESFM, at offset
    x'1A0', then tries to store another register at register 7,
    which still contains the bad address. This causes DFHKESFM to
    program check with the abend 0C4 because it is storing at
    unavailable storage.
    
    Additional Symptom(s) Search Keyword(s): KIXREVSCB
    0C4 DFHKESFM
    ASRA DFHEPC
    ASRA DFHSR1
    DFHPC0409 PC0409
    DFHAP0001 AP0001
    Upgrade2CICS62
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All CICS Users.                              *
    ****************************************************************
    * PROBLEM DESCRIPTION: When percolating up the stack due to an *
    *                      abend, DFHKESFM can abend0C4 during a   *
    *                      STORAGE OBTAIN call.                    *
    ****************************************************************
    When percolating up the stack due to an abend, DFHKESFM will be
    called. It will need to obtain some storage so that register
    values can be saved during the process.
    
    When obtaining storage the length variable is held in a register
    and it is not initialised correctly. If the register contains a
    large value then a program check can occur.
    

Problem conclusion

  • DFHKESFM has been altered so that the length variable for the
    STORAGE OBTAIN call is always set correctly.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH64004

  • Reported component name

    CICS TS Z/OS V6

  • Reported component ID

    5655YA100

  • Reported release

    500

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    YesHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2024-11-05

  • Closed date

    2025-02-07

  • Last modified date

    2025-09-23

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

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

    UI99929

Modules/Macros

  • DFHKESFM
    

Fix information

  • Fixed component name

    CICS TS Z/OS V6

  • Fixed component ID

    5655YA100

Applicable component levels

  • R500 PSY UI99929

       UP25/02/11 P F502 ¢

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":"SSGMGV","label":"CICS Transaction Server"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"6.2","Line of Business":{"code":"LOB70","label":"Z TPS"}}]

Document Information

Modified date:
23 September 2025