IBM Support

PK97060: CICS DEADLOCK BETWEEN 2 TASKS FOR THE XMLOCK AND SMLOCK

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • CICS is in a stall condition with most tasks hung in LMQUEUE
    suspends for the XM_LOCK or the SM_LOCK. The problem is similar
    to PK67128 except that the module here is DFHSMAR rather than
    DFHSMMF. Here the deadlock is between 2 tasks, one of which is
    terminating. During task termination, the task's storage is
    being freed when a storage violation is detected. DFHSMAR, in
    proc STORAGE_CHECK_FAILURE, then calls DFHXMIQ to increment the
    number of storage violations for the transaction. At the time of
    the call to DFHXMIQ, the task owns the SMLOCK. DFHXMIQ then
    tries to get the XMLOCK and suspends because the XMLOCK is
    owned by another task. The current owner of the XMLOCK is
    trying to acquire task storage and tries to get the SMLOCK.
    This causes a deadlock between the 2 tasks and other tasks begin
    to back up behind them.
    .
    It looks like DFHSMAR also needs to release the SMLOCK around
    the call DFHXMIQ.
    .
    Additional Symptom(s) Search Keyword(s):
    KIXREVSVR
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All.                                         *
    ****************************************************************
    * PROBLEM DESCRIPTION: Deadlock between two tasks caused by    *
    *                      conflicting XMLOCK and SMLOCK requests. *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    There is a deadlock between a transaction that owns the SMLOCK
    and is waiting for the XMLOCK to be freed and another that owns
    the XMLOCK and is waiting for the SMLOCK to be freed.
    .
    Following a storage violation, procedure storage_check_failure
    in DFHSMAR is called as part of transaction termination. This
    holds the SMLOCK. DFHSMAR calls transaction manager function
    SET_TRANSACTION to update the number of storage violations which
    have occurred for the task. This requires the XMLOCK.
    At the same time a getmain is issued during the attach of
    another task. The getmain is for a KERNEL TASENTRY which is
    needed because the pool of static TASENTRY blocks has been
    exhausted due to a maxtask condition.
    This holds the XMLOCK and needs to obtain the SMLOCK.
    These two tasks deadlock each other and more tasks back up
    attempting to obtain the XMLOCK or SMLOCK.
    Further tasks back up on SMLOCK and XMLOCK until the region is
    cancelled.
    
    Additional Keywords: SM XM MSGDFHSM0102 DFHSM0102 SM0102
    

Problem conclusion

  • Procedure storage_check_failure in DFHSMAR has been changed to
    release and reacquire the SMLOCK around the transaction manager
    SET_TRANSACTION calls.
    

Temporary fix

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

Comments

APAR Information

  • APAR number

    PK97060

  • Reported component name

    CICS TS Z/OS V4

  • Reported component ID

    5655S9700

  • Reported release

    600

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    YesHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2009-09-24

  • Closed date

    2009-10-02

  • Last modified date

    2009-11-04

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

    PK93994

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

    UK50672

Modules/Macros

  • DESSMAR  DFHSMAR
    

Fix information

  • Fixed component name

    CICS TS Z/OS V4

  • Fixed component ID

    5655S9700

Applicable component levels

  • R600 PSY UK50672

       UP09/10/07 P F910

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 November 2009