2016-01-23 9 views
17

Git został daje mi ten błądbłąd Github/Cygwin: Wykryto cygheap baza niedopasowanie

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 

Rzeczy Próbowałem to:

  • usuwanie Cygwin z C:\cygwin i C:\cygwin64 i ponowne
  • ponowna instalacja githuba za pomocą deinstalatora i instalatora.
  • odinstalowanie github i ręczne usunięcie lokalnych i mobilnych folderów appdata i ponowne zainstalowanie.
  • ponowne uruchomienie komputera
  • rebasing C:\cygwin, udało się, ale nie naprawiono żadnych problemów.
  • ponowne przesłanie %appdata%\Local\Github\PortableGit_c7e...\. ponownie zwróciło oryginalny błąd.

dla odniesienia, używam Windows 10 64 bit. Jedyne inne pytanie, które mogłem znaleźć, wskazywało, że błąd, który dostaję, nigdy nie dotarł do rozwiązania: link here

Nie jestem pewien, gdzie jeszcze pójdzie na bok, po prostu ponownej instalacji okien w ogóle, każda pomoc byłaby bardzo doceniana.

Odpowiedz

12

Powłoka z git-for-windows (based on msys2) nie jest przeznaczona do uruchamiania w Cygwin lub innej instalacji msys2.

GitHub Desktop wykorzystuje old git-for-windows (2.5.3, Sept. 2015)

na sesję git bash, nie trzeba Cygwin lub GitHub Desktop.

dekompresję latest git-for-windows azrchive you can find:

Następnie:

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 

Będziesz wtedy mógł wpisać git-bash do rozpoczęcia sesji bash oparty na systemie Linux.

Albo od zwykłej sesji CMD muszli, będziesz miał dostęp do 200+ UNIX polecenia (curl, cat, xargs, ls ...).
Nie trzeba Cygwin.

+0

Dziękujemy! to jest wielka pomoc i na pewno rozwiązuje problem. Mogę teraz używać git z linii poleceń, powershell i git bash! ale mam trochę obserwacji, jeśli nie masz nic przeciwko? w jaki sposób powinienem sprawić, by github rozpoznał nowe działające polecenia git jako te, które będą używane? ponieważ nawet jeśli spróbuję zastąpić jego przenośny git nowym, działającym, to nadpisuje go i powstają błędy. –

+0

@MarcusGosselin Próbowałem zmienić git wcześniej w GitHub Desktop i ... Zmierzyłem ten sam problem, co Ty: http://stackoverflow.com/a/33703716/6309. Wolę otworzyć niezależną powłokę (taką, którą kontroluję), w której mogę użyć Gita, którego chcę. – VonC

+0

Mam do czynienia z tym samym problemem, ale po uzyskaniu dostępu do powłoki Git z pulpitu GitHub. Kiedy otwieram katalog z oddzielnego Powershell, Git działa dobrze. Jakieś pomysły? –

2

OK dla mnie podobny błąd ffmpeg $ ./configure ...

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. 

oznaczało „staramy się budować za pomocą MSYS2 ale przypadkowo braku nad pewnym git rozproszonych plików cmp.exe, które są pozornie unuseable” (patrz odpowiedź VonC).

Fix w moim przypadku: zainstalować je w MSYS2 właściwego:

$ pacman -S make 

$ pacman -S diffutils # for cmp package 
+1

Tak więc twoja edycja wspomina o niekompatybilnej instalacji msys2. Rozumiem. +1 – VonC

0

niektóre pakiety w MSYS2 zainstalowane jest w konflikcie z X: \ cygwin \ bin, więc po prostu usunąć MSYS2 ścieżka w środowisku systemowym

3

Ponowne uruchomienie naprawiono dla mnie. Prawdopodobnie dostałem ten błąd z powodu aktualizacji Git dla Windows. Spróbuj ponownie uruchomić komputer przed wykonaniem innych szalonych rzeczy!

3

Miałem bardzo podobny problem, ale ani nie wznowiono ani nie ponownie zainstalowałem git lub cygwin. Zawsze otrzymała:

 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 

Zajęło mi trochę czasu, aby dowiedzieć się, że to się zaczęło po przeczytaniu o błąd systemu Windows związane z „całego systemu obowiązkowe ASLR”, jak i ustawienia dostępne przez okna interfejsu użytkownika nie zostały ustalone odpowiednie klucze rejestru. Po dokonaniu mój system bardziej bezpieczny, dodając ten wpis rejestru, Cygwin rozwidlone złamał:

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 

. Źródło: Clarifying the behavior of mandatory ASLR

To spowodowało git-zapas nie pracuje już ani pracy Cygwin (które instalowane później Usuwanie że klucz rejestru ponownie stała się kwestią

+1

podobny przypadek tutaj! Wydaje mi się, że Windows 10 Fall Creators Update został dostarczony z nowym panelem ustawień "Ochrona przed exploitami" w Windows Defender, z których jednym jest "Obowiązkowy ASLR". Domyślnie jest on wyłączony, ale włączam go jakiś czas temu i złamał 'git stash'. Wyłączenie go i ponowne uruchomienie systemu Windows rozwiązało problem. –

0

Wyłącz Force randomization for images (mandatory ASLR) w Centrum Windows Defender zabezpieczenia systemu Or exclude ASLR for git executables:..

Get-Item -Path "C:\Program Files\Git\usr\bin\*.exe" | %{ Set-ProcessMitigation -Name $_.Name -Disable ForceRelocateImages } 
+2

To jest linia graniczna [link-only answer] (// meta.stackexchange.com/q/8231). Powinieneś rozwinąć swoją odpowiedź, aby podać tu jak najwięcej informacji i użyć linku tylko w celach informacyjnych. –

Powiązane problemy