LoginSignup
6
7

More than 5 years have passed since last update.

msysgitでSTATUS_ACCESS_VIOLATIONを解消する方法の1つ

Last updated at Posted at 2013-07-21

gitが動かない!

Windows7でmsysgitを使っていたところ、何かを境にしてSTATUS_ACCESS_VIOLATIONが起きるようになりgitを使えなくなりました。

_人人人人人人人人_
> 突然のgit死亡 <
 ̄Y^Y^Y^Y^Y^Y^Y ̄

症状はFails with Exception: STATUS_ACCESS_VIOLATIONと同じです。

試行錯誤の日々

藁にもすがる思いで何とか見付け出した解決方法を色々と試してみました。
結論を先に書くとどれもダメでした。

cygwinやmsysと混ぜるな危険

msysgitのmsys-1.0.dllがcygwinやmsysのDLLと干渉することがあるらしいのですが、そもそも使ってないので他に原因があるようです。

DLLをrebase

gitのrebaseコマンドではなく、msys-1.0.dllをロードするアドレスが他のDLLと干渉するため、rebaseコマンドでアドレスを変更する方法らしいです。
環境によって干渉しないアドレスが違い、一度DLLをロードするとrebaseしても再起動するまで反映されないので時間ばかり食われた挙句、諦めてしまいました。

新規アカウントで試す

システム自体に問題があるのか、アカウントの環境に問題があるのか切り分けるために新規アカウントで作ったのですが、こちらでは問題ありません。どうやらアカウントの環境に問題があるようです。

やっと解決

何となく TEMPフォルダのゴミファイルを削除したら gitが動くようになりました!
もう意味が分かりません。msysgitってTEMPフォルダから何かロードしているのでしょうか?

何はともあれ動くようになったのですが、試行錯誤の数ヶ月の間に覚えたTortoiseHGが便利すぎて戻れなくなってしまいました。

※TEMPフォルダは環境変数TEMPTMPが指すフォルダです。

6
7
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
7