Post a reply :: Support Forum

Tip: Styles can be applied quickly to selected text.

Add an Attachment

If you do not want to add an Attachment to your Post, please leave the Fields blank.

(maximum 10 MB; please compress large files; only common media, archive, text and programming file formats are allowed)


Topic review


Sorry, I do not think I can help you further remotely.


ExactTarget says they don't see any issues on their side. They did not find anything in their logs. What do you suggest as the next step?

Usually after WinSCP sends a password to the server.


Are you asking about the server where our .net code runs or the FTP server? I don't have access to the logs on the FTP server. I have no idea if they are using the latest version of GlobalSCAPE. I'll open a ticket with them to check things on their side since it seems that the communication stalls. Can you tell what step the communication is stalling?

Re: Debug Level 2 Logs

The communication between WinSCP and the server indeed stalls.
Is there anything useful in the server-side logs regarding this issue? (if you have an access to them)
Are you using the latest version of GlobalSCAPE server?

Debug Level 2 Logs


I set the debug level to 2. I've attached new logs for you to review.

Is Level 2 Supported for Debug Log?

I can try to change to Level 2 but when we tried that last week to set the debug logging to Level 2, we got the following error "Specified argument was out of the range of valid values. Parameter name: Logging level has to be in range 0-1" so we only could set it to 1. Will the development version of WinSCP that you provided support level 2?

Re: Revised our code to use the provided development version of WinSCP

Thanks. It looks like the communication with the server really stalls.

Can you try to set the Session.DebugLogLevel to 2 and post new logs?

Revised our code to use the provided development version of WinSCP

We revised our .Net code to use this new development version of WinSCP. We didn't have any problems for a couple of days but just had a failure a short while ago. See attached logs for the session and debug logs. Still getting the message "Timeout waiting for WinSCP to respond". Please advise on the next steps to take.

Re: Added the Session Debug Log

I'm sending you an email with a development version of WinSCP to the address you have used to register on this forum.

Added the Session Debug Log


We added the Debug Log and had to wait for one of the jobs to fail. I've attached a new Session Log and Debug Log (set the debug level = 1). Please let us know if you can identify the issue or have any suggestions. Sometimes we can go the entire day without any issues, while other times we have multiple jobs fail, all with this same message. Please advise.

Re: .NET intermittently getting "Timeout waiting for WinSCP to respond"

Thanks for your report.

We need debug log file (Session.DebugLogPath).

.NET intermittently getting "Timeout waiting for WinSCP to respond"

We have a .NET console application that is using WinSCP version 5.9.3 to SFTP files. We have this code in various .NET EXEs that we have scheduled to run every 30 minutes to transfer different files. During a single day, we may have 30 jobs run to transfer up to 60 files in total. Normally, the jobs don't have any issues and the files are transferred successfully. However, every so often, 1 or 2 of these jobs fail for the "Timeout waiting for WinSCP to respond" message. Sometimes, 3 or 4 of the jobs fail in a given day or it could run fine for an an entire week. Any suggestions on how to resolve these timeout errors?

The .Net code is listed below. IT basically reads some settings from a configuration file and then does the WinSCP logic to put the file on the SFTP.

[code]string HostName = ConfigObject.GetValueForSectionKey(sectionGroup + "/" + sectionName, "HostName");
int PortNumber = Int32.Parse(ConfigObject.GetValueForSectionKey(sectionGroup + "/" + sectionName, "PortNumber"));
string UserName = ConfigObject.GetValueForSectionKey(sectionGroup + "/" + sectionName, "UserName");
string Password = ConfigObject.GetValueForSectionKey(sectionGroup + "/" + sectionName, "Password");
string sshHostKeyFingerprint = ConfigObject.GetValueForSectionKey(sectionGroup + "/" + sectionName, "SshHostKeyFingerprint");
string HostPath = ConfigObject.GetValueForSectionKey(sectionGroup + "/" + sectionName, "HostPath");
string sftp_TransferMode = ConfigObject.GetValueForSectionKey(sectionGroup + "/" + sectionName, "SFTP_TransferMode");

SessionOptions SFTP_SessionOptions = new SessionOptions();
SFTP_SessionOptions = SetupSFTP_SessionOptions(HostName, PortNumber, UserName, Password, sshHostKeyFingerprint);

using (Session session = new Session())
session.SessionLogPath = WinSCPSessionLogPath + Path.GetFileNameWithoutExtension(WinSCPSessionLogFileName) + "_" + DateTime.Now.ToString("yyyyMMdd_hhmmss") + Path.GetExtension(WinSCPSessionLogFileName);
session.DisableVersionCheck = true;

TransferOptions transferOptions = new TransferOptions();
transferOptions.ResumeSupport.State = TransferResumeSupportState.Off;

switch (sftp_TransferMode)
case "Ascii":
transferOptions.TransferMode = TransferMode.Ascii;

case "Automatic":
transferOptions.TransferMode = TransferMode.Automatic;

case "Binary":
transferOptions.TransferMode = TransferMode.Binary;

transferOptions.TransferMode = TransferMode.Automatic;

//Upload the file
session.PutFiles(fullfilename, HostPath, false, transferOptions).Check();

In case you need the config settings, I've listed them below:

[code]<!-- ************************************************************* -->
<!-- FTP Settings -->
<!-- ************************************************************* -->

<add key="HostName" value=""/>
<add key="PortNumber" value="22"/>
<add key="UserName" value="xxxxxxxx"/>
<add key="Password" value="xxxxxxxx"/>
<add key="SshHostKeyFingerprint" value="ssh-dss 1024 9c:70:28:cf:c6:dc:d1:cf:08:d2:be:42:80:18:ec:c7"/>
<add key="HostPath" value="/Triggered_Automations/PBS/01_ImGoing/Stage/"/>
<add key="SFTP_TransferMode" value="Binary"/>

<!-- ************************************************************* -->
<!-- WinSCP Settings -->
<!-- ************************************************************* -->

<add key="WinSCPSessionLogPath" value="\\MyServer\Apps\EM_ET\WinSCP_Logs\"/>
<add key="WinSCPSessionLogFileName" value="winscp_session.log"/>
<add key="UseDefault_WinSCPServerResponseTimeout" value="false"/>
<add key="WinSCPServerResponseTimeout" value="300"/>[/code]

I've attached the Session Log file as well. Please let me know if you need any additional information and I appreciate any help.