IBM Support

PK96953: DELETE_USER COUNT NOT DECREMENT USING EXEC CICS START TWICE

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • The problem occurs when one transaction starts another
    transaction with EXEC CICS START. The START command (DFHICP)
    calls user domain for ADD_USER_WITHOUT_PASSWORD. This
    increments the use count for the NON-TERMINAL USERID and
    returns a user security token. The token is used to obtain the
    operator priority which is passed on the ATTACH call for the
    new TRANSACTION. ICEUSSET is set in the ICE to ensure that a
    corresponding DELETE_USER call is made after the ATTACH has been
    issued.
    
    After the ATTACH completes, the DELETE_USER call is made.
    However, this call gets stuck because the USADLOCK is busy.
    While the attaching task is suspended, the attached task starts
    running.  The new task performs transaction initialization and
    issues its own call to user domain for
    ADD_USER_WTHOUT_PASSWORD. This also increments the use count
    for the same NON-TERMINAL USERID.
    This completes and the started task also sets ICEUSSET to ensure
    that it performs a DELETE_USER call during transaction
    termination. The attached task eventually suspends and the
    attacher gets going. It completes the DELETE_USER call. DFHICP
    now resets ICEUSSET as the DELETE_USER call has completed.
    
    However, this means that when the attached task reaches task
    termination it finds that flag ICEUSSET in the ICE is OFF. So
    the attached task bypasses its DELETE_USER call.  So the use
    count for the USERID gets incremented twice (by the attacher
    and the attached task) but only decremented once (by the
    attacher).
    

Local fix

  • No Local fix
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All CICS users.                              *
    ****************************************************************
    * PROBLEM DESCRIPTION: The parameter USRDELAY stops working    *
    *                      because USERIDs that are inactive are   *
    *                      marked as in-use due to their           *
    *                      usud_add_use_count being non-zero.      *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    One transaction starts another transaction with EXEC CICS
    START. DFHICP calls user domain for
    ADD_USER_WITHOUT_PASSWORD. This increments the use count for
    the NON-TERMINAL USERID and returns a user security token.
    ICEUSSET is set in the ICE to ensure that a corresponding
    DELETE_USER call is made after the ATTACH has been issued.
    
    After the ATTACH completes, the DELETE_USER call is made.
    However, this call gets stuck because the USADLOCK is busy.
    While the attaching task is suspended, the attached task
    starts running. The new task performs transaction
    initialization and issues its own call to user domain for
    ADD_USER_WTHOUT_PASSWORD. This also increments the use count
    for the same NON-TERMINAL USERID. This completes and the
    started task also sets ICEUSSET (in the same ICE) to ensure
    that it performs a DELETE_USER call during transaction
    termination. The attached task eventually suspends and the
    attacher gets going. DFHICP now resets ICEUSSET as the
    DELETE_USER call has completed. It finds that ICEUSSET is
    off so it does not issue a DELETE_USER call.
    

Problem conclusion

  • DFHICP has been amended to reset ICEUSSET flag before the
    DELETE_USER call rather than just after it.
    

Temporary fix

  • FIX AVAILABLE BY PTF ONLY
    

Comments

APAR Information

  • APAR number

    PK96953

  • Reported component name

    CICS TS Z/OS V4

  • Reported component ID

    5655S9700

  • Reported release

    600

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2009-09-23

  • Closed date

    2009-10-19

  • Last modified date

    2009-11-04

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

    PK93366

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

    UK51109

Modules/Macros

  • DFHICP
    

Fix information

  • Fixed component name

    CICS TS Z/OS V4

  • Fixed component ID

    5655S9700

Applicable component levels

  • R600 PSY UK51109

       UP09/10/28 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