A fix is available
APAR status
Closed as program error.
Error description
Call to getsockopt() for SO_ERROR returns with errno=0 when connect() fails on a non-blocking socket. A non-blocking connect() is issued and returns with EINPROGRESS because the call did not complete. A select() is issued to monitor the socket for the competion of the connect(). The connect() request times out, causing the select() to complete. The application issues getsockopt() for SO_ERROR to get the status of the connect(), and errno=0 is returned instead of ETIMEDOUT. KEYWORDS: GETSOCKOPT GETSOCKOPT() BPX1OPT SO_ERROR SOCKET ERROR ERRNO ETIMEDOUT 1127 x'467' 60 x'3C'
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: All users of the IBM Communications Server * * for OS/390 Release 10 IP and * * z/OS Version 1 Release 2 IP * **************************************************************** * PROBLEM DESCRIPTION: GETSOCKOPT for SO_ERROR returns an * * incorrect ERRNO after a CONNECT times * * out * **************************************************************** * RECOMMENDATION: * **************************************************************** An application program issues a non-blocking CONNECT. As expected, the CONNECT returns RETCODE -1 and ERRNO EINPROGRESS (36) which indicates that the CONNECT is in progress. The application program then issues a SELECT in order to wait until the CONNECT is no longer in progress. Because the remote system is not receiving, the CONNECT times out. EZBTCPTM sets an error value of ETIMEDOUT (60) but does not propagate it to the SCB that represents the connecting socket. The SELECT completes and the application program issues a GETSOCKOPT for SO_ERROR in order to determine whether or not the CONNECT succeeded. Since the SCB does not contain the correct ERRNO, the GETSOCKOPT returns an ERRNO of 0 which causes the application program to erroneously determine that the CONNECT succeeded. +-------------------------------------------------------------+ + Please check our Communications Server for OS/390 homepages + + for common networking tips and fixes. The URL for these + + homepages can be found in Informational APAR II11334. + +-------------------------------------------------------------+
Problem conclusion
EZBTCPTM has been amended to propagate an ETIMEDOUT error to the SCB. * Cross Reference between External and Internal Names
Temporary fix
Comments
APAR Information
APAR number
PQ55451
Reported component name
TCP/IP V3 MVS
Reported component ID
5655HAL00
Reported release
50A
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2001-12-04
Closed date
2001-12-18
Last modified date
2002-02-01
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UQ61332 UQ61333
Modules/Macros
EZBTCPTM
Fix information
Fixed component name
TCP/IP V3 MVS
Fixed component ID
5655HAL00
Applicable component levels
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":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19M","label":"APARs - z\/OS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"50A","Edition":"","Line of Business":{"code":"","label":""}},{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SSCY4DZ","label":"DO NOT USE"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"50A","Edition":"","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
01 February 2002