APAR status
Closed as program error.
Error description
The problem is an 0C4 at DFSPSEL0 (PQ90951) at offset x'14A2' after label PSN1000 for instruction: OC PTEPDIR,PTEPDIR. R8 contains x'00000472' and was obtained from R5 (supposed to be a DDIR) + x'68'. R5 was passed in R1 from a DFSPSEL PART=NAMED, PST=(R7),DSG=(R5),LIST=(R1),PNAME=DDIRSYM call from DFSDLR00 + x'0692'. Prior to calling DFSPSELA via DFSPSEL, R5 was loaded from PSTWRKD8 in DFSDLR00. PSTWRKD8 is cleared in the INIT routine just after entering DFSDLR00 and, PSTWRKD8 is loaded with the DDIR address in routine TLKB for the Qualified GU call. At the time of the 0C4, PSTWRKD8 contains the address of the IOAREA. PSTWRKD7 contains the DBPCB address. One place this combination of addresses is loaded is by logic in COMPCBGO. When data compression is used, a code path in retrieve at label COMPCBGO can be executed that would lead to MVC instruction: MVC PSTWRKD7(8),4(R15) SAVE A(PCB), A(IOAREA). This instruction does a move character for a length of eight which would move data into PSTWRKD7 and PSTWRKD8 (the work word that is used in apar PQ90951).
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: All IMS 810 HALDB users with PK00367 * * installed and using secondary index and data * * compression. * **************************************************************** * PROBLEM DESCRIPTION: A GHU call done via a secondary index * * against a HALDB database that contains * * compressed segments results in an 0C4 * * in the INITEXIT routine. * **************************************************************** * RECOMMENDATION: INSTALL CORRECTIVE SERVICE FOR APAR/PTF * **************************************************************** PK00367 added code in the THISLVOK routine in DFSDLR00 to save the DDIR address into PSTWRKD8 work word. If the segment in the primary database is compressed the code after label COMPCBGO is executed. This code saves 8 bytes into PSTWRKD7 which then overlays the DDIR address saved earlier in PSTWRKD8. When the PK00367 code in INITEXIT attempts to use this value as a DDIR the ABEND0C4 results.
Problem conclusion
AIDS: RIDS/DBS RIDS/DBCALL DBS DBCALL DEP: NONE GEN: *** END IMS KEYWORDS *** ************ * DFSDLR00 * ************ Code has been changed in routine INITEXIT and THISLVOK to use PSTWRKD9 instead of PSTWRKD8. Code has also been changed after label COMPCBGO to use two move character instructions instead of one to store the address of the PCB into PSTWRKD7, and address of the IOAREA into PSTWRKD8. This was done to have an explicit reference to PSTWRKD7 and PSTWRKD8 and avoid coding errors in the future.
Temporary fix
Comments
APAR Information
APAR number
PK04158
Reported component name
IMS V8
Reported component ID
5655C5600
Reported release
801
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2005-04-13
Closed date
2005-05-24
Last modified date
2006-10-04
APAR is sysrouted FROM one or more of the following:
PK04111
APAR is sysrouted TO one or more of the following:
UK03791
Modules/Macros
DFSDLR00
Fix information
Fixed component name
IMS V8
Fixed component ID
5655C5600
Applicable component levels
R801 PSY UK03791
UP05/05/27 P F505
[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSCVRBJ","label":"System Services"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"801","Edition":"","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
04 October 2006