A fix is available
APAR status
Closed as program error.
Error description
After applying APAR PM60830 / PTF UK81843, an ABEND0C4 occurred in module DFSSRB+EC. This occurred in the CICS address space while IMS is in the shutdown process. . PARTERM is part of module DFSSRB. It is copied to module DFSSRB from module DFSDASI0. APAR PM60830 made updates to the PARTERM routine in DFSDASI0. . A review of the PARTERM code shows a misplaced LTORG statement: . PARTERML EQU *-PARTERM LENGTH OF SRB ROUTINE LTORG , . This placement caused a needed field to be excluded from the length calculation. PARTERML was defined as 3 bytes short. When the copy was done to module DFSSRB, the needed 3 bytes were not copied. This lead to the ABEND0C4. . The LTORG should be specified prior to the PARTERML EQU. KEYWORDS:
Local fix
None . Additional symptoms: ABENDx78 during FREEMAIN / GETMAIN ABENDB78 during FREEMAIN / GETMAIN
Problem summary
**************************************************************** * USERS AFFECTED: All IMS V12 CCTL, ODBA, and/or ODBM users * * that have APAR PM60830 and/or PTF UK81843 * * installed. * **************************************************************** * PROBLEM DESCRIPTION: Two problems are fixed in this apar: * * * * 1. An ABENDS0C4 can occur in the * * DFSDASI0 PARTERM routine, * * CHANGEID=DFSV410A_SRB, during IMS * * Control Region normal termination * * processing following a /CHE * * FREEZE/DUMPQ command. * * * * Externally, from the title of the * * resulting dump that is taken, this * * error appears as: * * * * DUMP TITLE=DBCTL DRA S00C4 DFSFPRA0, * * CONTROL TCB ESTAE INVOKED ...... * * * * This exposure was introduced with IMS * * APAR PM60830 / PTF UK81843. * * * * 2. AbendC78 RC20 when CPOOL is invoked * * with a value of zero for the PRIMARY= * * parm. * **************************************************************** * RECOMMENDATION: INSTALL CORRECTIVE SERVICE FOR APAR/PTF * **************************************************************** Problem 1 --------- In a CCTL, ODBA, and/or ODBM environment where the DRA interface to IMS DBCTL is utilized, module DFSDASI0 is called to perform DBCTL Identify processing. As part of this process, an SRB routine, PARTERM, is created in sub pool 230 (SP230) to be used when: 1. a CCTL, ODBA, or ODBA thread abnormally terminates. 2. the IMS Control Region terminates normally. When either of the above conditions occur, module DFSV4100 is called to build and schedule its own SRB, in sub pool 245 (SP245), to perform the action requested. For dependent region abend cases, the DFSV4100 SP245 SRB is used to abend the dependent region(s). In the case of IMS Control region normal termination, the DFSV4100 SP245 SRB is used to notify the DRA to quiesce its threads. Regardless of which case is requested, DFSV4100 copies the contents, including the PARTERM routine, of the SP230 SRB previously built by DFSDASI0 into its newly obtained SP245 SRB. As a result of the code changes made by APAR PM60830 / PTF UK81843, an LTORG statement was inadvertently misplaced 4 bytes beyond the length of the SRB routine itself. The LTORG statement was defining a symbol in the literal pool that was referenced by an ICM instruction within a FREEMAIN request. Since this FREEMAIN request was within the confines of the PARTERM routine, the LTORG should have been placed prior to the PARTERM routine length (PARTERML) calculation. Hence, when DFSV4100 was driven on behalf of the /CHE DUMPQ command to shut down IMS normally, an ABEND0C4 occurred on the ICM 3,13,=AL1(B'00000000',(0),B'00000001') instruction of the FREEMAIN call in the PARTERM routine. The abend occurred because the displacement in storage where the literal symbol =AL1(B'00000000',(0),B'00000001') resulted in being defined was four bytes past the length of the PARTERM routine and at a storage location not owned by IMS. Problem 2 --------- During identify processing, DFSDASI0 obtains a pool of WLM PB blocks to be used by ODBA threads later. The value is set from the MINTHD and MAXTHD values passed in the DFSSSOB block. The min and max thread counts were relocated and added to the SSOB block respectively, by APAR PM60830 / PTF UK81843. The problem occurs when the IMS control region is running with PM60830 installed and the DRA modules are loaded from an IMS reslib that does not have PM60830 installed. The MINTHD and MAXTHD values are zero when coming from the lower level and zero is incorrectly used as PRIMARY= count on the CPOOL call resulting in the abendsC78 RC20. IBM recommends that the DRA library be at the same level as the IMS to which it is connecting, however, IMS should as much as possible, tolerate and anticipate this situation and take preventative measures. Additional Keywords: DFSSRB cmdCHE FREEZE CICS S0C4 0C4
Problem conclusion
GEN: KEYWORDS: SYSPLEXDS *** END IMS KEYWORDS *** Problem 1 --------- The LTORG statement within the PARTERM routine in module DFSDASI0 has been relocated so that resides prior to PARTERM routine length (PARTERML) calculation and can be safely referenced by the ICM instruction. Problem 2 --------- Code in DFSDASI0 has been added to ensure that a value of zero will not be used on the CPOOL call and the count of WLM PB pool blocks obtained using the MINTHD and MAXTHD values. Macro change DFSWLME - Add PLISTVER=1 to IWM4MCRE and IWMMCREA macros to ensure the parm area size remains constant. DFSVCI00 - Change to use constant IWLMPRML instead of the hard coded value to determine the size of the DFSWLMWK block.
Temporary fix
********* * HIPER * *********
Comments
APAR Information
APAR number
PM97386
Reported component name
IMS V12
Reported component ID
5635A0300
Reported release
200
Status
CLOSED PER
PE
YesPE
HIPER
YesHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2013-09-19
Closed date
2014-10-20
Last modified date
2014-11-04
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
PM97387 UI22330
Modules/Macros
DFSDASI0 DFSWLME
Fix information
Fixed component name
IMS V12
Fixed component ID
5635A0300
Applicable component levels
R200 PSY UI22330
UP14/10/21 P F410 «
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":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19M","label":"APARs - z\/OS environment"},"Platform":[{"code":"PF054","label":"z Systems"}],"Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
14 December 2020