IBM Support

PI08085: VERY LONG FTP FILE TRANSFERS ABORT

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • While attempting to transfer very large monitor data files from
    one z/VM system to another, the connection ends up getting
    aborted after exactly one hour.  To both sides, it looks like
    the other side aborted the connection.  The messages that appear
    on the FTP client side look like this:
    .
    229 Entering Extended Passive Mode (|||20476|)
    >>>STOR /ZVMSTATS/monwrite/DIETVM1.D131010.MONDATA.F4096
    150 Connection accepted
    1359872 bytes transferred.
    .....
    564158464 bytes transferred.
    567189504 bytes transferred.
    FSENDresponse note shows error: Foreign host aborted the
     connection
    error in SendToTcp
    Foreign host aborted the connection
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All users of the z/VM FTP client and server  *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    ****************************************************************
    * RECOMMENDATION: APPLY PTF                                    *
    ****************************************************************
    While attempting to transfer very large files from one z/VM
    system to another, the connection ends up getting aborted
    after exactly one hour.  To both sides, it looks like the other
    side aborted the connection.  The messages that appear on the
    FTP client side look like this:
    .
    229 Entering Extended Passive Mode (|||20476|)
    >>>STOR /ZVMSTATS/monwrite/DIETVM1.D131010.MONDATA.F4096
    150 Connection accepted
    1359872 bytes transferred.
    .....
    564158464 bytes transferred.
    567189504 bytes transferred.
    FSENDresponse note shows error: Foreign host aborted the
     connection
    error in SendToTcp
    Foreign host aborted the connection
    

Problem conclusion

  • If FTP control connection is idle for a certain time, the
    connection will be shut down. VM FTP need to provide keepalive
    support for both z/VM FTP client and server, and make use of the
    TCP/IP server's keepalive mechanism to avoid timing out an idle
    control connection.
    .
    Procudure DoConnect() in part FTPROCS PASCAL was updated to
    check the FTPKeepalive setting to determine whether to enable
    the keepalive mechanism for the FTP client when setting up a
    control connection.
    Procudure DoLocSite() in part FTCVMSUB PASCAL was updated to add
    FTPKEEPALIVE ON|OFF options on the LOCSITE FTP subcommand
    which allow the FTP client to enable/disable the keepalive
    mechanism for the control connection.
    In order to support the 'FTPKEEPALIVE ON|OFF' statement in the
    FTC DATA file, prodecure ReadVMFtpData() in part FTBVMSUB PASCAL
    was updated to set FTPKeepalive status on the Client side.
    FTSRVPA PASCAL was updated to support the 'FTPKEEPALIVE ON|OFF'
    statement in the SRVRFTP CONFIG file to set FTPKeepalive status
    on the Server side.
    FTMAIN PASCAL was updated to set the default value of
    FTPKeepalive
    FTSEVEN PASCAL was updated to enable the keepalive mechanism for
    the FTP server's control connections and to support the dynamic
    changes to the FTPKEEPALIVE setting through the SMSG command.
    FTSVMSUB PASCAL was updated to display the FTPKeepalive setting
    for the FTP server.
    New variables were added in FTUSER COPY and FTSRVCO COPY to
    refelect the status of FTPkeepalive for both the FTP client and
    server sides.
    MSFTP MSGS and MSFTPC MSGS were updated to add new messages
    related to FTPKEEPALIVE
    LOCSITE HELPFTP was updated to illustrate the new LOCSITE
    options; FTP SDATA was updated to describe how to configure the
    FTPKEEPALIVE statement in FTP DATA file; SRVRFTP SCONFIG was
    updated to describe how to configure the FTPKEEPALIVE statement
    in SRVRFTP CONFIG file; SMSG HELPFTP file was updated to
    illustrate the new SMSG options.
    ---------------------------------------------------------------
    The following documentations need to be updated.
    ---------------------------------------------------------------
    A new description about FTPKEEPALIVE Statement will be added to
    Chapter 6 (Configuring the FTP Server) of TCP/IP Planning and
    Customization (SC24-6238-05) as follows:
    (1)Add FTPKEEPALIVE Statement at Page 68, FTP Server
    Configuration File Statements
    
    FTPKEEPALIVE Statement
    Purpose
    The FTPKEEPALIVE statement defines whether the FTP server will
    use the TCP/IP stack's keepalive timer value for control
    connections.
    
          '---FTPKEEPALIVE OFF------------------'
     >>---.-------------------------------------.-------------><
          '---FTPKEEPALIVE-.-ON----.------------'
                           '-OFF---'
    Operands
    ON
       Specifies that the FTP server should make use of the TCP/IP
       server's keepalive mechanism to avoid timing out idle
       control connections. The frequency with which packets are
       sent is determined by the KEEPALIVEOPTIONS statement in the
       TCP/IP server's configuration file.
    OFF
       Specifies that the FTP server should allow idle control
       connections to time out.
    
    (2) Add FTPKEEPALIVE at page 83, SMSG Interface to the FTP
    Server
     >>--SMSG--server_id--.--process_name---------------------.--><
                          |  .............                    |
                          |--FTPkeepalive--.--ON-----.--------|
                          |                '--OFF----'        |
                          |  .............                    |
                          |           '--*-------------'      |
                          |--Query----|----------------|------|
                          |           |  ............  |      |
                          |           |--FTPkeepalive--|      |
    FTPkeepalive ON | OFF
       Specifies whether or not the FTP server should make use of
       the TCP/IP server's keepalive mechanism to avoid timing out
       idle control connections. The frequency with which packets
       are sent is determined by the KEEPALIVEOPTIONS statement in
       the TCP/IP server's configuration file.
    
       Note:  Dynamic changes to the FTPKEEPALIVE setting will only
              affect new connections.
    Query FTPkeepalive
       Returns the setting (ON or OFF) that is in effect for the
       FTP keepalive setting.
    ---------------------------------------------------------------
    A new description about the FTPKEEPALIVE Statement will be added
    to Chapter 2 (Transferring Files Using FTP), Section 2.4 (FTP
    DATA file Statements) of TCP/IP User's Guide (SC24-6240-05) as
    follows:
    (1)Add FTPKEEPALIVE Statement to Page 34
    
    FTPKEEPALIVE Statement
    The FTPKEEPALIVE statement specifies whether the FTP client will
    use the TCP/IP stack's keepalive timer value for control
     connection.
    
          '---FTPKEEPALIVE OFF------------------'
     >>---.-------------------------------------.-------------><
          '---FTPKEEPALIVE---ON-----------------'
                           '-OFF-------'
    Operands
    ON
       Specifies that the FTP client should make use of the TCP/IP
       server's keepalive mechanism to avoid timing out an idle
       control connection. The frequency with which packets are
       sent is determined by the KEEPALIVEOPTIONS statement in the
       TCP/IP server's configuration file.
    OFF
       Specifies that the FTP client should allow idle control
       connections to time out. OFF is the default.
    
    (2) Add LOCSITE FTPKEEPALIVE at page 73
    
     >>--LOCSIte--.-Varrecfm----------------.--------------------><
                  |-.........               |
                  |-NOEPsv4-----------------|
                  '-FTPkeepalive-.-ON--.----'
                                 '-OFF-'
    Purpose
    Use the LOCSITE subcommand to change the record format and
    record length used for files created on the local host, or to
    change how secure connections should be handled based
    certificate verification results, or to change how the
    connection should be established with the server for data
    transfer, or to set whether client will send keepalive packets
    for control connection periodically.
    
    FTPkeepalive ON
       Specifies that the FTP client should make use of the TCP/IP
       server's keepalive mechanism to avoid timing out an idle
       control connection. The frequency with which packets are
       sent is determined by the KEEPALIVEOPTIONS statement in the
       TCP/IP server's configuration file.
    FTPkeepalive OFF
       Specifies that the FTP client should allow idle control
       connections to time out.
    
    ---------------------------------------------------------------
    New FTP Messages will be documented in Chapter 2 (FTP MEssages)
    of TCP/IP Messages and Codes (GC24-6237-05) as follows:
    
    FTP Server Numbered Messages
    (1)
    DTCFTS0421E  Setting not specified for FTPKEEPALIVE statement
    Explanation: The FTPKEEPALIVE statement requires a setting
    to be specified; Valid settings are ON and OFF.
    System action:  Server initialization stops.
    User response:  Correct the FTPKEEPALIVE configuration file
    statement and restart the FTP server.
    Module:  FTSRVPA PASCAL
    Severity:  Error
    Procedure Name:  Error
    (2)
    DTCFTS0422E  FTPKEEPALIVE setting <setting> is not valid
    Explanation:  The indicated setting is not valid for the
    FTPKEEPALIVE statement. Valid settings for the FTPKEEPALIVE
    statement are ON and OFF.
    System action:  Server initialization stops.
    User response:  Correct the FTPKEEPALIVE configuration file
    statement and restart the FTP server.
    Module:  FTSRVPA PASCAL
    Severity:  Error
    Procedure Name:  Error
    (3)
    DTCFTS0423I  Warning: Unable to set KEEPALIVE option for FTP
    control connection: <result>
    Explanation:  FTP server failed to turned on TCP/IP server's
    keepalive mechanism for current control connection.
    System action:   Program execution continues
    User response:  Use the specified result to determine an
    appropriate action. If necessary, call the IBM Support Center
    for assistance.
    Module:  FTSEVEN PASCAL
    Severity:  Warning
    Procedure Name:  NewConnectionEvent
    (4)
    DTCFTS0424I  KEEPALIVE has been enabled
    Explanation:  FTP server has turned on TCP/IP server's keepalive
    mechanism to avoid timing out idle control connections.
    System action:  Program execution continues
    User response:  None
    Module:  FTSEVEN PASCAL
    Severity:  Informational
    Procedure Name:  NewConnectionEvent
    (5)
    DTCFTS0425I  Keepalive <setting> for control connections
    Explanation:  The specified FTP keepalive mechanism will be
    used when a control connection is established with FTP server.
    Please refer to the Configuring the FTP Server chapter in z/VM:
    TCP/IP Planning and Customization for more information
    System action:  Server execution continues
    User response:  None
    Module:  FTSEVEN PASCALFTSVMSUB PASCAL
    Severity:  Informational
    Procedure Name:  DoFTPkeepalive, DisplaySettings
    (6)
    DTCFTS2589I  FTPKEEPALIVE setting <setting> is not valid
    Explanation:  The indicated setting is not valid for the FTP
    server SMSG FTPKEEPALIVE command. Valid keepalive mechanism
    settings are ON and OFF.
    System action:  Program execution continues.
    User response:  Correct the FTP server SMSG FTPKEEPALIVE
    command
    Module:  FTSEVEN PASCAL
    Severity:  Informational.
    Procedure Name:  DoFTPkeepalive
    (7)
    DTCFTS8444I  FTPKEEPALIVE setting not specified
    Explanation:  A setting was not specified on the FTP server
    SMSG FTPKEEPALIVE command. The setting must be specified when
    the FTP server SMSG FTPKEEPALIVE command is used
    System action:  Server execution continues.
    User response:  Reissue the FTP server SMSG FTPKEEPALIVE
    command specifying a valid setting.
    Module:  FTSEVEN PASCAL
    Severity:  Informational
    Procedure Name:  DoFTPkeepalive
    
    -------------------------------------------------
    FTP Server Unnumbered Messages
    (1)
    FTPKEEPALIVE setting <setting> is not valid
    Explanation:  The indicated setting is not valid for the FTP
    server SMSG FTPKEEPALIVE command. Valid keepalive mechanism
    settings are ON and OFF.
    System action:  The keepalive mechanism setting is not changed.
    User response:  Correct the error and reissue the command
    Module:  FTSEVEN PASCAL
    Severity:  Error.
    Procedure Name:  DoFTPkeepalive
    (2)
    Keepalive <setting> for control connections
    Explanation:  The FTP server's keepalive mechanism setting for
    control connections is set to the specified mechanism. Refer to
    z/VM: TCP/IP Planning and Customization for more information.
    System action:  Server execution continues.
    User response:  None
    Module:  FTSEVEN PASCAL
    Severity:  Informational.
    Procedure Name:  DoQueryFtpkeepalive, DoFTPkeepalive
    (3)
    FTPKEEPALIVE setting not specified
    Explanation:  A setting was not specified on the FTP server
    SMSG FTPKEEPALIVE command. The setting must be specified when
    the FTP server SMSG FTPKEEPALIVE command is used.
    System action:  Server execution continues.
    User response:  Correct the error and reissue the command
    Module: FTSEVEN PASCAL
    Severity:  Error.
    Procedure Name:  DoFTPkeepalive
    (4)
    FTPKEEPALIVE setting <setting> is not valid
    Explanation:  The indicated setting is not valid for the FTP
    server SMSG FTPKEEPALIVE command. Valid settings for the FTP
    server SMSG FTPKEEPALIVE command are ON and OFF.
    System action:  Server execution continues.
    User response:  Correct the error and reissue the command
    Module:  FTSEVEN PASCAL
    Severity:  Error.
    Procedure Name:  DoFTPkeepalive
    -------------------------------------------------
    FTP Client Unnumbered Messages
    (1)
    FTPKEEPALIVE value <value> is not valid. Default value used.
    Explanation:  The value for FTPKEEPALIVE in the FTP DATA file
    is not valid. Valid values are ON and OFF.
    System action:  FTP client will use the default setting for
    FTPKEEPALIVE. Processing continues normally.
    User response:  If necessary, terminate the FTP session and
    correct the FTPKEEPALIVE keyword value in the FTP DATA file.
    Module:  FTBVMSUB PASCAL
    Severity:  Informational.
    Procedure Name:  ReadVMFtpData
    (2)
    KEEPALIVE has been enabled for control connection
    Explanation:  FTP client has turned on TCP/IP server's
    keepalive mechanism to avoid timing out on idle control
    connection.
    System action:  Program execution continues
    User response:  None
    Module:  FTPROCS PASCAL
    Severity:  Informational
    Procedure Name:  DoConnect
    (3)
    Warning: Unable to set KEEPALIVE option for FTP control
    connection: <result>
    Explanation:  FTP client failed to turned on TCP/IP server's
    keepalive mechanism for current control connection.
    System action: Program execution continues
    User response: Use the specified result to determine an
    appropriate action. If necessary, call the IBM Support Center
    for assistance.
    Module: FTCVMSUB PASCAL, FTPROCS PASCAL
    Severity: Warning
    Procedure Name:  DoLocSite, DoConnect
    (4)
    Warning:  Unable to disable KEEPALIVE option for FTP control
    connection: <result>
    Explanation:  FTP client failed to turned off TCP/IP server's
    keepalive mechanism for current control connection.
    System action:  Program execution continues
    User response:  Use the specified result to determine an
    appropriate action. If necessary, call the IBM Support Center
    for assistance.
    Module:  FTCVMSUB PASCAL
    Severity:  Warning
    Procedure Name:  DoLocSite
    

Temporary fix

Comments

APAR Information

  • APAR number

    PI08085

  • Reported component name

    TCP/IP V2 FOR V

  • Reported component ID

    5735FAL00

  • Reported release

    620

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2013-12-13

  • Closed date

    2014-02-19

  • Last modified date

    2015-02-16

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

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

    UI15480 UI15481

Modules/Macros

  • FTBVMSUB FTCVMSUB FTMAIN   FTP      FTPROCS
    FTSEVEN  FTSRVCO  FTSRVPA  FTSVMSUB FTUSER   LOCSITE  MSFTP
    MSFTPC   SMSG     SRVRFTP
    

Publications Referenced
GC24623705SC24624005SC24623805  

Fix information

  • Fixed component name

    TCP/IP V2 FOR V

  • Fixed component ID

    5735FAL00

Applicable component levels

  • R620 PSY UI15480

       UP14/02/28 P 1401

  • R630 PSY UI15481

       UP14/02/28 P 1501

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":"SG27N","label":"APARs - VM\/ESA environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"620","Edition":"","Line of Business":{"code":"","label":""}},{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG27M","label":"APARs - z\/VM environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"620","Edition":"","Line of Business":{"code":"LOB16","label":"Mainframe HW"}}]

Document Information

Modified date:
16 February 2015