A fix is available
APAR status
Closed as program error.
Error description
DFHPG0001 AN ABEND (CODE 0C4/AKEA) HAS OCCURRED AT OFFSET X'FFFF' IN MODULE DFHPGLE . There is an AMODE 64 problem in DFHKERRQ . . DFHPGLE is in control and gets back a purged response on a DFHLMLM Lock call and so the DFHLMLMM macro turns that into a DFHKERN FUNCTION(RECOVERY_REQUEST) which will invoke DFHKERRQ in 64-bit mode using these instructions: . AGHI 15,1 Set Amode 64. BASSM 14,15 Call Program. . Those instruction leave the low order 1 bit on in R15. . DFHKERRQ doesn't deal with that and uses R15 to set the R3 base register, still with that low-order 1 bit on. Then when DFHKERRQ uses R3 to load another address to branch to, R3 is off by 1 and so a bad address is loaded causing the 0C4. . Additional Symptoms / Search Keywords: KIXREVNDB S0C4 abend0C4 abendS0C4 Problem happens similarly when CICS is at MXT and the CICS region has run out of task numbers. DFHXMAT issues a DFHKERN FUNCTION(RECOVERY_REQUEST) call which turns the low- order 1 bit on in Reg15, then branches to DFHKERRQ. The 0C4 happens due to the invalid branch from DFHKERRQ but the resulting message will be: . DFHXM0001 An abend (code 0C4/AKEA) has occurred at offset X'FFFF' in module DFHXMAT. . The BEAR typically identifies a branch from offset x'18E': . Breaking Event Address: 00000000_xxxxxxxx - offset 0000018E in module DFHKERRQ . Problem also happens when tasks in LMQUEUE suspends are purged. In this case, the needed lock was the NQLOCK requested by DFHNQED. After the purge, DFHNQED issues the DFHKERN function(RECOVERY_REQUEST) which causes the same 0C4 in DFHKERRQ.
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: All * **************************************************************** * PROBLEM DESCRIPTION: DFHPG0001 An abend 0c4 occurred at * * offset X'FFFF' in module DFHPGLE. * **************************************************************** * RECOMMENDATION: * **************************************************************** DFHPGLE is in control and gets back a purged response on a DFHLMLMM Lock call and DFHLMLMW turns that into a DFHKERN FUNCTION(RECOVERY_REQUEST) which will invoke DFHKERRQ in AMODE 64, setting the low order bit on in the branch address in R15. DFHKERRQ uses R15 to set R3 as its base register. This still has the low-order 1 bit on. When DFHKERRQ later uses R3 to load another address to branch to, R3 is off by 1 and so a bad address is loaded, causing the S0C4. KEYWORDS: 0c4 s0c4 abend0c4 abends0c4 MSGDFHPG0001 PG0001
Problem conclusion
DFHKERRQ has been changed to set its base register correctly.
Temporary fix
FIX AVAILABLE BY PTF ONLY
Comments
APAR Information
APAR number
PM66484
Reported component name
CICS TS Z/OS V4
Reported component ID
5655S9700
Reported release
700
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2012-06-10
Closed date
2012-06-26
Last modified date
2012-12-26
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UK79865
Modules/Macros
DFHKERRQ
Fix information
Fixed component name
CICS TS Z/OS V4
Fixed component ID
5655S9700
Applicable component levels
R700 PSY UK79865
UP12/07/11 P F207
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:
26 December 2012