Windows 10(1803)でgitを使用すると、一部のコマンドで次のエラーが発生します。
git submodule add https://github.com/..../......git ......
3 [main] basename (13656) C:\.....\basename.exe: *** fatal error - cygheap base mismatch detected - 0x64313400/0x11E3400.
This problem is probably due to using incompatible versions of the cygwin DLL.
Search for cygwin1.dll using the Windows Start->Find/Search facility
and delete all but the most recent version. The most recent version *should*
reside in x:\cygwin\bin, where 'x' is the drive on which you have
installed the cygwin distribution. Rebooting is also suggested if you
are unable to find another cygwin DLL.
この問題を解決するにはどうすればよいですか?
このエラーにはいくつかの理由が考えられます。
たとえば、DLLのバージョンが競合している可能性があります。
ただし、Windows 10の最近のバージョンには、もともとMicrosoft EMETの一部であった追加の保護機能が組み込まれています。
特に、ASLR( Address Space Layout Randomization )のセキュリティ機能は、Git for Windowsのインストールに含まれているUNIXのような実行可能ファイルと互換性がありません。
この問題を修正するには、エクスプロイト保護設定を開き、[プログラム設定]タブに切り替えて、エラーにリストされている実行可能ファイル名を追加します(かなりの数になる可能性があります)。
上記の例では、basename.exe
または少し偏執的である場合は絶対パス。
実行可能ファイルごとに、ASLR保護をオフにします。
詳細については、次のGitHubの問題をご覧ください。