A fix is available
APAR status
Closed as program error.
Error description
For IMS DB/DC system, there are two IMODASCT blocks after the IMODSTAT block in ECSA, one for CTL rgn and one for DLI rgn. For DCCTL system, there is one IMODASCT block for CTL rgn only. . When user accidentally started a DLI PROC for DCCTL system, the DLI region failed because it is a DCCTL system. But the failed DLI job invoked DFSMODX0 which tried to initialize the common storage for the second IMODASCT block. This overlaid the storage after the first IMODASCT block. . This is a user error of starting the DLI proc for DCCTL system. But IMS should avoid the overlay by stopping the process at an early time.
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: All IMS V13 users. * **************************************************************** * PROBLEM DESCRIPTION: A key 0 storage overlay occurs when a * * DLI/SAS region is started associated * * with an IMS control region that is not * * using DLI/SAS (i.e., DCCTL or DB/TM * * with LSO=Y). * * * * An IMS storage manager control block is * * reinitialized while already in use when * * a second DLI/SAS address space is * * started associated with an IMS control * * region using LSO=S that already has a * * DLI region active. * **************************************************************** * RECOMMENDATION: INSTALL CORRECTIVE SERVICE FOR APAR/PTF * **************************************************************** When an IMS control region is started, storage management initialization (DFSMODX0) obtains key 0 common storage for an IMODULE statistics and control area (IMODSTAT) and either one or two IMODULE address space control sections (IMODASCT). If the IMS that is initializing is not running with a DLI/SAS address space, then storage is obtained for only one IMODASCT (used for the control region). If IMS is using DLI/SAS, then two IMODASCTs are obtained -- one for control and one for DLI. The control region continues on to initialize its IMODASCT. If DLI is being used, then when the DLI region is started, it locates the second IMODASCT behind the control region's IMODASCT and initializes it for DLI storage tracking. IMS environments that do not use DLI/SAS include DCCTL and DB/TM with LSO=Y. These environments do not start a DLI/SAS address. However, if a DLI region happens to be started manually, and if it is associated with the non-DLI-using control region, the DLI region will get far enough to invoke storage management initialization before it recognizes that it is not appropriate to be running in the environment. Storage management initialization assumes that if it is called by a DLI address space, that the second IMODASCT was allocated behind the control region's IMODASCT, and it goes ahead and initializes it. For the case of a DCCTL or LSO=Y system, the second IMODASCT was not allocated, so this initialization will at best ABEND0C4, and at worst will overlay storage beyond the storage that was allocated. IMS environments that do use DLI/SAS include DBCTL and DB/TM with LSO=S specified. These environments start a DLI/SAS address space automatically as a part of IMS initialization. The DLI/SAS address space initializes its IMODASCT as noted above. If then a second DLI/SAS address space is later erroneously started for the same IMSID, it will invoke storage management initialization, and will re-initialize the IMODASCT section, not recognizing that the IMODASCT has already been initialized. This can cause fields that were initialized for the first instance of DLI to be changed, such that the first DLI instance will no longer function correctly. This can result in various unpredictable results. In the case of this APAR, the situation was a DCCTL control region that had an associated DLI region started for it. The DLI region overlaid a Catalog MMIB control block. This led to various symptoms, including ABEND179, users being unable to logon, and an eventual hung system and z/OS IPL. However, the specific symptoms of this overlay will vary depending on who owns the storage immediately after the IMODSTAT and IMODASCT block. Note that neither scenario described is an expected situation. DCCTL and LSO=Y IMSs will not, on their own, start a DLI/SAS address space. IMSs using DLI/SAS (LSO=S) will only start one DLI/SAS address space. The situation only occurs when DLI is started explicitly, outside of normal IMS control.
Problem conclusion
GEN: KEYWORDS: *** END IMS KEYWORDS *** DFSMODX0 (IMS storage manager initialization) is changed to make two additional checks when called under a DLI address space: 1. Existing bit IMSF1DLI in the IMODSTAT block is tested, and if not set, the initialization call is failed with new return code X'24'. IMSF1DLI is set under the control region when the IMODSTAT block is obtained if there is a second IMODASCT for the DLI region. Thus, this bit being off indicates that the IMS control region did not expect there to be a DLI region for the IMS, and the calling DLI region must have been started in error. 2. Prior to initializing the DLI IMODASCT block, field IMA_ASTYPE is compared with the string 'DLI'. If equal, then the DLI IMODASCT block has already been initialized by an earlier DLI region, and the calling DLI region must be a second instance that was started in error. The call is failed with new return code X'28'. Additionally, the new IMS V13 VTDIR dump formatter module DFSEF630 is changed to format the IRCVECT block prior to dumping the VTDIRs for normal and MAX formatting. Module DFSEF63F is changed to include the dump format list for the IRCVECT block. Publications Change: -------------------- In the Messages and Codes, Volume 1: DFS Messages manual (GC18-9712), Chapter 4. DFS messages, DFS0501 - DFS1000, for message DFS686W, add missing return code 530 under "DFSVCI00 failures": Code Function 530 Initialization of IMODULE services failed. See the preceding DFS4342E message for details about the failure. xxxx in the message is the return code from IMODULE services initialization module DFSMODX0. In the Messages and Codes, Volume 1: DFS Messages manual (GC18-9712), Chapter 11. DFS messages, DFS4001 - DFS4600, for message DFS4342E, add the following two new return codes: 24 A DLI/SAS region attempted to initialize IMS IMODULE services; however, the associated IMS control region is not running with DLI/SAS, and did not allocate an IMODULE IMODASCT block for DLI. This error can be due to erroneously starting a DLI address space directly, outside of IMS's control when the associated control region is a DCCTL IMS, or is running with LSO=Y (no DLI). 28 A DLI/SAS region attempted to initialize IMS IMODULE services; however, another DLI region had already initialized IMODULE services for the same control region. This error can be caused by erroneously starting a second DLI address space directly, outside of IMS's control, when there is already a DLI address space started for the same IMS control region.
Temporary fix
********* * HIPER * *********
Comments
APAR Information
APAR number
PM78048
Reported component name
IMS V13
Reported component ID
5635A0400
Reported release
300
Status
CLOSED PER
PE
NoPE
HIPER
YesHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2012-11-28
Closed date
2012-12-14
Last modified date
2013-10-04
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UK90377
Modules/Macros
DFSEF63F DFSEF630 DFSMODX0
GC18971206 |
Fix information
Fixed component name
IMS V13
Fixed component ID
5635A0400
Applicable component levels
R300 PSY UK90377
UP12/12/19 P F212
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"}],"Version":"300","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
14 December 2020