IBM Support

PH49581: IPCONN GETS STUCK IN FREEING STATE

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • This is very similar to APAR PI65997. There exists a window
    where the IPCONN can be closed when one of its ISSS blocks is
    "in use". When the ISSS is just on the input queue waiting to
    be processed, it doesn't meet any of the criteria for CIST to
    determine it is in use. This means the IPCONN can be released
    while the ISSS is waiting for CISR to handle it. In this
    instance CISR is massively delayed processing the previous
    input queue.
    
    Data arrives for an ISSS so it is put on the input queue.
    CISR is currently busy.
    A connection error is detected on the other ISSS, which queues
    the IPCONN to CISE for error processing.
    CISE attaches CIST to terminate the IPCONN.
    CIST cleans up the IPCONN, closes the sockets and sets
    the state to released. Nothing happens to the ISSS block and it
    remains on the input queue.
    A new capex arrives and the IPCONN gets put back inservice.
    A brand new async receive is issued for the ISSS.
    CISR picks up the input queue and starts processing it.
    Data arrives for the ISSS and it gets put in the input queue.
    
    CISR processes the old instance of the ISSS on the previous
    input queue.
    A new async receive gets issued, which completes immediately.
    The ISSS gets put on the input queue again.
    It is now on there twice, which will cause the queue to
    break when CISR eventually processes the new input queue.
    Everything after the duplicate entry will be lost and get stuck
    with the flags isss_cisr_active and isss_on_input_q set on. The
    flag isss_cisr_active being on causes the IPCONN to get stuck
    in freeing state.
    
    This APAR will prevent the CIST task from releasing an IPCONN
    that has an ISSS block with isss_on_input_q still set.
    CIST already checks for isss_on_error_q.
    
    This problem only occurs when there is a lot of IPIC work going
    on and a very overloaded and CPU constrained CICS region to
    allow the IPCONN to be released and re-acquired all while CISR
    was processing the previous input queue.
    This problem would be unlikely to be seen in a CICS-CICS setup
    because CICS doesn't provide an auto-reconnect capability.
    
    Additional
    Symptom(s) Search Keyword(s):
    KIXREVSCB  Case TS008239688
    
    MSGDFHIS1015 DFHIS1015
    Ins Fre free state  IPIC unusable stuck
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All CICS users.                              *
    ****************************************************************
    * PROBLEM DESCRIPTION: An IPCONN remains stuck in a freeing    *
    *                      state after a connection error.         *
    ****************************************************************
    A CICS region has several acquired IPCONNs.  Data arrives for
    one of the IPCONNs and its ISSS block is put onto the IPIC
    input queue.  Before the CISR task is able to process the
    input queue a connection error is detected for this IPCONN.
    The connection error is handled and the IPCONN is released even
    though one of its ISSS blocks is still on the input queue.
    
    The IPCONN is quickly re-acquired and more data arrives.  The
    same ISSS is put onto the input queue a second time.  At this
    stage the input queue is corrupted.  Any IPCONNs with ISSS
    blocks appearing further down the queue will become
    unresponsive.  Attempting to free those IPCONNs will cause them
    to be stuck in FREEing state.
    

Problem conclusion

  • CICS has been changed so that an IPCONN will not be released
    if one of its ISSS blocks is still on the IPIC input queue.
    This prevents the corruption of the IPIC input queue caused by
    the same ISSS block being added to the queue a second time.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH49581

  • Reported component name

    CICS TS Z/OS V6

  • Reported component ID

    5655YA100

  • Reported release

    400

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2022-09-16

  • Closed date

    2022-11-15

  • Last modified date

    2022-12-01

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

    PH48057

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

    UI83299

Modules/Macros

  • DFHISCO
    

Fix information

  • Fixed component name

    CICS TS Z/OS V6

  • Fixed component ID

    5655YA100

Applicable component levels

  • R400 PSY UI83299

       UP22/11/23 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"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"6.1","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]

Document Information

Modified date:
01 December 2022