sshnet / sshnet/SSH.NET

SftpClient.Connect() throwing ThreadAbortException

オープン
#718 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

主要言語
C#
スター
4.4k
フォーク
993
平均マージ
9日 21時間
マージ済み PR(30日)
1

説明

public bool Connect()
{
    if (!Connected)
    {
        sftp.Connect(); //Line throw exception
    }
    return true;
}

Code like this, and it thrown a ThreadAbortException
Exception.TargetSite.Name is WaitMultiple

I use nuget to install ssh.net and that is 2016.1.0
Sometimes I can reproduce.
I get the latest code download from github and then compile, it still can be reproduced.
My Code:

public bool Connect()
        {
            try
            {
                if (!Connected)
                {
                    sftp.Connect();
                }
                return true;
            }
            catch (System.Threading.ThreadAbortException ex)
            {
                throw new Exception(string.Format("ThreadAbortException:{0}" + ex.TargetSite.Name, ex.Message));
            }
            catch (Exception ex)
            {
                throw new Exception(string.Format("Connect failed:{0}", ex.Message));
            }
            
        }

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

レポートに示されている SftpClient.Connect() と sftp.Connect() の呼び出しから開始し、提供された接続コードと SSH.NET 2016.1.0 またはコンパイルした最新のソースを使用して再現を試みてください。完全な結果では、ThreadAbortException を引き起こす条件を特定するか、断続的な挙動を説明した確認済みの修正を提示します。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
csharp
領域
networking
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
30/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。