Nodachisoft Nodachisoft logo, Katana Sword Icon
  
@あまじ✎ 2020年8月5日に更新

WSL2 で git clone 時に「RPC failed; curl 56 GnuTLS recv error (-12): A TLS fatal alert has been received.」で失敗する時の修復方法メモ

WSL2 で git clone 時に「RPC failed; curl 56 GnuTLS recv error (-12): A TLS fatal alert has been received.」で失敗する時の修復方法メモ

WSL2 で git clone しようとした時、エラーメッセージ「RPC failed; curl 56 GnuTLS recv error (-12): A TLS fatal alert has been received.」が表示され、うまく git からダウンロードできなかったので、エラー解決した方法を記録しておきます。

↓こんなエラーログが出力されました。

git clone 実行時エラーログ
$ 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 で取得できたりします。

wsl2_gitclone_fail

どうも git で大量のデータをリモートリポジトリとやり取りする時、RPC を使いますが、その 処理で失敗したようです。

環境

  • Ubuntu 20.04LTE @ WSL2 : Windows10 Home Ver.2004(OS Build 19041.421)
  • git 2.25.1
  • Intel Wifi chipset で Wifi を使ってネットワークにアクセス

やったこと

Microsoft 公式の WSL Github のスレッドにおそらく hyper-v 関連と intel Wifi ドライバの組合せによるバグという情報がありました。

git clone で一部のプロジェクトの取得に失敗する他、以下のような動作となります。

  • WSL1 に切替たり、Windowsバイナリでの git コマンドはうまく行く。
  • Wifi 経由ではなく、物理LAN差しなら成功する

条件に自分も当てはまるので、だいぶ疑いが強い。

使っている Wifi chipset の確認

コマンドで簡単に確認なら、Windows のコマンドプロンプトから、 driverquery /V /FO CSV | findstr "Wireless" で一覧が表示されます。Intel(R) Wireless を使っているか分かります。

driverquery_wifi.png

Windowsのドライバ一覧から Wifi を個別に選択してチップセットとかも確認したほうが分かりやすいかも。私の端末では「Intel(R) Wireless-AC 9260」のバージョン「20.70.0.100」を使用しています。

intel_wifi_driver.png

Intel が公開している最新ドライバでパッチが入っているようなので、 手動で最新版に更新してあげます。

Intel 公式のWifi ドライバページからドライバの 最新版をダウンロードします。

ページの「This download is valid for the product(s) listed below.」の中から、先ほど確認した自身の Wifi にあう製品を選択すれば OK です。

ダウンロードしてきたセットアップを実行すれば、自動的にアップデートまで誘導してくれます。

intel_wifi_setup.png

セットアップ後、アップデート可能なドライバ一覧が表示されるので、 Wifi ドライバを選択し最新にしましょう!

intel_wifi_setup2.png

念のため再起動して、再度 git clone したところ正常にインターネットから取得できました。 よかった。

wsl2_gitclone_success.png

他の解決策

巨大なファイルをリモートでやり取りする時、PRCを使おうとして失敗しているようなので 一時的な対応作として、https でやり取りするバッファサイズを大きめに設定してあげれば、うまくいきそうです。

 
git設定例
git config --global ssh.postBuffer 524288000
git config --global http.postBuffer 524288000

おしまい。

参考

変更履歴

  • 2020/08/05 初版公開
 
 
送信しました!

コメント、ありがとうございます。

なんかエラーでした

ごめんなさい。エラーでうまく送信できませんでした。ご迷惑をおかけします。しばらくおいてから再度送信を試していただくか、以下から DM などでご連絡頂ければと思います。

Twitter:@NodachiSoft_jp
お名前:
 
連絡先:
 
メッセージ:
 
戻る
内容の確認!

以下の内容でコメントを送信します。よろしければ、「送信」を押してください。修正する場合は「戻る」を押してください

お名前:
 
連絡先:
 
メッセージ:
 
Roboto からの操作ではないという確認のため確認キーを入れてください。
確認キー=95
戻る
 / 
送信確認へ
コメント欄
コメント送信確認へ

関連ありそうな記事(4件)です!

VSCode で github への認証失敗「Git リモートに対して認証できませんでした」を解消する方法

VSCode で github への認証失敗「Git リモートに対して認証できませんでした」を解消する方法

#Git#Vscode✎ 2021-12-17
VSCode で github への認証失敗「Git リモートに対して認証できませんでした」を解消する方法を備忘しています。コマンドラインから簡単に解消可能です。
目次
WSL2 で git clone 時に「RPC failed; curl 56 GnuTLS recv error (-12): A TLS fatal alert has been received.」で失敗する時の修復方法メモ
WSL2 で git clone 時に「RPC failed; curl 56 GnuTLS recv error (-12): A TLS fatal alert has been received.」で失敗する時の修復方法メモ
環境
環境
やったこと
やったこと
使っている Wifi chipset の確認
使っている Wifi chipset の確認
他の解決策
他の解決策
参考
参考
変更履歴
変更履歴
Nodachisoft © 2021