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.

Forum Statistics

Registered Users
5,129
Forums
28
Topics
9,301
Replies
34,447
Topic Tags
288
Empty Topic Tags
10