IBM Support

PM87523: DFHSO0001 AN ABEND (CODE ---/ASOC) HAS OCCURRED AT OFFSET X'0C5A' IN MODULE DFHSOS14

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • You are running CICS transaction server 4.2 and receive
    the following error message:
    DFHSO0001 An abend (code ---/ASOC) has occurred at offset
                          X'0C5A'  in module DFHSOS14.
    The problem involves locks associated with a socket, caused by
    a timing issue with our main listener task CSOL.
    A task 1 owned socket 'A'.  It was suspended when issuing a
     RELINQUISH for SOCKET_TOKEN(A)
    While it was suspended, the CSOL task got contol and deleted
    this socket 'A', along with all its associated locks.
    In this case, CSOL processed a new socket request, giving it
    socket token 'B', but assigned this socket token the locks that
    were previously associated with socket 'A'. Task 2 is now the
    owner of these locks.
    When task 1, wakes up from its suspend, to continue its
    processing of the relinquish for socket 'A', it fails when
    accessing the SOCK_REL lock token, since it is no longer the
    owner of it. Here is that trace entry:
         LMLM EXIT - FUNCTION(UNLOCK) RESPONSE(EXCEPTION)
                     REASON(NOT_LOCK_OWNER)
    Additional Symptom(s) Search Keyword(s):ABENDASOC, Unlock,
    KIXREVEPH
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All CICS Users.                              *
    ****************************************************************
    * PROBLEM DESCRIPTION: DFHSO0001 An abend (code ---/ASOC)      *
    *                      has occurred at offset X'0C5A' in       *
    *                      module DFHSOS14.                        *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    A task is started from input received on a socket. The task
    completes successfully but gets suspended during end-of-task
    syncpoint.
    Whilst this task is suspended CSOL is driven to close the
    socket. CSOL gets the socket relinquish lock, SOCK_REL, but
    then itself loses control.
    The original task continues but suspends again, waiting for the
    SOCK_REL lock which is still held by CSOL.
    CSOL regains control and releases the SOCK_REL lock which
    causes the lock manager domain to RESUME the original task,
    however the system is busy and the task does not immediately
    resume processing.
    In the meantime CSOL continues to delete the socket and all its
    locks, including SOCK_REL.
    A new task is started via input from a socket. CSOL allocates
    all the storage and locks from the original socket to the new
    one. The token that belonged to SOCK_REL is now allocated to
    the SOCK_ATT lock.
    The original task finally continues and incorrectly gets a
    good return from the LOCK of SOCK_REL, even though that
    storage has been reallocated.
    It relinquishes the socket and then attempts to UNLOCK the
    SOCK_REL lock. However, SOCK_REL now has a different token
    so lock manager returns NOT_LOCK_OWNER, resulting in a
    reported msgDFHSO0001 for code ASOC and a system dump.
    A variation of this problem may occur if the SOCK_REL lock
    is deleted whilst the task is waiting for the lock, but not
    reallocated. In that case the LOCK command will fail with
    LOCK_TOKEN_NOT_FOUND, resulting in msgDFHSO0001 for code
    ASOB and a system dump.
    

Problem conclusion

  • The DFHSOS14 RELINQUISH routine has been altered to save the
    socket token and the SOCK_REL lock token before issuing a LOCK
    on SOCK_REL.
    If lock manager returns a good response the routine will check
    that the socket token is still valid and if not will UNLOCK
    the original SOCK_REL lock, then return with an exception
    response and reason connection_closed.
    If lock manager returns LOCK_TOKEN_NOT_FOUND the routine will
    return an exception response and reason connection_closed.
    

Temporary fix

  • FIX AVAILABLE BY PTF ONLY
    

Comments

APAR Information

  • APAR number

    PM87523

  • Reported component name

    CICS TS Z/OS V4

  • Reported component ID

    5655S9700

  • Reported release

    700

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2013-04-22

  • Closed date

    2013-10-03

  • Last modified date

    2013-11-04

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

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

    PM97499 UK98234

Modules/Macros

  •    DFHSOS14
    

Fix information

  • Fixed component name

    CICS TS Z/OS V4

  • Fixed component ID

    5655S9700

Applicable component levels

  • R700 PSY UK98234

       UP13/10/13 P F310

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

Document Information

Modified date:
04 November 2013