IBM Support

PM75181: TRANSACTION LOOPING IN DFHRMLSO BECAUSE OF THE RMLK CHAIN POINTING INTO ANOTHER UOW'S EMPTY ITERATOR CHAIN

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • The dumps show a UOW that has a chain of iterators for its
    RMLKs, and these chains have ended up pointing into another
    UOW's (empty) iterator chain. An empty chain has its prev and
    next pointers both the same and pointing at the same dummy point
    within the RMUW. DFHRMLSO then loops when going forward to the
    next entry.
    There appears to be what looks like stale data in the iterator
    pointers for two of the RMUWs in the system. We can see that
    HOP_StartIterator is called without first getting a lock which
    could lead to the issue that is being seen.
    This loop in DFHRMLSO also leads to a number of tasks entering
    LMQUEUE waits while waiting on the RMDMLOCK to be freed. The
    owner of this task will not relinquish control of the lock
    because it is currently looping in DFHRMLSO
    Additional Keywords: RMDMLOCK, DFHRMLSO, LOOP, 17CE , 17E2
    rmls_remove_link
    KIXREVNDB
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All CICS users.                              *
    ****************************************************************
    * PROBLEM DESCRIPTION: A task hangs. SYSTRACE shows a loop in  *
    *                      DFHRMLSO.                               *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    One task is running through SYNCPOINT on an open TCB. Another
    task is inquiring on UOWLINKs (which is not threadsafe so runs
    on the QR TCB). So the second task (unit of work) is browsing
    the RM links (RMLKs) for the first unit of work. Both these
    tasks use HOP_StartIterator and HOP_EndIterator macros to
    manipulate chains of iterators for the two units of work.
    These macros are not threadsafe, and since they are running
    on different TCBs they are able to interfere with one another.
    This leads to stale data in the iterator pointers for one of
    the units of work.
    In the reported problem, this led to a unit of work with
    chains of iterators for its RMLKs, pointing into another UOWs
    (empty) iterator chain. An empty chain has its previous and
    next pointers both the same and pointing at the same dummy
    location within the RMUW. Hence the code then loops going
    forwards on the next ptr.
    

Problem conclusion

  • Recovery Manager has been amended to get the RM domain lock
    prior to manipulating the iterator chains. This ensures a
    threadsafe syncpoint cannot interfere with an INQUIRE UOWLINK
    CICS SPI command.
    

Temporary fix

  •             *********
                * HIPER *
                *********
    FIX AVAILABLE BY PTF ONLY
    

Comments

APAR Information

  • APAR number

    PM75181

  • Reported component name

    CICS TS Z/OS V4

  • Reported component ID

    5655S9700

  • Reported release

    700

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    YesHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2012-10-17

  • Closed date

    2012-10-26

  • Last modified date

    2012-12-04

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

    PM71194

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

    UK83074

Modules/Macros

  •    DFHRMCD  DFHRMCD1 DFHRMCD2 DFHRMCI2 DFHRMCI3
    DFHRMCI4 DFHRMDM  DFHRMDU0 DFHRMDU2 DFHRMDU3 DFHRMDU4 DFHRMDU5
    DFHRMLKQ DFHRMLK1 DFHRMLK2 DFHRMLK3 DFHRMLK4 DFHRMLK5 DFHRMLN
    DFHRMLSD DFHRMLSF DFHRMLSO DFHRMLSP DFHRMLSS DFHRMLSU DFHRML1D
    DFHRMNM  DFHRMNM1 DFHRMNS1 DFHRMNS2 DFHRMOT  DFHRMRO  DFHRMROO
    DFHRMROS DFHRMROU DFHRMROV DFHRMRO1 DFHRMRO2 DFHRMRO3 DFHRMRO4
    DFHRMRS  DFHRMR1D DFHRMR1E DFHRMR1K DFHRMR1S DFHRMST  DFHRMST1
    DFHRMTRI DFHRMUC  DFHRMUO  DFHRMUW  DFHRMUWB DFHRMUWE DFHRMUWF
    DFHRMUWH DFHRMUWJ DFHRMUWL DFHRMUWN DFHRMUWP DFHRMUWQ DFHRMUWS
    DFHRMUWU DFHRMUWV DFHRMUWW DFHRMUW0 DFHRMUW1 DFHRMUW2 DFHRMUW3
    DFHRMU1C DFHRMU1D DFHRMU1E DFHRMU1F DFHRMU1G DFHRMU1J DFHRMU1K
    DFHRMU1L DFHRMU1N DFHRMU1Q DFHRMU1R DFHRMU1S DFHRMU1U DFHRMU1V
    DFHRMU1W DFHR2TRI
    

Fix information

  • Fixed component name

    CICS TS Z/OS V4

  • Fixed component ID

    5655S9700

Applicable component levels

  • R700 PSY UK83074

       UP12/11/03 P F211

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":"SSGMGV","label":"CICS Transaction Server"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"4.2","Edition":"","Line of Business":{"code":"LOB35","label":"Mainframe SW"}},{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19M","label":"APARs - z\/OS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"4.2","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
04 December 2012