IBM Support

PH69721: CSOL CAUSES DEADLOCK TRYING TO GET EXCLUSIVE SOLOCK WHEN IT ALREADY HAS SHARED SOLOCK 25/10/20 PTF PECHANGE

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • APAR PH64861 introduced some code changes into CICS TS 6.1 and
    CICS TS 6.3 to avoid a possible deadlock between CSOL and CWXN
    transactions when the region hits MAXSOCKETS. This code is in
    base at CICS TS 6.3.
    However, the new code introduced a path where CSOL
    can obtain a shared lock on the SOLOCK before trying to obtain
    an exclusive lock on the SOLOCK. CSOL is then placed on the wait
    queue for the SOLOCK and any other tasks wanting this lock also
    back up behind it.
    
    
    CSOL begins processing a new connection and obtains the shared
    SOLOCK. It starts to add a new socket but finds that we are
    already at MAXSOCKETS. So, it decides to close an unowned
    socket; however, it needs to hold the SOLOCK exclusively to do
    this. CSOL does not realize it already owns a shared lock on the
    SOLOCK, so when it requests an exclusive lock, it enters a
    self-imposed deadlock.
    
    KIXREVACC
    

Local fix

  • The CICS region needs to be recycled.
    
    The issue is at risk of occurring when the region hits its
    MAXSOCKETS value. It may be possible to avoid this issue by
    increasing the MAXSOCKETS value for the region as well as
    setting a SOCKETCLOSE attribute on TCPIPSERVICE and URIMAP
    definitions.
    
    
    The SOCKETCLOSE attribute determines how long CICS will keep
    an unowned socket open. This is measured from the time of the
    last I/O and that timer will be reset when more I/O occurs.
    Setting an appropriate SOCKETCLOSE value will allow CICS to
    close unused connections, thus delaying the possibility of
    hitting the MAXSOCKETS value.
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All CICS Users.                              *
    ****************************************************************
    * PROBLEM DESCRIPTION: All TCPIP functionality may stop        *
    *                      working when the region reaches         *
    *                      MAXSOCKETS.                             *
    ****************************************************************
    CSOL can attempt to obtain the SOLOCK EXCLUSIVE when it
    currently holds the SOLOCK shared. This results in CSOL
    becoming deadlocked on itself.
    
    This situation arises if the region is at MAXSOCKETS when CSOL
    is processing a new connection and it is found that there is an
    eligible socket to be reused. The issue presents when an attempt
    is made to close this socket for reuse by the incoming request.
    

Problem conclusion

  • CICS has been changed to avoid CSOL attempting to obtain the
    SOLOCK EXCLUSIVE in this code path.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH69721

  • Reported component name

    CICS TS Z/OS V6

  • Reported component ID

    5655YA100

  • Reported release

    600

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    YesHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2026-01-19

  • Closed date

    2026-02-04

  • Last modified date

    2026-03-02

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

    PH67689

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

    UO06691

Modules/Macros

  • DFHCZTRI DFHIEIE  DFHIEXM  DFHPITH  DFHRZDM  DFHRZIX  DFHRZLN
    DFHRZNR2 DFHRZRG2 DFHRZRM  DFHRZRS1 DFHRZSO  DFHRZSO1 DFHRZTA
    DFHRZTCX DFHRZTR1 DFHRZTRI DFHRZXM  DFHSOAD  DFHSOCK  DFHSOCKT
    DFHSODM  DFHSODS  DFHSODUF DFHSOES  DFHSOHN  DFHSOIS  DFHSOL
    DFHSOLI  DFHSOLS  DFHSOLX  DFHSOLX6 DFHSOM01 DFHSOM02 DFHSOM03
    DFHSONT  DFHSOPL  DFHSORD  DFHSORL  DFHSORM  DFHSOS00 DFHSOS01
    DFHSOS02 DFHSOS03 DFHSOS04 DFHSOS05 DFHSOS06 DFHSOS07 DFHSOS08
    DFHSOS09 DFHSOS10 DFHSOS11 DFHSOS12 DFHSOS13 DFHSOS14 DFHSOS15
    DFHSOS16 DFHSOS17 DFHSOS18 DFHSOS19 DFHSOS20 DFHSOS21 DFHSOS22
    DFHSOS23 DFHSOSE  DFHSOSES DFHSOSM  DFHSOST  DFHSOTB  DFHSOTI
    DFHSOTRI DFHSOUE  DFHSOXM  DFHWBA   DFHWBA1  DFHWBAP  DFHWBAPF
    DFHWBBLI DFHWBCL  DFHWBSO  DFHWBSR  DFHWBSV  DFHWBXM  DFHWBXN
    

Fix information

  • Fixed component name

    CICS TS Z/OS V6

  • Fixed component ID

    5655YA100

Applicable component levels

  • R600 PSY UO06691

       UP26/02/05 P F602 ¢

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":"BU048","label":"IBM Software"},"Product":{"code":"SSGMGV","label":"CICS Transaction Server"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"6.3","Line of Business":{"code":"LOB70","label":"Z TPS"}}]

Document Information

Modified date:
02 March 2026