IBM Support

PM78048: STORAGE OVERLAY WHEN STARTING DLI PROC FOR DCCTL SYSTEM.

A fix is available

Subscribe

You can track all active APARs for this component.

 

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:

    PM77936

  • APAR is sysrouted TO one or more of the following:

    UK90377

Modules/Macros

  •    DFSEF63F DFSEF630 DFSMODX0
    

Publications Referenced
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