StackoverflowException when connecting using private key
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- C#
- Sterne
- 4.4k
- Forks
- 993
- Ø Merge
- 9 T. 21 Std.
- Gemergte PRs (30 T.)
- 1
Beschreibung
SSH.NET version 2016.0.0 (release as well as debug mode)
Remote SSH Server version: Serv-U MFTP FTP 15.1.4.6 (using username/password and private key)
Remote Operating System distribution name and architecture (x32/x64): x64
What kind of access do you have?: Local machine
Does Putty/WinSCP work?: Yep, SSH.NET also works most (ie 99,9%) of the time
Operating System (for Windows, run winver.exe): Windows 2012 R2 build 9600
.NET Framework versions installed (See C:\WINDOWS\Microsoft.Net\Framework): .NET 4.6
What is your target framework and architecture (x32/x64)?: x64
Is your project multi-threaded/complex?: No, I can replicate using single thread
We have created a console application, that periodically monitors a local SFTP server for new files. Sometimes, the process hangs and a StackOverflow exception is logged, crashing the process.
We are using a Dispose-pattern, where each new poll gets a new instance of Sftp, connects and calls Sftp.ListDirectory("/dirname"); after polling files, the connection is disconnected and disposed, using a using-statement in our program.
As this is a StackOverflow exception, I cannot pinpoint the exact point, where the program crashes, however I have attached trace from System.Diagnostics, that hopefully can provide some insight.
SSHtrace.txt
BTW: Thank you for a fantastic SSH/SFTP-library, I'm very impressed with the feature set as well as the performance!
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne mit der angehängten SSHtrace.txt und dem Polling-Einstiegspunkt rund um Sftp.ListDirectory("/dirname"), und untersuche anschließend den im Bericht beschriebenen wiederholten Ablauf aus Connect, Disconnect und Dispose. Als erledigt gilt die Aufgabe, wenn die Ursache der intermittierenden StackOverflowException identifiziert ist und das wiederholte Polling-Szenario nicht mehr abstürzt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- csharp
- Bereich
- networking
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 25/100