
WSL2 で git clone しようとした時、エラーメッセージ「RPC failed; curl 56 GnuTLS recv error (-12): A TLS fatal alert has been received.」が表示され、うまく git からダウンロードできなかったので、エラー解決した方法を記録しておきます。
↓こんなエラーログが出力されました。
$ git clone https://github.com/radareorg/radare2.git
Cloning into 'radare2'...
error: RPC failed; curl 56 GnuTLS recv error (-12): A TLS fatal alert has been received.
fatal: the remote end hung up unexpectedly`
なお、ここでは radare2 というツールをgit clone で取得しようとして失敗していますが、 他のプロジェクト(例えば某OSSゲームのgit clone)はちゃんと git clone で取得できたりします。
どうも git で大量のデータをリモートリポジトリとやり取りする時、RPC を使いますが、その 処理で失敗したようです。
Microsoft 公式の WSL Github のスレッドにおそらく hyper-v 関連と intel Wifi ドライバの組合せによるバグという情報がありました。
git clone で一部のプロジェクトの取得に失敗する他、以下のような動作となります。
条件に自分も当てはまるので、だいぶ疑いが強い。
コマンドで簡単に確認なら、Windows のコマンドプロンプトから、 driverquery /V /FO CSV | findstr "Wireless"
で一覧が表示されます。Intel(R) Wireless を使っているか分かります。
Windowsのドライバ一覧から Wifi を個別に選択してチップセットとかも確認したほうが分かりやすいかも。私の端末では「Intel(R) Wireless-AC 9260」のバージョン「20.70.0.100」を使用しています。
Intel が公開している最新ドライバでパッチが入っているようなので、 手動で最新版に更新してあげます。
Intel 公式のWifi ドライバページからドライバの 最新版をダウンロードします。
ページの「This download is valid for the product(s) listed below.」の中から、先ほど確認した自身の Wifi にあう製品を選択すれば OK です。
ダウンロードしてきたセットアップを実行すれば、自動的にアップデートまで誘導してくれます。
セットアップ後、アップデート可能なドライバ一覧が表示されるので、 Wifi ドライバを選択し最新にしましょう!
念のため再起動して、再度 git clone したところ正常にインターネットから取得できました。 よかった。
巨大なファイルをリモートでやり取りする時、PRCを使おうとして失敗しているようなので 一時的な対応作として、https でやり取りするバッファサイズを大きめに設定してあげれば、うまくいきそうです。
git config --global ssh.postBuffer 524288000
git config --global http.postBuffer 524288000
おしまい。
コメント、ありがとうございます。
ごめんなさい。エラーでうまく送信できませんでした。ご迷惑をおかけします。しばらくおいてから再度送信を試していただくか、以下から DM などでご連絡頂ければと思います。
Twitter:@NodachiSoft_jpお名前:以下の内容でコメントを送信します。よろしければ、「送信」を押してください。修正する場合は「戻る」を押してください
お名前: