IBM Support

PH18849: DFHDS0001 0C4 IN DFHDSTCB, 2 TASKS USING SAME DTA

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • CICS abends after putting out message:
    .
    DFHDS0001 An abend (code 0C4/AKEA) has occurred at
    offset X'09EE' in module DFHDSTCB.
    .
    The 0C4 occurs because 2 tasks are using the same
    DTA control block. Kernel domain shows the two tasks
    with the same DTA (DS_TASK).  CICS trace also shows
    both tasks being attached with the same DTA (field
    ATTACH_TOKEN).
    .
    Additional symptoms / Search keywords:
    DFHXM0002 A severe error (code X'1007') has occurred in module
    DFHXMIQ.
    CICS task orphaned -- DTA no longer shows up in DS domain but
    can still be seen in other domains like Kernel and Transaction
    Manager.
    .
    .
    If a CPSM MAS agent task happens to be running through the
    active task chain to retrieve information, it can stumble
    across this situation and can suffer an abend. In the job
    output for the region, you will see messages from CPSM similar
    to the following:
    .
    EYUXL0900I   Starting Environment Recovery
    EYUXL0905E applid AEXZ IN NQK3, OFFSET ????????
               PSW=00000000 00000000
    EYUXL0905E INTC=0000 ILC=0 TXCP=00000000 SCODE=S????
               TRAN=CONL TASK=0000100
    EYUXL0905E Methods=NQK3,NQGR,NQTK,NLRT,XLEV
    EYUXL0905E BEAR=00000000, OFFSET=????????
    EYUXL0906I Registers at ABEND
    EYUXL0907I GPR0-GPR1  00000000_0000054B  00000000_48EB5FD4
    EYUXL0907I GPR2-GPR3  00000000_2636C098  00000000_00000002
    EYUXL0907I GPR4-GPR5  00000000_00000003  00000000_00000002
    EYUXL0907I GPR6-GPR7  00000000_0012345C  00000000_48EB5FD4
    EYUXL0907I GPR8-GPR9  00000000_27C8934C  00000000_48EB5DD0
    EYUXL0907I GPRA-GPRB  00000000_2444E1E0  00000000_48EB5FD4
    EYUXL0907I GPRC-GPRD  00000000_236A4100  00000000_00041800
    EYUXL0907I GPRE-GPRF  00000000_A444DF3C  00000000_C1F0F1F7
    EYUXL0907I ARR0-ARR3  00000000  00000000  00000000  00000000
    EYUXL0907I ARR4-ARR7  00000000  00000000  00000000  00000000
    EYUXL0907I ARR8-ARRB  00000000  00000000  00000000  00000000
    EYUXL0907I ARRC-ARRF  00000000  00000000  00000000  00000000
    .
    In the output above, the contents of GPR6 has the task# that
    was being queried at the time by CPSM. In the dump, you will be
    able to see that task and one other task using the same DTA
    (DS_TASK) in the Kernel Domain output in IPCS.
    .
    An exception trace entry is also written that will look like:
    .
    XM 1007 XMIQ *EXC* -
            Unexpected_return_code_from_DSBR_INQUIRE_TASK_request -
            FUNCTION(GET_NEXT_TRANSACTION) BROWSE_TOKEN(23605C40)
    .
    DFHDS0001 0C4/AKEA has occurred at offset x'2200' in DFHDSAT
    DFHXM0002 Severe error (CODE X'1114') has occurred in DFHXMAT.
    .
    Additional symptom: 2 tasks using same KE stack.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All                                          *
    ****************************************************************
    * PROBLEM DESCRIPTION: Various severe dispatcher errors such   *
    *                      as DFHDS0001 and DFHDS0002 causing CICS *
    *                      to terminate abnormally.                *
    ****************************************************************
    MSGDFHDS0001 an ABEND 0C4 AKEA has occurred in DFHDSTCB occurs
    because 2 CICS tasks end up sharing the same DTA ( dispatcher
    task area ). The kernel domain shows 2 kernel tasks with the
    same DS_TASK address.
    DFHDSDS3 contains dispatcher housekeeping code which runs
    periodically. This includes code which removes a DTA from the
    free chain addressed by DSA_UNUSED_USERTASK_PTR. The address is
    saved in a field called UNUSED_USERTASK. This address also
    happens to be at the top of the EXECUTABLE_CHAIN which is
    crucial to this problem.
    The UNUSED_USERTASK is added to the USER_TASK_ROOT chain after
    its position on the EXECUTABLE_CHAIN has been located and it has
    been removed from that chain. Crucially, field UNUSED_USERTASK
    is not cleared at this point.
    Before the scan of the EXECUTABLE_CHAIN can continue, the TCB
    running CHECK_EXECUTABLES loses control of the processor.
    In this window a new task is ATTACHED which obtains the DTA
    addressed by USER_TASK_ROOT. This is the DTA which is still
    addressed by UNUSED_USERTASK. The task completes and places the
    DTA on the free chain addressed by DSA_UNUSED_USERTASK_PTR.
    This DTA also ends up at the top of the EXECUTABLE_CHAIN.
    When CHECK_EXECUTABLES resumes execution, it discovers the
    UNUSED_USERTASK DTA a second time and places it on the
    USER_TASK_ROOT chain. It is now on both the USER_TASK_ROOT
    free chain and the DSA_UNUSED_USERTASK_PTR free chain.
    Eventually this same DTA is allocated to 2 different CICS tasks.
    This leads to various severe errors in CICS culminating in
    abnormal termination of the CICS region or a cancellation of the
    region by the operator due to the repeated series of abends.
    
    Additional keywords : DS0001 DS0002 XM0002 RM0002
    

Problem conclusion

  • DFHDSDS3 has been changed to clear field UNUSED_USERTASK after
    the DTA addressed by it has been added to USER_TASK_ROOT chain.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH18849

  • Reported component name

    CICS TS Z/OS V5

  • Reported component ID

    5655Y0400

  • Reported release

    100

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    YesHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2019-11-05

  • Closed date

    2019-12-10

  • Last modified date

    2022-08-01

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

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

    UI66898 UI66899

Modules/Macros

  • DFHDSDS3
    

Fix information

  • Fixed component name

    CICS TS Z/OS V5

  • Fixed component ID

    5655Y0400

Applicable component levels

  • R100 PSY UI66898

       UP19/12/11 P F912 ¢

  • R200 PSY UI66899

       UP19/12/11 P F912 ¢

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.4","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]

Document Information

Modified date:
01 August 2022