IBM Support

PM69051: DFHDM0001 AN ABEND (CODE A78/AKEX) HAS OCCURRED AT OFFSET X'FFFF' IN MODULE DFHDMENF

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • You are getting a message DFHDM0001 An abend (code A78/AKEX)
    has occurred at offset X'FFFF' in module DFHDMENF (base level).
    The abend A78 RC10 indicates 'The private area storage to be
    freed overlaps free storage.'
      The kernal error table shows the error happened in program
    DFHDMENF at offset 000004F0.
      At offset X'4F0' in DFHDMENF an SVC 78 was issued failing
    with an abend A78 RC10.
      System Trace table shows:
     SVC  78  Freemain
    *SVCE  D  R15=00000010 R0=84000000 R1=84A78000
     Backing up in the systrace from the failing freemain looking
    for the address which is being freed you find a previous
    freemain
    issued for the same address by the same program.
    SVC  78  Freemain
    SVCR 78  sucessful Freemain for same address as failing
    freemain.
      It appears module DFHDMENF is doing a double freemain.  As we
    know a double freemain should not occur.
    

Local fix

  • kixrevckn
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All CICS users                               *
    ****************************************************************
    * PROBLEM DESCRIPTION: DFHDM0001 abend A78/AKEX happens        *
    *                      when an ENF notification element gets   *
    *                      FREEMAINed twice in case of two ENF     *
    *                      events happens closely.                 *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    An ENF event happens and triggers CICS ENF SRBEXIT DFHDMENS.
    DFHDMENS obtains storage through MVS GETMAIN and creates an ENF
    element in the storage. DFHDMENS then puts the element at the
    head of ENF public queue through a compare and swap instruction.
    The CS instruction is set up incorrectly and cannot protect the
    public queue being updated at the same time. DFHDMENS wakes up
    the listener task DFHDMENF which then unchains ENF elements
    from ENF public queue and put the elements onto the ENF private
    queue. When DFHDMENF is updating the public queue, another ENF
    event triggers SRBEXIT DFHDMENS and comes into the CS logic.
    The incorrect CS instruction in DFHDMENS does not notice that
    DFHDMENF is taking the first element off. DFHDMENS chains the
    first element as the second element's next, and then sets the
    second element as the public queue header. Thus, the first
    element appears in both the public queue and the private queue.
    DFHDMENF continues to process the private queue, and FREEMAINs
    the first element after notifying other CICS domains. DFHDMENS
    posts DFHDMENF for the second ENF event. Then the first element
    is processed and FREEMAINed for the second time which causes
    the problem.
    Additional Keywords: msgDFHDM0001, abendA78, abendAKEX
    

Problem conclusion

  • DFHDMENS has been modified to set up the Compare and Swap
    instruction correctly to prevent the ENF public queue being
    updated at the same time.
    

Temporary fix

  •             *********
                * HIPER *
                *********
    FIX AVAILABLE BY PTF ONLY
    

Comments

APAR Information

  • APAR number

    PM69051

  • Reported component name

    CICS TS Z/OS V4

  • Reported component ID

    5655S9700

  • Reported release

    700

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    YesHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2012-07-17

  • Closed date

    2012-09-26

  • Last modified date

    2012-11-01

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

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

    UK82242

Modules/Macros

  •    DFHDMENS
    

Fix information

  • Fixed component name

    CICS TS Z/OS V4

  • Fixed component ID

    5655S9700

Applicable component levels

  • R700 PSY UK82242

       UP12/10/08 P F210

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

Document Information

Modified date:
01 November 2012