A fix is available
APAR status
Closed as program error.
Error description
After applying PTF UK06950 message DFHSO0126 starts coming out repeatedly stating: "An attempt to create a socket has failed because the MAXSOCKETS limit has been reached." . This problem is exposed by PTF UK06950 which added code to repeat an earlier test which checks the validity of the socket token during socket close processing. . This test should have been an exact repeat of the earlier test. However, this test checks the DFHSOCK parameter list to see if a socket token has been passed by the caller. During end-of-task syncpoint, DFHSOCK creates a pseudo parameter list in sock_rmc_close_on_relinquish for function CLOSE (to close the socket). Initially, this is primed with a socket token which is why the first test to validate the socket token works. . However, the parameter list is in storage which is shared with other domain calls. If the task loses control on the SOLOCK during socket close processing, the socket token in the DFHSOCK parameter list gets wiped out by the DFHLMLM lock manager call (which shares the same parameter list storage). This will cause the second attempt to validate the socket token to fail which causes ?close_sock to skip the final deletion of the socket as code added by UK06950 thinks that another task has beaten us to it.
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: All CICS Users with PK10559 applied. * **************************************************************** * PROBLEM DESCRIPTION: MSGDFHSO0126 repeatedly issued due to * * unexpected MAXSOCKETS condition. * **************************************************************** * RECOMMENDATION: * **************************************************************** After applying PK10559, message DFHSO0126 is issued repeatedly after a period of HTTP or ECI over TCPIP activity. Inbound HTTP sockets and ECI over TCPIP sockets are normally closed and deleted by DFHSOCK PERFORM_COMMIT processing. This happens when the last task to reference the socket terminates and there is no send or receive activity against the socket. DFHSOCK sets up a temporary parameter list containing the socket token to be closed and deleted before calling routine Close_sock. Close_sock was changed by PK10559 to verify that the socket token was still valid just before deleting it. The verify routine can return a negative response even though the socket still exists. This can arise because the parameter list used by DFHSOCK to hold the socket token is a shared parameter list which is used for other things such as lock manager calls. If routine Close_sock loses control on the SOLOCK, the reference to the socket token is lost and the socket object will not be deleted. If this situation occurs frequently, it can lead to a MAXSOCKETS condition. This causes new socket connections to be rejected with message DFHSO0126.
Problem conclusion
UK06950 DFHSOCK has been changed so that the parameter list containing the socket token passed to close_sock is no longer shared.
Temporary fix
********* * HIPER * ********* FIX AVAILABLE BY PTF ONLY
Comments
APAR Information
APAR number
PK15713
Reported component name
CICSTS 3.1 Z/OS
Reported component ID
5655M1500
Reported release
400
Status
CLOSED PER
PE
YesPE
HIPER
YesHIPER
Special Attention
NoSpecatt
Submitted date
2005-11-24
Closed date
2005-11-30
Last modified date
2006-01-04
APAR is sysrouted FROM one or more of the following:
PK12826
APAR is sysrouted TO one or more of the following:
UK09548
Modules/Macros
DESSOCK DFHSOCK
Fix information
Fixed component name
CICSTS 3.1 Z/OS
Fixed component ID
5655M1500
Applicable component levels
R400 PSY UK09548
UP05/12/02 P F512 ®
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":"3.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":"3.1","Edition":"","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
04 January 2006