strong textRebex Product Version : 4.0.6930
.Net Framework : Core 2.0 application on Windows
CLR Version: 4.6.27414.6
We are experiencing slow uploads and delayed timeouts.
On memory dump analysis we have detected deadlock which may be attributed to Rebex initiated threads.
We need your help to identify the root cause and suggest workarounds that could contain this situation for our customers.
Also, we have the following specific questions for you.
Given the call stacks of deadlocked threads; Is this deadlock limited to Connect / Login overloads only?
What other methods on FileTranferClient class may be affected?
Will this affect both Sync and Async overloads on FileTransferClient?
Callstack of threads causing deadlock
First Thread
OS Thread Id: 0x334 (9)
Child SP IP Call Site
000001fb1457df98 00007ffbd9876594 [GCFrame: 000001fb1457df98]
000001fb1457e138 00007ffbd9876594 [GCFrame: 000001fb1457e138]
000001fb1457e188 00007ffbd9876594 [HelperMethodFrame_1OBJ: 000001fb1457e188] System.Threading.Monitor.ReliableEnter(System.Object, Boolean ByRef)
000001fb1457e2e0 00007ffb4374c003 Rebex.Net.SshSession.cgsk()
000001fb1457e350 00007ffb4374b108 Rebex.Net.SshSession.cgss(Byte[])
000001fb1457e4b0 00007ffb4391047a Rebex.Net.SshSession+kaij.eyci()
000001fb1457e500 00007ffba22ed409 System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
000001fb1457e580 00007ffba23a13e7 System.Threading.Tasks.Task.ExecuteWithThreadLocal(System.Threading.Tasks.Task ByRef)
000001fb1457e620 00007ffba23da9ec System.Threading.ThreadPoolWorkQueue.Dispatch()
000001fb1457eaa0 00007ffba2a70473 [DebuggerU2MCatchHandlerFrame: 000001fb1457eaa0]
Second Thread
OS Thread Id: 0x1e3c (10)
Child SP IP Call Site
000001fb15a7bcd8 00007ffbd9876594 [GCFrame: 000001fb15a7bcd8]
000001fb15a7be78 00007ffbd9876594 [GCFrame: 000001fb15a7be78]
000001fb15a7bec8 00007ffbd9876594 [HelperMethodFrame_1OBJ: 000001fb15a7bec8] System.Threading.Monitor.ReliableEnter(System.Object, Boolean ByRef)
000001fb15a7c020 00007ffb43758d11 Rebex.Net.SshSession.cgsb(xmbf, Boolean)
000001fb15a7e760 00007ffba2a3be59 [FaultingExceptionFrame: 000001fb15a7e760]
000001fb15a7ec60 00007ffb43758a8f Rebex.Net.SshSession.cgsb(xmbf, Boolean)
000001fb15a7ed30 00007ffb438dabf3 Rebex.Net.SshSession.cgsf(System.Exception)
000001fb15a7eda0 00007ffb4374ecc3 Rebex.Net.SshSession.cgso(Byte[], Int32, Int32)
000001fb15a7ee40 00007ffb4374d851 Rebex.Net.SshSession.cgsn(Byte[], Int32, Int32)
000001fb15a7ef00 00007ffb4374c4cf Rebex.Net.SshSession.cgsm()
000001fb15a7eff0 00007ffb4375968c Rebex.Net.SshSession.swqo.rrgw()
000001fb15a7f060 00007ffb43759401 swqp+mlsc.qghs()
000001fb15a7f090 00007ffb4374f90e swqp+mlsc.qght()
000001fb15a7f0d0 00007ffb4374f7d6 xlpi.viie()
000001fb15a7f120 00007ffba22ed409 System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
000001fb15a7f1a0 00007ffba23a13e7 System.Threading.Tasks.Task.ExecuteWithThreadLocal(System.Threading.Tasks.Task ByRef)
000001fb15a7f240 00007ffba22ed409 System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
000001fb15a7f4a8 00007ffba2a70473 [GCFrame: 000001fb15a7f4a8]
000001fb15a7f720 00007ffba2a70473 [DebuggerU2MCatchHandlerFrame: 000001fb15a7f720]