IBM Support

PH48590: A LOOP OCCURS DURING THE IIDR/DBCTL TERMINATION PROCESS.

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • A loop occurred during the IIDR/DBCTL termination process.
    .
    The loop was encountered at PC 1402 IWMMDELE call from
    DFSV4200 + 2A42. (A workload manager performance block
    (WLM PB) delete call ( IWMMDELE ) issue to delete a PB)
    It was due to the PTE (Pool Table Entry) pointer address
    
    
    
    which was already chained was passed as the next pointer
    wrongly
    .
    <> Module flow: DFSDASD0/PM91054/UK96502 +178 :
                       IMSAUTH FUNC=WLM_PBPOOL,LIST=(R4)
    .
     +--> DFSV4200/PI53191/UI37443+2A42 :
     |     DFSWLML ENVIRON=PBPOOL,PARM=(R3),PBTKN=IWLME_PBTKN
     |     --> IWMMDELE MONTKN=&PBTKN,MF=(E,&PARM,)
     |        --> IWMI2LPA+01DB98 IN EXTENDED PLPA (LPA: IWMX2DEL02)
     |                        |
     |                        |
     |                        V
     |------------------------+
          **** LOOP *****
    IWLME_NEXT (Table entry chain) pointer back to the previous one
    .
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * All users of IMS v15 CCTL Open Thread, ODBA, or ODBM RRS=Y   *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * When IIDR (IBM Data Replication) is active, looping may      *
    * occur during DBCTL shutdown or at other times.               *
    * ** NOTE ** This issue is not specific to IIDR, and could     *
    * occur in these environments:                                 *
    * CICS users with Threadsafe enable for IMS threads, ODBM      *
    * users with RRS=Y specified, and ODBA users.                  *
    *                                                              *
    ****************************************************************
    * RECOMMENDATION:                                              *
    * INSTALL CORRECTIVE SERVICE FOR APAR/PTF.                     *
    ****************************************************************
    When IIDR using CCTL Open Thread protocol is active, queues of
    available and free WLM Performance Blocks are maintained.
    Pointers to the queues, along with a count of available queue
    elements, is maintained in the DFSWLMPP block.  Whenever a PB is
    added or removed from one of the queues, this interaction is
    serialized using the CDS instruction as multiple threads may be
    manipulating the queue at the same time.  The code is written in
    a way that assumes that if the address of the first PB on the
    queue is unchanged, and the number of queue elements is
    unchanged, then the queue itself is unchanged.  This is not
    actually true, as in the following example:
    
    1.  Remove element A from the queue
    2.  Remove element B from the queue
    3.  Return element C to the queue
    4.  Return element A to the queue
    
    If this, or something similar, occurs, the serialization may
    fail, and the chain of PBs could become corrupted in a way that
    creates a loop.
    

Problem conclusion

  • DFSV4200, DFSDASS0 and DFSDASP0 are changed to only increment
    the count fields of IWLMH_AVALPBQ and IWLMH_FREEPTQ ensuring
    only unique values are used in the update (CDS instruction) of
    the respective fields. A new field has been added to DFSWLMPP to
    track the counts of both available and free PTE queues.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH48590

  • Reported component name

    IMS V15

  • Reported component ID

    5635A0600

  • Reported release

    500

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2022-08-10

  • Closed date

    2022-09-09

  • Last modified date

    2022-10-03

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

    PH47381

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

    UI82346

Modules/Macros

  • DFSDASS0 DFSWLMPP DFSDASP0 DFSV4200 DFSPRRA0
    

Fix information

  • Fixed component name

    IMS V15

  • Fixed component ID

    5635A0600

Applicable component levels

  • R500 PSY UI82346

       UP22/09/10 P F209

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":"SSEPH2","label":"IMS"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"15","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]

Document Information

Modified date:
22 December 2023