IBM Support

PI28295: GETSOCKOPT CALLS FOR SO_xxxBUF RETURNS ZERO

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • .
    If a TCP/IP sockets application issues a setsockopt() call
    (BPX1OPT with SOCK#OPTOPTSETSOCKOPT) specifying SO_RCVBUF or
    SO_SNDBUF on a listener socket, later getsockopt() calls
    (BPX1OPT with SOCK#OPTOPTGETSOCKOPT) for these same options on a
    new socket that was accepted from that listener will return a
    zero as the option_data value.  The external symptoms of this
    will depend upon what the application does with that result.
    
    
    Known product applications affected:
    
     - The IBM DB2 Analytics Accelerator client will report that the
       Agent/Datastore is not available when the server is running
       on a z/OS 2.1 system:
    
       FAILED STARTING REPLICATION ON ACCELERATOR xxxxxxxx
       MESSAGE 1:
       Message severity:  error
       Message reason-code:  AQT20009I
       TEXT:
         Operation 'startReplication' failed: 'Unable to connect to
         datastore. Connection may have been lost.'
    
                                                                   .
    

Local fix

  •                                                                .
    Change the server application to avoid doing a getsockopt() call
    for SO_RCVBUF or SO_SNDBUF on new connections.
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * All users of the IBM Communications Server for z/OS Version  *
    * 2 Release 1 IP                                               *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * getsockopt() for SO_SNDBUF and SO_RCVBUF incorrectly returns *
    * zero.                                                        *
    ****************************************************************
    * RECOMMENDATION:                                              *
    * Apply PTF                                                    *
    ****************************************************************
    getsockopt() for SO_SNDBUF and SO_RCVBUF incorrectly returns
    zero when issued against an accepted socket and a setsockopt()
    for SO_SNDBUF or SO_RCVBUF was done against the listener socket.
    This occurred because the send buffer size and receive buffer
    size were not saved in the socket control block of the accepted
    socket.
    

Problem conclusion

  • EZBTCFAP will be corrected to save the send buffer size and
    receive buffer size in the socket control block of the newly
    accepted socket.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PI28295

  • Reported component name

    TCP/IP V3 MVS

  • Reported component ID

    5655HAL00

  • Reported release

    210

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2014-10-23

  • Closed date

    2014-10-24

  • Last modified date

    2015-01-02

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

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

    UI22478

Modules/Macros

  • EZBTCFAP
    

Fix information

  • Fixed component name

    TCP/IP V3 MVS

  • Fixed component ID

    5655HAL00

Applicable component levels

  • R210 PSY UI22478

       UP14/12/02 P F412

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"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
01 May 2020