IBM Support

PH26488: DFHDS0001 ABEND CODE 0C4/AKEA OCCURRED IN DFHDSTCB R8 SHOULD POINT TO DFHXMTXN FOR TASK BUT IT WAS FREEMAINED

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Running CICS TS 5.3 you receive the following message and
    then the region crashes.
    
    DFHDS0001 applid An abend (code 0C4/AKEA) has occurred at
              offset X'0DF8' in module DFHDSTCB.
    
    A dump at the time of the program check showed the failing
    instruction was:
    
    9201 5041 | MVI X'41'(R5),X'01'
    
    R5 contained a bad value, causing the ABEND0C4.
    
    R5 was loaded from R2 which also contained the bad value.
    Backing up in the code found R2 was loaded from R8+130.
    R8 should be point to the task's DFHXMTxn - the transaction
    manager transaction control block, but the area did
    not have the correct eye catcher:   >dfhxmtxn
    at the beginning of it.
    
    Trace was active in this dump, and we were able to
    learn the transaction was actually in the process
    of terminating. Transaction manager- XM was cleaning up
    the task when it was suspended requesting the SMLOCK.
    ..
    This was after a time where it had already freemained the
    DFHXMTxn control block for the task.
    This allowed storage manager to free up the entire page of
    storage it belonged on, allowing another task to allocate
    the storage.
    
    When the terminating task was attempted to be resumed, DFHDSTCB
    referenced this DFHXMTxn address from the task's DTA
    control block, which still had a pointer to it, leading to
    program check since it no longer reflected a DFHXMTxn.
    
    Here are the modules in the kernel stack for the task in the
    process of terminating:
    NAME
    
    DFHKETA
    DFHDSKE
    DFHXMTA
    DFHXMLD
    DFHXMQD
    DELETE_INSTANCE
    DFHAPDN
    APDN_TRANDEF_NOTIFY
    FREE_TRANDEF_STG
    DFHSMGF
    SMLOCK_GET
    DFHLMLM
    LOCK
    LOCK_EXCLUSIVE
    ADD_TO_LOCK_QUEUE
    SUSPEND
    DFHDSSR
    POP_TASK
    Additional Symptoms: KIXREVRJL
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All CICS users                               *
    ****************************************************************
    * PROBLEM DESCRIPTION: DFHDS0001 abend 0C4 /AKEA in            *
    *                      DFHDSTCB.                               *
    ****************************************************************
    A transaction completed, and DFHXMTA was called to free the
    XMT storage for it. However, DFHXMTA did not clear the address
    of the XMT from the DTA, held in field DTA_XM_TKN.
      Having freemained the XMT, the transaction then continued and
    suspended on the SMLOCK within routine unlock_trandef_inline.
    This allowed another transaction to run. The storage that had
    been used for the XMT was reused for another subpool.
      When the first transaction was redispatched, DFHDSTCB ran and
    tried to update the WLM performance block, addressed from the
    XMT via the DTA. Since DTA_XM_TXN was not null, DFHDSTCB used
    this pointer to address what it believed was still a valid XMT.
    Since the DS_PB_TOKEN was not valid within the reused storage,
    this led to an 0C4/AKEA abend and CICS terminated.
    KEYWORDS: DSTCB PUSH_TASK
    

Problem conclusion

  • DFHXMTA has been changed to clear DTA_XM_TXN when the XMTXN
    is freemained within free_transaction.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH26488

  • Reported component name

    CICS TS Z/OS V5

  • Reported component ID

    5655Y0400

  • Reported release

    000

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    YesHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2020-06-16

  • Closed date

    2020-07-24

  • Last modified date

    2020-08-03

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

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

    UI70741 UI70742 UI70743 UI70744

Modules/Macros

  • DFHXMTA
    

Fix information

  • Fixed component name

    CICS TS Z/OS V5

  • Fixed component ID

    5655Y0400

Applicable component levels

  • R000 PSY UI70741

       UP20/07/28 P F007 ¢

  • R100 PSY UI70742

       UP20/07/25 P F007 ¢

  • R200 PSY UI70744

       UP20/07/25 P F007 ¢

  • R300 PSY UI70743

       UP20/07/25 P F007 ¢

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"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"5.3","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]

Document Information

Modified date:
05 August 2020