A fix is available
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