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