git : してログ

Windows の git bash で git add できないのでハマってしまった。表題のエラーが出るのだが何のことやら、ファイルにはアクセスできるし、メッセージでググっても良く分からない。考えられることを試し尽くして、新しいテキストファイル1個だけのリポジトリにしたにもかかわらず、解消に至りません。

結論から言うと Windows アップデートが原因でした。再起動しようと思ったら、電源アイコンにオレンジのぽっちが付いていたので、再起動待ちになっていたようです。この自動アップデート、本当に腹が立ちます。バックグラウンドで勝手にアップデートしていて、不具合が起こらないようにやってくれるなら分かりますが、それが出来ないなら更新前にユーザーに確認すべきです。前にも同じようなことがありましたが、Windows10 って本当にクソだなって思います。

まとめ

  • git add をしようとしても "fatal: fsync error on 'loose object file': bad file descriptor" のエラーが出る
  • リポジトリはネットワークディレクトリ上にある(ファイルサーバーの共有フォルダをネットワークドライブにマウント)
  • ネットワークドライブからは問題無くアクセスできる
  • エクスプローラから "\\server" のホスト名でアクセスできない(再起動直前に気づいた)
  • エクスプローラから "\\<IPアドレス>" だとアクセスできる
  • "ping <ホスト名>" はエラー、"ping <IPアドレス>" は IPv6 で返って来る
  • ちなみにネットワークドライブ自体は、ホスト名で登録していて問題無くアクセス出来る
  • Windows アップデートが再起動待ちになっていた
  • 再起動後はネットワークアクセスも、git add も問題解消していた

教訓

Windows で問題が起きたら、あれこれ試す前に再起動すべし。