IBM Support

PI59965: 0C1 ABEND RUNNING Z/OS FTP CLIENT DOING SECURE FTP. ABEND0C1 GSK_SECURE_SOCKET_INIT GSK_ERR_IO RC406

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Customer received an abend0C1 in SSL gsk_secure_socket_init()
    code as a result of FTP calling gsk_secure_socket_close
    and cleaning up the handle when a timeout occurred in FTP's I/O
    callback routine.
    
    Verification Steps:
    1. ABEND0C1 occurs in Cleanup routine of gsk_secure_socket_init
       during a BASR to DefaultSetSocketOptions address of zero
    2. Reg6 contains SSL return value of GSK_ERR_IO (x'00000196'
       d'406')
    3. Reg2 contains socket handle. Review SSL trace for
       gsk_secure_socket_init call using that handle.
    4. You will see a gsk_secure_socket_close for same handle
       prior to seeing an EXIT for gsk_secure_socket_init.
    5. Verify handshake data exceeds 32767 bytes.
    

Local fix

  • None.
    KEYWORDS:  ABEND AB 0C1 AB0C1
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * All users of the IBM Communications                          *
    * Server for z/OS Version 2 Release 1                          *
    * and Release 2: FTP.                                          *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * When FTP handshake data exceeds 32767 bytes, a recv() with   *
    * the MSG_WAITALL flag is incorrectly issued which can result  *
    * in a timeout.  If a timeout occurs the data transfer is      *
    * aborted and the handshake handle is cleaned up causing an    *
    * ABEND0C1 in SSL code.                                        *
    ****************************************************************
    * RECOMMENDATION:                                              *
    * Apply PTF.                                                   *
    ****************************************************************
    The problem can be summarized as follows:
    1. During the initialization of the secure socket, gsk calls
    FTP's I/O callback routine to exchange the handshake data.
    2. Handshake data counter was of type short int. When the
    handshake data exceeded 32767 bytes, FTP was taking a different
    path where recv() was called with MSG_WAITALL.
    3. FTP would wait for all the data requested to be received and
    eventually time out if all the data was not received.
    4. When a timeout occured, FTP called gsk_secure_socket_close to
    close the sockets, cleared the handshake handle and then
    returned a failure to gsk initialization routine.
        As a result, it caused an OC1 abend when gsk tried to access
    the handle (that was already cleared).
    

Problem conclusion

  • FTP code is amended to handle handshake data size > 32767
    correctly.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PI59965

  • 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

    2016-03-30

  • Closed date

    2016-04-08

  • Last modified date

    2016-06-02

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

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

    UI36883 UI36884

Modules/Macros

  • EZAFTPFU EZAFTPFC EZAFTPFR EZAFTPCY
    

Fix information

  • Fixed component name

    TCP/IP V3 MVS

  • Fixed component ID

    5655HAL00

Applicable component levels

  • R210 PSY UI36883

       UP16/05/10 P F605

  • R220 PSY UI36884

       UP16/05/10 P F605

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

Document Information

Modified date:
02 June 2016