Cygwin/Git error cygheap base mismatch detected

前端 未结 13 1460
轮回少年
轮回少年 2020-12-13 01:41

I have installed two windows servers with the latest versions of cygwin and git, and am trying to clone the git repository from S1, to S2. I can successfully ssh from S2 to

相关标签:
13条回答
  • 2020-12-13 02:05

    I had the same kind of error when trying to push to a git repo from visual studio 2017 using a script starting with #!/bin/sh from

    [repo folder]\.git\hooks\commit-msg
    

    Error message :

    1 [main] sh (11460) c:\program files (x86)\microsoft visual studio\2017\enterprise\common7\ide\commonextensions\microsoft\teamfoundation\team explorer\Git\usr\bin\sh.exe:
     *** fatal error - cygheap base mismatch detected - 0x14DD408/0x12AD408.This problem is probably due to using incompatible versions of the cygwin DLL.
    Search for cygwin1.dll using the Windows Start->Find/Search facilityand 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 haveinstalled the cygwin distribution.
    Rebooting is also suggested if youare unable to find another cygwin DLL.      
    

    I tried different solutions above without success

    What I did to solve the issue is copying content from :

    C:\Program Files\Git\usr\bin
    

    to

    C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\usr\bin
    

    The issue on my computer came from a version mismatch on sh.exe, and copying these files resolved the problem

    0 讨论(0)
  • 2020-12-13 02:14

    I had the same problem.

    I just restarted my PC and it worked again.

    It doesn't help to find reason of problem but at least you can keep on to work.

    0 讨论(0)
  • 2020-12-13 02:14

    You don't mention this in your problem statement, but I am presuming you are running on a 64 bit version of Windows. Cygwin has problems running on 64 bit Windows, especially with large programs. I believe this is due to memory management issues within the cygwin1.dll support library. It looks like it's making the unsupportable assumption that it will forever and always be mapped to the same address in every process, so it's okay for it to keep process specific things (like heap addresses) in system-wide global variables.

    In my abundant free time, I've been trying to track down the problematic bits. In the meantime, you could try rebasing cygwin1.dll itself. Be warned, that's a great whackin' lot more complicated than it needs to be - even more complicated than rebasing all of everything else.

    0 讨论(0)
  • 2020-12-13 02:14

    For me the problem was existence of an older C:\cygwin64 folder. Renaming this folder was not enough. When I deleted this folder then the problem went away. I did not need to reboot after deleting the C:\cygwin64 folder either.

    0 讨论(0)
  • 2020-12-13 02:15

    In my case the PATH in the Environment Variables was wrong. I moved the cygwin a bit earlier in the path (making sure it is set before git path). That way cygwin dll was in favor of git dll.

    For example; The path of C:\Program Files\Git\usr\bin;C:\cygwin\bin;... Was changed to C:\cygwin\bin;C:\Program Filenter code herees\Git\usr\bin;...

    Environment was Win7x86 and a reboot was required to that updated path is used.

    0 讨论(0)
  • 2020-12-13 02:18

    I know this is an old thread, but as it is the first result on this issue, I would like to add my resolution in the hope it helps someone else.

    First, run cygcheck PROGRAMM, in my case, I had an issue with tar.exe so I ran: cygcheck tar the cygcheck command shows what DLL's are used.

    Everything looked correct in cygcheck, so I decided, based on the comments of Jim Schneider, to switch from the 64bit version of Cygwin to the 32bit version, that ultimately solved my problem.

    0 讨论(0)
提交回复
热议问题