A fix is available
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
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