IBM Support

PM83413: LOOP IN DFHSOST PROCESSING END-OF-DAY STATS FOR SOCKETS DOMAIN

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • CICS region hung due to a loop in DFHSOST that occurred while
    processing end-of-day statistics for the Sockets domain. The
    loop occurs on the QR TCB while running under a Timer task.
    .
    MVS system trace shows that the loop is in DFHSOST (label
    TCPIP_GET_NEXT_STATS_RECORD, range x'A62' through x'1C50'). The
    loop is occuring because of an invalid browse token. The
    statistics loop in DFHSOST is only expecting the browse/getnext
    loop to end with an end_browse, not an invalid token. So it only
    checks for RC4 (tcpips_end_browse) and then doesn't break out of
    the loop.
    .
    The invalid browse token occurred when a task doing an INQUIRE
    TCPIPSERVICE request ran at the same time as the Timer task
    collecting sockets domain statistics.  The Timer task did a
    start_browse first, and did a GETMAIN for it's browse element
    (subpool SOTBR). It then suspended. The INQUIRE TCPIPSERVICE
    task then did it's start_browse. During this start_browse,
    housekeeping code in DFHSOST freemains the browse element out
    from under the Timer task (this housekeeping code uses DFHXMIQ
    calls but XM domain does not know about the Timer task). This
    task then does a GETMAIN and gets the just-freed browse token,
    and will eventually free it again during it's tcpips_end_browse
    processing.
    .
    The Timer task now runs again, but the browse token has been
    freed out from under it so it gets the invalid_browse_token
    response and the loop begins.
    .
    Additional Symptom(s) Search Keyword(s):
    KIXREVSLY  tcpips_invalid_browse_token
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All CICS users.                              *
    ****************************************************************
    * PROBLEM DESCRIPTION: Endless loop happens on QR when         *
    *                      processing end-of-day statistics        *
    *                      from SO domain.                         *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    The timer task is running for end of day statistics. DFHSOST
    is called to get the statistics from sockets domain. DFHSOST
    obtains the TCPIPSERVICE lock exclusively, GETMAINs a browse
    token and then issues a browse loop to gather the statistics
    information for each TCPIPSERVICE. The browse loop continues
    until the statistics buffer is full. DFHSOST releases the lock,
    processes the buffer and then relinquishes the QR.
    
    At this point, another task gets to run on the QR. That task
    needs to browse TCPIPSERVICEs. It gets the exclusive lock and
    then start the browse. Before it gets the browse token, CICS
    does some cleanup first. The cleanup code attempts to free the
    unused browse tokens. The token for timer task is detected.
    Since the timer task is not know to transaction manager, CICS
    believes that token is unused and frees it.
    
    When timer task gets dispatched again.  It re-acquires the
    exclusive lock and loops round to continue the statistics. As
    its browse token is freed, DFHSOST gets the invalid browse
    token exception each time in the browse loop. Since the
    browse loop is only terminated by reaching the end, the
    endless loop happens.
    

Problem conclusion

  • DFHSOST and DFHSOTD have been changed so that the cleanup
    code does not attempt to delete the timer task browse token.
    

Temporary fix

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

Comments

APAR Information

  • APAR number

    PM83413

  • Reported component name

    CICS TS Z/OS V5

  • Reported component ID

    5655Y0400

  • Reported release

    800

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    YesHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2013-02-22

  • Closed date

    2013-03-19

  • Last modified date

    2015-03-04

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

    PM82467

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

    UK92746

Modules/Macros

  • DFHSOAD  DFHSOCK  DFHSODM  DFHSODUF DFHSOIS  DFHSOLS  DFHSOST
    DFHSOTB
    

Fix information

  • Fixed component name

    CICS TS Z/OS V5

  • Fixed component ID

    5655Y0400

Applicable component levels

  • R800 PSY UK92746

       UP13/03/29 P F303

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":"5.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":"5.1","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
04 March 2015