[Perf issue] SocketException when disconnecting the SshClient
まだ誰も着手していません。
評価
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 初心者へのやさしさ
- 52/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 静か
- 技術スタック
- csharp
- 領域
- networking
調査の方向性
SshClient Connect、Disconnect、Dispose のエントリポイントから開始し、issue の接続ループを使って Windows .NET 9 のケースを再現してください。SocketException 周辺の切断経路を追跡し、切断または破棄が WSACancelBlockingCall 例外や報告されているパフォーマンス低下なしに完了することを確認してください。
索引モデルが issue の本文から書いたものです。
説明
System Information:
- Library version:
<PackageReference Include="SSH.NET" Version="2024.2.0" /> - .NET 9.0
- Running on Windows 10 x64
Problem:
When I invoke the Disconnect method, a SocketException is thrown.
The problem is that I have to call this code in multiple iterations and I need to re-create the connection every time. The exception is a perf hit.
Repro code:
The repro code is very simple. I tried both Connect and ConnectAsync with no differences.
As soon as I try to either Disconnect or Dispose (which calls Disconnect), the Exception is thrown.
_client = new SshClient(connectionInfo);
_client.Connect(); // //await _client.ConnectAsync(default);
_client.Disconnect(); // Exception explodes here
_client.Dispose();
System.Net.Sockets.SocketException: 'A blocking operation was interrupted by a call to WSACancelBlockingCall.'
- 主要言語
- C#
- スター
- 4.4k
- フォーク
- 990
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
sshnet/SSH.NET のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
-
難易度 5/5 1週間以上 初心者へのやさしさ 45/100
-
ShellStream.Expect over-discards on undecodable bytes, driving ArrayBuffer.ActiveLength negativeオープン
難易度 4/5 3〜5日 初心者へのやさしさ 52/100
-
難易度 3/5 1〜2日 初心者へのやさしさ 68/100
-
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
lay295/TwitchDownloader#1675 ·
-
copilot documentation
難易度 1/5 1時間未満 初心者へのやさしさ 88/100
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
space-wizards/RobustToolbox#7119 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 86/100
dotnet/Scaffolding#3881 ·
メンテナーはふだん 2 日以内に返信
-
Bug
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
メンテナーはふだん 4 日以内に返信