A fix is available
APAR status
Closed as program error.
Error description
You are running CICS transaction server 3.1 and your application has issued an 'exec cics document create' command. You notice transactions hang as well as other abend AKEC which means: The kernel (KE) domain has detected runaway. Eventually, you cancel the region to resolve the problem. A dump from the AKEC showed a tight loop in module DFHDHPU between offsets x'68A' and x'6B4'. Code is trying to chain through Document Control Records- or DCR's. This chain is corrupt and it happens that we come to an address where the next pointer happens to point to itself- causing the loop. Looking at the Document Handler Anchor Block, (DHA) offset x'90' should point to the first Document Anchor block (DOA) for a task but instead points into the DHA. So this forward pointer indicates there are no DOA's but we can tell from the backward pointer at offset x'94', that there are some. addtional symptoms: DHA_FIRST_DOA DOA_FIRST_DCR DOA_LAST_DCR hang hung looping. Exception trace entry: *EXC* - RECOVERY_ENTERED - FUNCTION(CREATE_DOCUMENT) TEMPLATE_BUFFER(2C60EBD8 , 000000BA) KIXREVEPH
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: All CICS users. * **************************************************************** * PROBLEM DESCRIPTION: An abend (AKEC) has occurred due to * * a loop in DFHDHPU when issuing EXEC * * CICS DOCUMENT CREATE. * **************************************************************** * RECOMMENDATION: * **************************************************************** Customer runs multiple transactions in CICS, some of which have issued the EXEC CICS DOCUMENT CREATE command and specified the TEMPLATE option. DFHDHDH handles the document create request. It creates a document anchor block (DOA) and a document control record (DCR) for a new document. DFHDHDH saves the document token in the DCR. The DCR is stored in a chain anchored by the DOA. DFHDHDH then calls DFHDHPU to create a document template. Using the address of DOA, DFHDHPU locates the DCR chain. It loops through the chain to locate the DCR that holds the the current document token. However the DCR chain is corrupted. DFHDHPU goes into an infinite loop. A transaction eventually abends AKEC. The CICS recovery manager calls DFHDHRM to carry out backout processing. Document handler is made threadsafe since CICS TS 2.3. However DFHDHRM is not threadsafe while cleaning up document blocks such as DOA. This allows another transaction to add a DOA at the same time by issuing EXEC CICS DOCUMENT CREATE. This causes the AKEC and transactions to hang.
Problem conclusion
DFHDHRM has been changed to be threadsafe by obtaining the DHLOCK. The CICS Transaction Server for z/OS, Trace Entries Manual, Version 3 Release 1, SC34-6443-05, Chapter 6. Document handler trace points needs to be updated to add the following trace entries into Table 122. Document handler trace points. Point ID Module Lvl Type Data DH 0309 DFHDHRM Exc Get exclusive lock error 1 DFHRMRO parameter list DH 030A DFHDHRM Exc Release exclusive lock 1 DFHRMRO error parameter list DH 030B DFHDHRM Exc Recovery release lock 1 DFHRMRO error parameter list The CICS Transaction Server for z/OS, Trace Entries Manual, Version 3 Release 2, SC34-6828-02, Chapter 8. Document handler trace points needs to be updated to add the following trace entries into table 125. Document handler trace points. Point ID Module Lvl Type Data DH 0309 DFHDHRM Exc Get exclusive lock error 1 DFHRMRO parameter list DH 030A DFHDHRM Exc Release exclusive lock 1 DFHRMRO error parameter list DH 030B DFHDHRM Exc Recovery release lock 1 DFHRMRO error parameter list
Temporary fix
********* * HIPER * ********* FIX AVAILABLE BY PTF ONLY
Comments
APAR Information
APAR number
PK96130
Reported component name
CICSTS V3 Z/OS
Reported component ID
5655M1500
Reported release
400
Status
CLOSED PER
PE
NoPE
HIPER
YesHIPER
Special Attention
NoSpecatt
Submitted date
2009-09-14
Closed date
2009-11-25
Last modified date
2009-12-02
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
PM00786 UK52357 UK52358
Modules/Macros
DESDHAN DESDHRM DESDHTRI DFHDHANC DFHDHAND DFHDHDCC DFHDHDCD DFHDHRM DFHDHTRI
SC34644305 | SC34682802 |
Fix information
Fixed component name
CICSTS V3 Z/OS
Fixed component ID
5655M1500
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"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"3.1","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":"3.1","Edition":"","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
02 December 2009