IBM Support

PM71194: TRANSACTION LOOPING IN DFHRMLSO BECAUSE OF THE RMLK CHAIN POINTING INTO ANOTHER UOW'S EMPTY ITERATOR 12/10/23 PTF PECHANGE

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

  • UK66252 UK67848 UK75374 UK75381
    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

    PM71194

  • Reported component name

    CICS TS Z/OS V4

  • Reported component ID

    5655S9700

  • Reported release

    600

  • Status

    CLOSED PER

  • PE

    YesPE

  • HIPER

    YesHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2012-08-20

  • Closed date

    2012-10-26

  • Last modified date

    2012-12-04

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

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

    PM75181 UK83064

Modules/Macros

  •    DFHRMLKT DFHRMLSD DFHRMLSF DFHRMLSO DFHRMLSP
    DFHRMLSS DFHRMLSU
    

Fix information

  • Fixed component name

    CICS TS Z/OS V4

  • Fixed component ID

    5655S9700

Applicable component levels

  • R600 PSY UK83064

       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.1","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.1","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
04 December 2012