GitHub git pull致命错误cygwin DLL

5

我正在尝试使用GitHub桌面客户端从我的Github命令行执行git pull命令。

由于某些原因,我的git pull不再起作用,并且会输出以下错误:

D:\AndroidStudioProjects\Tangle>git pull
      1 [main] sh (6932) C:\Users\dbale\AppData\Local\GitHub\PortableGit_c7e0cbde92ba565cb218a521411d0e854079a28c\usr\bin\sh.exe: *** fatal error - cygheap base mismatch detected - 0xC77400/0xDD7400.
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.
      1 [main] sh 15144 fork: child -1 - forked process 6932 died unexpectedly, retry 0, exit code 0xC0000142, errno 11
/mingw32/libexec/git-core/git-sh-setup: fork: retry: No child processes
      4 [main] sh (16184) C:\Users\dbale\AppData\Local\GitHub\PortableGit_c7e0cbde92ba565cb218a521411d0e854079a28c\usr\bin\sh.exe: *** fatal error - cygheap base mismatch detected - 0xC77400/0xEE7400.
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.
1067828 [main] sh 15144 fork: child -1 - forked process 16184 died unexpectedly, retry 0, exit code 0xC0000142, errno 11
/mingw32/libexec/git-core/git-sh-setup: fork: retry: No child processes
      3 [main] sh (6452) C:\Users\dbale\AppData\Local\GitHub\PortableGit_c7e0cbde92ba565cb218a521411d0e854079a28c\usr\bin\sh.exe: *** fatal error - cygheap base mismatch detected - 0xC77400/0x1107400.
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.
3137324 [main] sh 15144 fork: child -1 - forked process 6452 died unexpectedly, retry 0, exit code 0xC0000142, errno 11
/mingw32/libexec/git-core/git-sh-setup: fork: retry: No child processes
      3 [main] sh (10188) C:\Users\dbale\AppData\Local\GitHub\PortableGit_c7e0cbde92ba565cb218a521411d0e854079a28c\usr\bin\sh.exe: *** fatal error - cygheap base mismatch detected - 0xC77400/0xED7400.
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.
7211236 [main] sh 15144 fork: child -1 - forked process 10188 died unexpectedly, retry 0, exit code 0xC0000142, errno 11
/mingw32/libexec/git-core/git-sh-setup: fork: retry: No child processes

我的cygwin1.dll文件位于:C:\cygwin64\bin\

我经常使用github,以前从未遇到过这个问题... 有人能帮我解决一下吗...

谢谢!


当我为Android Studio配置git时,我遇到了这个问题。我不知道这是否也是你的情况。我从我的android sdk工具路径path-to-android-sdk\tools\bin中删除了cygwin1.dll。然后我重新启动了电脑并运行了GitHub独立应用程序。拉取请求成功执行。 - Luke
看起来升级后重新启动可以解决这个问题 - 所以这不是一个永久性的问题。请参见:https://dev59.com/zVsW5IYBdhLWcg3wdW-T#43082278 - Mark
5个回答

3
问题出在你的cygwin中,如你所见,是不兼容的dll版本。你能否尝试安装git-scm上的git并查看问题是否仍然存在? https://git-scm.com/download/win

3

在Windows 10上使用git for windows时遇到了与cygwin1.dll有关的错误堆栈,PC上没有安装cygwin1.dll。解决方法是安装32位版本。

如果这并不回答您的问题,但这是Google搜索此错误时显示的第一个问题。所以对于那些将遇到与git 2.10相同问题的人可能会有所帮助。


这是对我有效的方法。如果您的计算机上安装了64位的git,请安装32位版本的cygwin,否则它们将无法一起使用。 - NIMROD MAINA
我在W7上运行。Cygwin 64没问题,但安装完整版的Git后,出现了关于DLL的错误,尽管只有一个DLL。我改为安装32位版本的Cygwin,问题完全解决了! - Olivier D

2

当您的PATH路径中存在冲突的二进制文件时,就会出现这种情况。通常是在安装Cygwin和Git for Windows时发生的。常见的二进制文件使用不同版本的Cygwin构建,从而导致问题。

Git for Windows带有大多数Cygwin实用程序,因此您可以卸载Cygwin。

如果您想使用Cygwin,则建议您安装纯Git二进制文件并将其放入PATH路径中。


删除Cygwin文件夹,Git-Bash从错误中恢复 - signonsridhar

1

Windows 10的更改使得强制随机化图像(Mandatory ASLR)默认开启。我不得不前往Exploit保护,并为GitHub Desktop使用的每个Cygwin程序配置例外。

在我的电脑上,Cygwin程序目前位于C:\ Users \ cjshaker \ AppData \ Local \ GitHubDesktop \ app-2.1.3 \ resources \ app \ git \ usr \ bin

您可以在以下链接了解更多问题: Desktop barfs with cygheap base mismatch detected https://github.com/desktop/desktop/issues/3096

Chris Shaker


1
我遇到了同样的问题,问题出在Android SDK工具上。 当我卸载了Android SDK工具后,Github桌面版就可以正常工作了。

不知道为什么,我刚刚卸载了Android SDK工具,重启了电脑,哇!它现在运行得很好。谢谢伙计。 - Nathan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接