A fix is available
APAR status
Closed as program error.
Error description
Problem may be seen with either of the following messages: . DFHLD0002 A severe error (code X'0809') has occurred in module DFHLDLD. or DFHLD0001 An abend (code 0C4/AKEA) has occurred at offset X'1496' in module DFHLDLD. . The problem is a locking problem with PG domain PLCB 's. A CONA task running on the QR TCB issues an EXEC CICS INQUIRE TASK request for a task currently executing on an L8 TCB. During processing of this request, DFHPGIS is called for INQUIRE_CURRENT_PROGRAM and is passed a valid TXN address. At time of the INQUIRE_CURRENT_PROGRAM from CONA, the task being inquired on is executing in a TRUE program CSFATRUE, and the head PLCB (field PTA_PLCB_HEAD ) is correspondingly CSFATRUE. . MVS system trace shows that the QR TCB loses control just as it's about to execute the LOAD instruction at offset '6C8' in DFHPGIS (UK63860). The QR TCB begins running shortly afterward but before it does, the task running on it's L8 TCB completes it's processing in CSFATRUE and DFHERM updates the PLCBs to reflect this. DFHERM uses an inline DFHPGEXI macro (functions PREPARE_EXIT and CLEAR_EXIT) to manipulate the PLCBs but doesn't hold the PG lock when it does this. So the head PLCB (field PTA_PLCB_HEAD ) changes out from under CONA who then goes on to load from the now invalid PLCB for CSFATRUE, picks up an invalid address and saves it in field PPTE_PTR. DFHPGIS then calls Loader domain passing an invalid token and either the DFHLD0002 Severe error x'0809' or the abend0C4 in DFHLDLD will occur. It looks like the same problem could occur in DFHUEH who also uses the DFHPGEXI macro to manipulate the PLCBs for GLUEs. . Additional Symptom(s) Search Keyword(s): KIXREVSLY 0809 CONL PTA 0C4 S0C4 abendS0C4 abend0C4 GLUE DFHPG0001 An abend (code 0C4/AKEA) has occurred at offset X'0B28' in module DFHPGIS. ppte plcb pta DFHEIQSK PG0001 40404040
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: All. * **************************************************************** * PROBLEM DESCRIPTION: DFHLD0002 Severe error (code x'0809') * * in module DFHLDLD * **************************************************************** * RECOMMENDATION: * **************************************************************** While processing an EXEC CICS INQUIRE TASK, DFHPGIS is called for inquire_current_program. If the subject of the inquire is running on a different TCB, it can change link level during the course of inquire_current_program's execution. If task interleaving occurs in a particular way, it is possible for inquire_current_program to pick up a pointer to the PLCB for the program at the original link level. It then references the PLCB after the link level has changed. It's likely that the original PLCB will have been freed at this stage, and therefore the contents of storage will be unpredictable. When the current program for a task is a GLUE or TRUE, inquire_current_program must call DFHLDLD to obtain some of the program's attributes. It may then pass a bad program token retrieved from the freed PLCB, resulting in the severe error or 0C4. Additional keywords: msgDFHLD0002 msgDFHLD0001 LD0002 LD0001
Problem conclusion
All CICS code which modifies the PLCB has been changed to copy data used by inquire_current_program into an area in the PTA. DFHPGIS inquire_current_program has been updated to use this data, rather than referencing the PLCB, so that it does not risk referencing a PLCB which is no longer available. In addition, an update count is maintained for the area in the PTA. The means that inquire_current_program can tell if the data has changed since the inquire started, and retry if so. The CICS Transaction Server for z/OS, Version 3, Release 1 Supplementary Data Areas manual, GC34-6905-03, will be updated with the changes to the PTA and PLCB as follows: Within DSECT PGDCC, PTA - PG Transaction Area on page 386: After PTA_CHCB, add the following: Offset Type Len Name Description 48 CHARACTER 44 PTA_PLCB_HEAD_COPY Copy of info from head PLCB for inquire_current_program 48 ADDRESS 4 PTA_PLCB_PREV_PTR Previous PLCB 4C CHARACTER 28 PTA_PLCB_PROGRAM_INSTANCE Instance of current prog 4C CHARACTER 8 PTA_PLCB_PROGRAM_NAME Prog name 54 ADDRESS 4 PTA_PLCB_PROG_PPTE PPT entry for this lvl 58 CHARACTER 16 PTA_PLCB_PROGRAM_DETAILS This structure is used for improving performance 58 ADDRESS 4 PTA_PLCB_LOAD_POINT Program load point 5C ADDRESS 4 PTA_PLCB_ENTRY_POINT Program entry point 60 CHARACTER 1 * 1... .... PTA_PLCB_AMODE_31 AMODE on=31 off=24 60 FULLWORD 4 PTA_PLCB_PROGRAM_LENGTH program_length 64 ADDRESS 4 PTA_PLCB_LANGUAGE_TOKEN Progam language extension 68 BIT(8) 1 PTA_PLCB_INSTANCE_FLAGS Bit settings are the same as those in PPTE_DEFINTION 1... .... PTA_PLCB_CEDF_STATUS CEDF status .1.. .... * ..1. .... PTA_PLCB_ANY_DATA_LOC Data location ...1 .... PTA_PLCB_DPLSUBSET Program execution set .... 11.. * .... ...1 PTA_PLCB_DYNAMIC_STATUS Dynamic DPL status 69 CHARACTER 1 PTA_PLCB_ENVIRONMENT Environment info UNSIGNED 1 PTA_PLCB_ENVIRONMENT_TYPE Enviroment type 6A BIT(8) 1 PTA_PLCB_FLAGS 1... .... PTA_PLCB_INPUTMSG_SUPPLIED Input msg passed on link or XCTL to this level .1.. .... PTA_PLCB_XCTL_IN_PROGRESS XCTL in progress ..1. .... PTA_PLCB_HANDLE_ABEND_PGM Abend handler program ...1 .... PTA_PLCB_SYSEIB_REQUEST SYSEIB specified .... 1... PTA_PLCB_HPJ_PROGRAM Java program object .... .111 * Reserved 6B CHARACTER 1 * Unused 6C CHARACTER 8 PTA_PLCB_INVOKING_PROG Invoking program 74 FULLWORD 4 PTA_PLCB_HEAD_UPDATE_COUNT Number of times PLCB updated The last row should be updated with an offset of 78 and the Len value of the PTA structure at offset 0 should be changed to: 120 . Within DSECT PGDCC, PLCB - Program Level Control Block on page 386: After PLCB_BLOCK_NAME, insert the following: 10 CHARACTER 35 PLCB_INQUIRE_DATA Used to copy into PTA
Temporary fix
FIX AVAILABLE BY PTF ONLY
Comments
**** PE13/09/04 FIX IN ERROR. SEE APAR PM96353 FOR DESCRIPTION
APAR Information
APAR number
PM70502
Reported component name
CICSTS V3 Z/OS
Reported component ID
5655M1500
Reported release
400
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2012-08-08
Closed date
2012-11-05
Last modified date
2013-09-25
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UK83233 UK83234 UK83235 UK83236
Modules/Macros
DFHABAB DFHABABT DFHAMPIL DFHAPCR DFHAPCRT DFHAPEX DFHAPLI1 DFHAPLI2 DFHAPLI3 DFHAPLJ1 DFHAPLJ3 DFHAPLX1 DFHAPLX3 DFHAPPG DFHAPRT DFHAPRTT DFHBAAR1 DFHBAAR2 DFHBRIC DFHBRMS DFHBRSP DFHBRSPT DFHBRTC DFHDLI DFHDUDU DFHD2EX1 DFHEEI DFHEIBAM DFHEIFC DFHEIIC DFHEIP DFHEPC DFHERM DFHFCFR DFHICXM DFHMNMN DFHPCPG DFHPCXDF DFHPGAI DFHPGAIT DFHPGAQ DFHPGAQT DFHPGAQX DFHPGAQY DFHPGCH DFHPGCHT DFHPGCP DFHPGCPT DFHPGCR DFHPGCRT DFHPGDD DFHPGDDT DFHPGDM DFHPGDUF DFHPGEX DFHPGEXT DFHPGHM DFHPGIS DFHPGISA DFHPGISM DFHPGIST DFHPGISX DFHPGISY DFHPGLD DFHPGLDT DFHPGLE DFHPGLET DFHPGLK DFHPGLKT DFHPGLU DFHPGLUT DFHPGPG DFHPGPGT DFHPGRE DFHPGRET DFHPGRP DFHPGRPT DFHPGST DFHPGUE DFHPGXE DFHPGXET DFHPGXM DFHPGXMT DFHSMGF DFHSMMG DFHSNAS DFHSNPU DFHSNSG DFHSNSU DFHSNTU DFHSNUS DFHSNUST DFHSUEX DFHUEH DFHWBAP DFHWBAPF DFHWBAPT DFHWBCL DFHWBCLD DFHWBCLH DFHWBCLI DFHWBCLL DFHWBCLO DFHWBCLT DFHWBDM DFHWBSR DFHWBSRT DFHWBXM DFHWBXMT DFHXSAD DFHXSADT DFHXSRC DFHXSRCT DFHZAND
| GC34690503 |
Fix information
Fixed component name
CICSTS V3 Z/OS
Fixed component ID
5655M1500
Applicable component levels
R400 PSY UK83233
UP12/11/09 P F211
R401 PSY UK83234
UP12/11/09 P F211
R402 PSY UK83235
UP12/11/09 P F211
R403 PSY UK83236
UP12/11/09 P F211
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:
25 September 2013