IBM Support

PK33467: DFHLM0001 ABEND 0C4/AKEA AT OFFSET X'1512' IN DFHLMLM. AN 0C6 MAY ALSO OCCUR X'FFFF' IN DFHLMLM DUE TO WILD BRANCH.

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • DFHLMLM program checks with an abend 0C4 or 0C6 due to the
    kernel stack registers for the running task being corrupt.  In
    the 0C6 case, register 5 was bad, and in the 0C4 case, register
    13 was bad.  The invalid registers are captured in the dump
    registers, but may be different in the kernel stack at the time
    of the dump due to DFHMEME being in the stack due to the error.
    A CPIH pipeline transaction has recently suspended in DFHSMGF
    trying to get the SMLOCK (smlock_get) and when it wakes up and
    resumes, the registers are bad in the stack and the program
    check happens.  The registers were good at the time of the
    DSSR suspend, because DFHLMLM would have program checked
    earlier if they had been bad.  So the overlay of registers
    happens somewhere after the CPIH task suspends and when it
    runs again.  The value that is overlaying the stack is also
    in a pipeline control block called the Service Handler
    Element (SNE) at offset x'40'.  And at offset x'44' into the
    SNE (Service Node Element, also referred to as the Service
    Handler Element) it is pointing into the kernel stack that
    gets corrupted.  Note that there are other CPIH transactions
    running at the time, and some are on L8 (open) TCBs.
    This APAR is being taken for further investigation of the
    problem by the CICS Change Team.
    .
    Additional Keywords: ABENDS0C4 ABEND0C4 ABENDS0C6 ABEND0C6
    DFHPISNE DFHPISN2 LMQUICK1 PI_GENRL subpool
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All CICS users.                              *
    ****************************************************************
    * PROBLEM DESCRIPTION: MSGDFHLM0001 An abend (code 0C4/AKEA)   *
    *                      has occurred in module DFHLMLM after    *
    *                      processing an inbound web services      *
    *                      request.                                *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    Multiple web service requests for the same provider pipeline are
    executing at the same time.  Each one has its own L8 TCB.
    Eventually they get to the soap node in the pipeline and DFHPISN
    is called.  DFHPISN needs to match up <headerprogram> elements
    in the pipeline configuration file with the actual SOAP header
    elements in the incoming message.
    
    The configuration file was processed at PIPELINE install time
    and a chain of Header Program Element (HPE) control blocks were
    created.  The chain is anchored off the associated Service Node
    Element (SNE).
    
    To browse the chain of HPE's DFHPISN creates a local iterator
    and updates the list of iterators contained in the SNE.  Once
    the header processing is complete DFHPISN removes its iterator
    from the list.  Both of these actions are not threadsafe.
    When multiple tasks execute this same code under different L8
    TCBs the list of iterators (at offset x'40' and x'44' in the
    SNE) can become corrupted and an address of a local iterator
    (in a task's stack storage) can remain in the list after the
    associated task has ended.  When the list is manipulated
    again, by a new task adding an iterator, the stack storage
    will get corrupted.  The effect of this will vary depending
    on what the task currently owning that storage is doing.  In
    the cases seen so far register save areas were overlaid leading
    to abends in DFHLMLM.
    
    Additional keywords:
    S0C4  S0C6  unpredictable
    

Problem conclusion

  • DFHPISN has been changed to obtain the exclusive PILOCK around
    the HOP_StartIterator and HOP_EndIterator calls used to process
    the header program elements.
    

Temporary fix

  • FIX AVAILABLE BY PTF ONLY
    

Comments

APAR Information

  • APAR number

    PK33467

  • Reported component name

    CICSTS 3.1 Z/OS

  • Reported component ID

    5655M1500

  • Reported release

    400

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2006-10-24

  • Closed date

    2007-01-22

  • Last modified date

    2007-02-01

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

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

    UK21470

Modules/Macros

  •    DESPISH  DESPISN  DFHPISN  DFHPISN1 DFHPISN2
    

Fix information

  • Fixed component name

    CICSTS 3.1 Z/OS

  • Fixed component ID

    5655M1500

Applicable component levels

  • R400 PSY UK21470

       UP07/01/26 P F701

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:
01 February 2007