Error de Github/Cygwin: se detectó una falta de coincidencia en la base de cygheap
(6)
Git me ha estado dando este error.
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
Las cosas que he intentado incluyen:
- borrando cygwin de
C:/cygwin
yC:/cygwin64
y reinstalando - reinstalando github usando el desinstalador y el instalador.
- desinstalar github y eliminar manualmente sus carpetas de datos de aplicaciones locales y móviles, y reinstalar.
- reiniciando la computadora
- rebasando
C:/cygwin
, tuvo éxito, pero no solucionó ningún problema. -
%appdata%/Local/Github/PortableGit_c7e.../.
devolvió el error original de nuevo.
Para referencia, estoy ejecutando windows 10 64 bit. La única otra pregunta que encontré fue que el pin señalaba que el error que recibía nunca llegó a una solución: enlace aquí
No estoy seguro de dónde ir aparte de simplemente reinstalar Windows por completo, cualquier ayuda sería muy apreciada.
Deshabilite Forzar aleatorización para imágenes (ASLR obligatorio) en el Centro de seguridad de Windows Defender de su sistema. O excluir ASLR para ejecutables de git :
Get-Item -Path "C:/Program Files/Git/usr/bin/*.exe" | %{ Set-ProcessMitigation -Name $_.Name -Disable ForceRelocateImages }
El reinicio me lo arregló. Probablemente obtuve este error por actualizar Git para Windows. Intenta reiniciar antes de hacer cualquiera de las otras locuras!
El shell de git-for-windows ( basado en msys2 ) no está diseñado para ejecutarse en Cygwin o en una instalación diferente de msys2.
GitHub Desktop utiliza un viejo git para Windows (2.5.3, septiembre de 2015)
Para una sesión de git bash, no necesita Cygwin o GitHub Desktop.
Descomprime el último git-for-windows azrchive que puedes encontrar :
-
PortableGit-2.7.0-64-bit.7z.exe
=>c:/prgs/git/PortableGit-2.7.0-64-bit
Entonces:
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
Luego podrás escribir git-bash
para iniciar una sesión de bash basada en linux.
O bien, desde una sesión de shell CMD
normal, tendrá acceso a más de 200 comandos de Unix ( curl
, cat
, xargs
, ls
, ...).
No hay necesidad de Cygwin.
OK para mí un error similar 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.
significa "está tratando de compilar utilizando MSYS2, pero por error se transfiere a algunos archivos cmp.exe distribuidos por git, que aparentemente no se pueden utilizar" (consulte la respuesta de VonC).
Solucionarlo en mi caso: instálelos en MSYS2 correctamente
$ pacman -S make
$ pacman -S diffutils # for cmp package
Tuve un problema muy similar, pero ni los reinicios ni la reinstalación de git o cygwin me ayudaron. Siempre tengo
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
Me tomó un tiempo descubrir que comenzó después de leer sobre un error de Windows relacionado con "ASLR obligatorio en todo el sistema", y sobre cómo las configuraciones disponibles a través de la interfaz de usuario de Windows no configuraban las claves de registro adecuadas. Después de hacer que mi sistema sea más seguro al agregar esta entrada de registro, Cygwin Forking se rompió:
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
Fuente: Aclarar el comportamiento de ASLR obligatorio.
Eso provocó que git-stash no funcionara más, ni que cygwin funcionara (lo cual instalé más tarde. Eliminar esa clave de registro de nuevo solucionó el problema.
algunos paquetes en MSYS2 que instaló están en conflicto con x: / cygwin / bin, así que simplemente elimine MSYS2 PATH en el entorno del sistema