IBM Support

PI13486: KD70040: DEDB ALTER CAUSES IFP REGION ABENDU1026

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Multiple IFP region up with conccurent updates against DEDB
    areas, run DEDB Alter utility to perform one area change:
    UOW & ROOT, and randomzier replace.
    Right after DEDB Alter utility submit, one or more IFP regions
    1026 abend occurred.
    This problem only occurs when there are multiple IFP regions up.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: ALL IMSFP V13 DEDB ALTER USERS.              *
    ****************************************************************
    * PROBLEM DESCRIPTION: ABENDU1026 while releasing the shared   *
    *                      DEDBALTER DEDB latch.                   *
    ****************************************************************
    * RECOMMENDATION: INSTALL CORRECTIVE SERVICE FOR APAR/PTF      *
    ****************************************************************
      Abendu1026 seen on dependent regions while DEDB ALTER is
    active.  The QLTL (latch data block) was being obtained when the
    first sharing thread needed to obtain the latch.
    
      There was a race condition when two threads obtained the
    QLTL block at the same time, and one was lost.  The thread which
    lost out (the block was lost due to the DMCB_QLTL pointer being
    overwritten) had already obtained the latch and the shared latch
    holder count was set to one.  Then block was then lost,
    resulting in the 'active' QLTL being short one in the share
    count.
    
      During utility termination, as the threads released the
    shared DEDB latch, the count went negative triggering the
    abend u1026 .
    

Problem conclusion

  • GEN:
    KEYWORDS:
    
    *** END IMS KEYWORDS ***
    DBFDAC60
      New part.  Case 1 will get a DBFQLTC block when called from
      - OCO parts Case 2 added for unrelated apar which needs to
      - call DBFDAC60, to -  reduce sequence number issues with
      - future apars
    
    DBFDADCS, DBFDADC0
      Get DBFELOCK LOCK=QLTC when processing the DATM chain.
      - This is to - avoid timing issues with DBFDAS00 processing
      - the DATM chain at the same moment.
    
    DBFDAH00
      Added code to get a QLTLT for DBCB_QLTL prior to obtaining
      - the AREA - QUIECE latch (if DMCB_QLTL is 0)
    
    DBFDAI10
      Added code to check if DBFDAQA0/DBFDAQD0 is in a 'non-post'
      - state, and - if so to skip posting.  This will occur if
      - DAQA/DAQD need to issued a service call which *might* wait.
      We check QLTE_TP with CS logic, and - if QLTE_TP='POOK' or
      - QLTE_TP='INIT' we can post.
    
    DBFDAQA0
      CS QLTE_TP='PONO' (POst NO) before setting the timer.  CS
      - QLTE_TP='POOK' just before calling LATCH module (DBFDALA).
      - The latch module checks the POST code, so being posted after
      - this point is ok.
      We now call DBFQLTC4 twice (see write up on DBFQLTC2).
      - This first call is to obtain the QLTD/QLTA if they do not
      - exist.  The second call is to obtain the latch
    
    DBFDAQD0
      CS QLTE_TP='PONO' (POst NO) before setting the timer.  CS
      - QLTE_TP='POOK' just before calling LATCH module (DBFDALD).
      - The latch module checks the POST code, so being posted
      - after this point it is OK to post us.
      We now call DBFQLTC4 twice (see write up on DBFQLTC2).
      - This first call is to obtain the QLTD if it does not exist.
      - The second call is to obtain the latch
    
    DBFDAS00
      Obtain the DBFELOCK LOCK=QLTC before processing the DATM
      - chain.
    
    DBFDAU70
      Obtain the QLTC block for DMAC_QLTL before setting DMCBDAIP,
      - and during ALTER_ARAN , which will
      - trigger DBFIRC10 to obtain the latch at the start of a UOR.
    
    DBFEPB
      Added DBFDAC60 entry point.  DBFDAU70 might obtain the
      - latches prior to loading the modules.
    
    DBFEPST
      Added EPSTQLTE for DBFDAQA0/DBFDAQD0 to save the QLTE.  It
      - might be needed by DBFATRM0 during abnormal termination.
    
    DBFESCD
      Added ESCDDAC60 EPA for DBFDAC60.
    
    DBFIMPL0
      Load DBFDAC60 and save EPA in ESCDDAC60
    
    DBFNCBS0
      Obtain the DMAC_QLTL (QLTC) block before DMCBDAIP is set.
    
    DBFQLTC0
      Removed code to get the QLTC for DMCBQLTL, which is not
      - obtained earlier in the DEDB ALTER process.
    
    DBFQLTC2
      Removed code to get the QLTC for DMCBQLTL, which is not
      - obtained earlier in the DEDB ALTER process.
      Broke code into a case statement.  Case 1 will get a QLTD
      - if needed.  Case 2 will find the QLTD and obtain
      - the DEDB LATCH.  This was simpler - than adding the
      - code into DBFDAQD0 to obtain the QLTD block.
    
    DBFQLTC4
      Removed code to get the QLTC for DMCBQLTL, which is not
      - obtained earlier in the DEDB ALTER process.
      Broked code into a case statement.  Case 1 will get a QLTD
      - if needed.  Case 2 will find the QLTD/QLTA and obtain
      - the AREA LATCH.  This was simpler than adding the code
      - into DBFDAQA0 to obtain the QLTD/QLTA blocks.
    
    DBFQLTE
      Added F1_TERM flag, so DBFDAI10 knows NOT to post
      - DBFDAQA0/DBFDAQD0.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PI13486

  • Reported component name

    IMS V13

  • Reported component ID

    5635A0400

  • Reported release

    300

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2014-03-11

  • Closed date

    2014-05-08

  • Last modified date

    2014-06-03

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

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

    UI17810

Modules/Macros

  • DBFDAC60 DBFDADCS DBFDADC0 DBFDAH00 DBFDAI10 DBFDAQA0 DBFDAQD0
    DBFDAS00 DBFDAU70 DBFEPST  DBFESCD  DBFIMPL0 DBFNCBS0 DBFQLTC0
    DBFQLTC2 DBFQLTC4
    

Fix information

  • Fixed component name

    IMS V13

  • Fixed component ID

    5635A0400

Applicable component levels

  • R300 PSY UI17810

       UP14/05/14 P F405

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