Git一直在给我这个错误
0 [main] sh (47116) C:\Users\Marcus\AppData\Local\GitHub\PortableGit_c7e0cbde92ba565cb218a521411d0e854079a28c\usr\bin\sh.exe: *** fatal error - cygheap base mismatch detected - 0x11C7400/0x1297400.
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.
0 [main] sh 42052 fork: child -1 - forked process 47116 died unexpectedly, retry 0, exit code 0xC0000142, errno 11
/mingw32/libexec/git-core/git-sh-setup: fork: retry: No child processes
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.
0 [main] sh 42052 fork: child -1 - forked process 47116 died unexpectedly, retry 0, exit code 0xC0000142, errno 11
/mingw32/libexec/git-core/git-sh-setup: fork: retry: No child processes
我尝试过的事情包括:
C:\cygwin
和C:\cygwin64
删除cygwin并重新安装C:\cygwin
它再次返回原始错误。作为参考,我正在运行Windows 10 64位。唯一的另一个问题我能找到那个引脚指出我从未得到过的错误:%appdata%\Local\Github\PortableGit_c7e...\.
我不确定除了完全重新安装Windows之外还有哪些方面,任何帮助将不胜感激。
来自link here(git-for-windows)的shell不应该在Cygwin中运行,也不应该在msys2的不同安装中运行。
based on msys2使用GitHub Desktop
对于git bash会话,您不需要Cygwin或GitHub Desktop。
解压缩old git-for-windows (2.5.3, Sept. 2015):
然后:
c:\prgs\git\PortableGit-2.7.0-64-bit
然后,您将能够键入cd c:\prgs\git
mklink /J latest PortableGit-2.7.0-64-bit
set GIT_ROOT=c:\prgs\git\latest
set PATH=%PATH%;%GIT_ROOT%;%GIT_ROOT%\bin;%GIT_ROOT%\cmd;%GIT_ROOT%\us`\bin
以启动基于Linux的bash会话。
或者,从常规的git-bash
shell会话中,您将可以访问200多个unix命令(CMD
,curl
,cat
,xargs
,...)。
不需要Cygwin。
我有一个非常类似的问题,但既没有重新启动也没有重新安装git或cygwin帮助。我总是得到:
ls
我花了一段时间才弄清楚它是在我读到与“系统范围的强制ASLR”相关的Windows错误之后开始的,以及通过Windows UI提供的设置如何设置正确的注册表项。通过添加此注册表项使我的系统更安全后,cygwin forking破坏了:
1 [main] sh (12220) C:\Program Files\Git\usr\bin\sh.exe: *** fatal error - cygheap base mismatch detected - 0x37C7408/0x38E7408.
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.
0 [main] sh 6928 fork: child -1 - forked process 12220 died unexpectedly, retry 0, exit code 0xC0000142, errno 11
C:\Program Files\Git\mingw64/libexec/git-core\git-stash: fork: retry: Resource temporarily unavailable
资料来源:Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\kernel]
"MitigationOptions"=hex:00,01,01,00,00,00,00,00,00,00,00,00,00,00,00,00
这导致git-stash不再工作,也没有cygwin工作(我后来安装。删除该注册表项再次修复了问题。
在系统的Windows Defender安全中心中禁用Clarifying the behavior of mandatory ASLR 。或者Force randomization for images (mandatory ASLR):
exclude ASLR for git executables
重新启动修复它为我。我可能因为升级Git for Windows而出现此错误。在做任何其他疯狂的事情之前尝试重新启动!
好吧,对我来说类似的错误Get-Item -Path "C:\Program Files\Git\usr\bin\*.exe" | %{ Set-ProcessMitigation -Name $_.Name -Disable ForceRelocateImages }
...
ffmpeg $ ./configure
意思是“你正在尝试使用MSYS2进行构建,但意外地失败了一些git分布式cmp.exe文件,这些文件显然是不可用的”(参见VonC的回答)。
修复我的情况:将它们安装到MSYS2中:
License: LGPL version 2.1 or later
Creating config.mak, config.h, and doc/config.texi...
1 [main] cmp (5984) C:\Program Files\Git\usr\bin\cmp.exe: *** fatal error - cygheap base mismatch detected - 0x180326400/0x180330400.
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.
您安装的MSYS2中的某些软件包与x:\ cygwin \ bin冲突,因此只需删除系统环境中的MSYS2 PATH