Inbound TPS ftp

Clovertech Forums Read Only Archives Cloverleaf Cloverleaf Inbound TPS ftp

  • Creator
    Topic
  • #55117
    Tom Rioux
    Participant

      We have a thread that has an ftp proc on the IB TPS.   We are getting the following error in our log file but I can’t figure out where it is coming from.  The proc doesn’t have an “unset” command so I’m wondering if it is a proc that is running behind the scene.   My DBA is telling me that the connection to the server is not always closing. Any help is appreciated

      Thanks…

      [tcl :out :INFO/0:   res4_cpa_i:06/21/2016 15:00:04] tps_cpa_ftp.tcl DISP = CONTINUE

      [tcl :err :ERR /0:   res4_cpa_i:06/21/2016 15:00:04] error     error | E: Not connected!:

      [tcl :err :ERR /0:   res4_cpa_i:06/21/2016 15:00:04] error     can’t unset “ftp(get:channel)”: no such element in array

      [tcl :err :ERR /0:   res4_cpa_i:06/21/2016 15:00:04] error         while executing

      [tcl :err :ERR /0:   res4_cpa_i:06/21/2016 15:00:04] error     “unset ftp(get:channel)”

    Viewing 0 reply threads
    • Author
      Replies
      • #84153
        Levy Lazarre
        Participant

          Tom,

          I think that your Tcl proc may be using the FTP client of Tcllib, which comes installed with Cloverleaf.

          If you check the file “ftp.tcl” of the ftp module from Tcllib, you will see the following piece of code:

          Code:


          # CloseDataConn —
          #
          # Closes all sockets and files used by the data conection
          #
          # Arguments:
          # None.
          #
          # Returns:
          # None.
          #
          proc ::ftp::CloseDataConn {s } {
             upvar ::ftp::ftp$s ftp

             # Protect the destination channel from destruction if it came
             # from the caller. Closing it is not our responsibility.

             if {[info exists ftp(get:channel)]} {
          catch {unset ftp(get:channel)}
          catch {unset ftp(DestCI)}
             }

             catch { unset ftp(AC) }
             catch {after cancel $ftp(Wait)}
             catch {fileevent $ftp(DataSock) readable {}}
             catch {close $ftp(DataSock); unset ftp(DataSock)}
             catch {close $ftp(DestCI); unset ftp(DestCI)}
             catch {close $ftp(SourceCI); unset ftp(SourceCI)}
             catch {close $ftp(DummySock); unset ftp(DummySock)}
             return
          }

          It looks like your code is trying to close a channel that doesn’t exist.

          I hope this help

      Viewing 0 reply threads
      • The forum ‘Cloverleaf’ is closed to new topics and replies.