Hatena::ブログ(Diary)

miauの避難所

2013-12-29

msysgit(Git for Windows) で STATUS_ACCESS_VIOLATION が出る時の対策

git のコマンドを叩くと

      0 [main] sh.exe" 6768 handle_exceptions: Exception: STATUS_ACCESS_VIOLATION
   1620 [main] sh.exe" 6768 open_stackdumpfile: Dumping stack trace to sh.exe.stackdump

こんなエラーが出る状態になってしまったので、対策方法のメモ。ちなみに試したバージョンは Git-1.8.4-preview20130916.exe です。


Process Monitor で見てみると、sh.exe が起動する時に %TEMP% に対して QueryDirectory を実行して、ファイルの一覧を拾った直後で落ちている様子。このタイミングでこんなエラーが出るってことはどうせ日本語ファイルがらみだろうなー・・・。

ということで、%TEMP% (C:\Users\【ユーザ名】\AppData\Local\Temp)直下にある、名前に日本語を含むファイルとディレクトリを全て消したら、あっさり解決。

条件はよくわからないけど、拡張子部分に日本語があると起きやすいみたいで、いくつか試した感じだと「あああ.あ11」って名前のファイルが一つあるだけで上記のエラーが起きるみたい。

Git-1.7.8-preview20111206.exe

なら正常動作。

という情報もあったけど、Unicode 対応が入ったのが Git-1.7.10-preview20120409.exe 以降なので悩むところ。日本語を使わないリポジトリしか触らないなら、古いバージョンを入れなおしたほうが手っ取り早いかも。

(さっそく追記)

古いバージョンの msys-1.0.dll を使えば OK って話も見つけた。でもこれって Unicode 対応を捨てるってことだよなぁ・・・。

なななななな 2015/06/25 17:35 日本語が入ってるファイル削除したら解決しました!
ここにたどり着いてよかったです。ありがとうございます(^^

jj 2015/06/29 21:09 海外のサイトから調べていたので数時間詰まっていました。ありがとうございました。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/miau/20131229/1388301913