IBM Support

PH30840: DFHSO0001 AN ABEND (CODE 0C4/AKEX) HAS OCCURRED AT OFFSET X'2790' IN MODULE DFHSOSE.

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Your CICS region intermittently receives:
    DFHSO0001  An abend (code 0C4/AKEX) has occurred at offset
    X'2790' in module DFHSOSE.
    The abend0c4 occurs in DFHSOSE + x'278A' as register 1 is zero.
    At the time, DFHSOSE is in routine DELETE_CERTIFICATE_DATA.
    The trace shows:
    QR AP 451C WBXN *EXC* ATTACH_ALIAS_ERROR *=01235DATA.
    QR AP 0746 ABAB *EXC* Percolate
    START_ABEND,39348018,NO,YES *=01235
    QR AP 1942 APLI *EXC* Abend-Percolate
    START_PROGRAM,DFHWBXN,NOCEDF,FULLAPI,EXEC,NO,38DE1918,00000000 ,
    0000
    
    SO SO 0803 SOSE *EXC* RECOVERY_ENTERED
    SECURE_SOC_CLOSE,DISASTER,
    
    The problem is caused by a race between a CWXN task trying to
    close a socket and CICS shutting down.  The CWXN task tries to
    close the socket after failing to attach an alias task.  At the
    same time the CSOL task is closing the inbound sockets because
    the region is shutting down.  Despite numerous checks throughout
    the close process it seems there is still a small window where
    CSOL can delete the socket from underneath the CWXN task.  This
    causes the DELETE_CERTIFICATE_DATA call to pick up a repository
    token from low core (because the socket's ssl_data_ptr is now
    0).  The token is not valid but DFHSOSE attempts to set it to 0
    and that causes the abend0c4.
    This APAR will prevent the DELETE_CERTIFICATE_DATA call being
    made with a bad token.
    
    Additional Keywords and Symptoms:
    ABEND0C4
    S0C4
    KIXREVJRL
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All CICS Users.                              *
    ****************************************************************
    * PROBLEM DESCRIPTION: Message DFHSO0001 is issued due to an   *
    *                      0C4 abend in DFHSOSE when CICS is       *
    *                      shutting down.                          *
    ****************************************************************
    CICS has a TCPIPSERVICE with PROTOCOL(HTTP) and SSL(YES).  A new
    request arrives on this TCPIPSERVICE and CWXN is attached to
    process it.  At the same time CICS starts to shut down.
    
    The CWXN task tries to attach the required web alias task, but
    finds the transaction is not enabled for shutdown.  This causes
    CWXN to abend AWB2 and then close the socket.
    
    At the same time the CSOL task has been called to quiesce and is
    in the process of closing all the sockets associated with the
    TCPIPSEVRICE, including the one used by the CWXN task.
    
    During the socket close process the CWXN task needs to switch to
    an S8 TCB.  While changing TCBs the CSOL task closes the same
    socket and freemains the associated control blocks.  Once the
    CWXN task has switched to the S8 TCB it calls DFHSOSE
    FUNCTION(SECURE_SOC_CLOSE).  This initially tries to delete any
    saved certificate data but uses a repository token taken from
    low core because the associated control block has already been
    freed.  After trying to delete the data, which fails, DFHSOSE
    sets the repository token in the freed control block to null
    which causes an 0C4 abend.
    
    Additional keywords:
    msgDFHSO0001  SO0001  ABEND0C4
    

Problem conclusion

  • DFHSOCK has been changed to check that the socket is still valid
    after changing TCB mode during close processing.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH30840

  • Reported component name

    CICS TS Z/OS V5

  • Reported component ID

    5655Y0400

  • Reported release

    200

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2020-10-22

  • Closed date

    2020-12-18

  • Last modified date

    2021-01-04

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

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

    UI73221 UI73222

Modules/Macros

  • DFHSOCK
    

Fix information

  • Fixed component name

    CICS TS Z/OS V5

  • Fixed component ID

    5655Y0400

Applicable component levels

  • R200 PSY UI73222

       UP20/12/19 P F012

  • R300 PSY UI73221

       UP20/12/22 P F012

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.

[{"Line of Business":{"code":"LOB35","label":"Mainframe SW"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSGMGV","label":"CICS Transaction Server"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"5.5"}]

Document Information

Modified date:
05 January 2021