IBM Support

PM00786: HUNG TRANSACTIONS USING DOCUMENT HANDLER WAITING ON DHLOCK. TASK ABENDS AKEC RUNAWAY TIGHT LOOP IN DFHDHPU

A fix is available

Subscribe

You can track all active APARs for this component.

 

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
    This problem was also encountered when an HTB in current use had
    previously been a DOA.  Due to the problem described earlier,
    the integrity of the Document Handler Anchor Block and related
    DOAs was compromised, and storage locations in the newly minted
    HTB were still referenced.  One field in the HTB contained the
    address of a DOA, and the subsequent FREEMAIN attempt on the
    address resulted in a mismatch between the freeing subpool
    (PGHTB) and owning subpool (SMSHRC31).  This resulted in an
    exception trace entry and message DFHSM0002.
    .
    DFHPGHM RELEASE_CURRENT_HTB FREEMAIN_RSA FREEMAIN_QUICKCELL QPH
    SM 030E SMGF  *EXC* - Quickcell_freemain_invalid_QPH -
               FUNCTION(FREEMAIN) SUBPOOL_TOKEN(5529F2F0 , 0000005D)
               ADDRESS(277B4000) REMARK(HMRSA) LOCK_POOL(YES)
               LMLM_ADDRESS(24110298)
    SM0002 DFHDOA DFHPG
    

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 4 Release 1, SC34-7013-00, Chapter 8. Document
    handler trace points needs to be updated to add the following
    trace entries into table 128. 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

    PM00786

  • Reported component name

    CICS TS Z/OS V4

  • Reported component ID

    5655S9700

  • Reported release

    600

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    YesHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2009-11-10

  • Closed date

    2009-11-25

  • Last modified date

    2010-04-22

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

    PK96130

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

    UK52341

Modules/Macros

  • DESDHAN  DESDHRM  DESDHTRI DFHDHANC DFHDHAND
    DFHDHDCC DFHDHDCD DFHDHRM  DFHDHTRI
    

Publications Referenced
SC34701300    

Fix information

  • Fixed component name

    CICS TS Z/OS V4

  • Fixed component ID

    5655S9700

Applicable component levels

  • R600 PSY UK52341

       UP09/12/01 P F911

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

Document Information

Modified date:
22 April 2010