You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am from the Azure Logic Apps team, we use the SSH.NET library in the SFTP connector there.
We have one user which runs into the following error Safe handle has been closed.. the usecase is the following:
The process runs every one minute and it tries to list a directory. We create a connection and try to maintain it. So every time before listing the directory we call sftpClient.IsConnected and if false we create a new connection.
The error happens Safe handle has been closed. after the there's a timeout on that connection is what we have observed.
Renci.SshNet.Common.SshOperationTimeoutException: Operation has timed out.
at Renci.SshNet.SubsystemSession.WaitOnHandle(WaitHandle waitHandle, Int32 millisecondsTimeout)
at Renci.SshNet.Sftp.SftpSession.RequestRealPath(String path, Boolean nullOnError)
at Renci.SshNet.Sftp.SftpSession.GetCanonicalPath(String path)
at Renci.SshNet.SftpClient.InternalListDirectory(String path, SftpListDirectoryAsyncResult asyncResult, Action`1 listCallback)
After which all the operation using that connection fails with the following exception, even though IsConnected returns true
System.ObjectDisposedException: Safe handle has been closed.
Object name: 'SafeHandle'.
at System.Runtime.InteropServices.SafeHandle.DangerousAddRef(Boolean& success)
at Interop.Kernel32.SetEvent(SafeWaitHandle handle)
at System.Threading.EventWaitHandle.Set()
at Renci.SshNet.Sftp.SftpSession.<>c__DisplayClass60_0.<RequestRealPath>b__0(SftpNameResponse response)
at Renci.SshNet.Sftp.SftpSession.HandleResponse(SftpResponse response)
at Renci.SshNet.Sftp.SftpSession.TryLoadSftpMessage(Byte[] packetData, Int32 offset, Int32 count)
--- End of stack trace from previous location ---
at Renci.SshNet.Sftp.SftpSession.RequestRealPath(String path, Boolean nullOnError)
at Renci.SshNet.Sftp.SftpSession.GetCanonicalPath(String path)
at Renci.SshNet.SftpClient.InternalListDirectory(String path, SftpListDirectoryAsyncResult asyncResult, Action`1 listCallback)
Is this a bug? Is there any other reliable way to figure out if the connection is alive?
The text was updated successfully, but these errors were encountered:
I am from the Azure Logic Apps team, we use the SSH.NET library in the SFTP connector there.
We have one user which runs into the following error
Safe handle has been closed.
. the usecase is the following:The process runs every one minute and it tries to list a directory. We create a connection and try to maintain it. So every time before listing the directory we call
sftpClient.IsConnected
and if false we create a new connection.The error happens
Safe handle has been closed.
after the there's a timeout on that connection is what we have observed.After which all the operation using that connection fails with the following exception, even though
IsConnected
returns trueIs this a bug? Is there any other reliable way to figure out if the connection is alive?
The text was updated successfully, but these errors were encountered: