Git GUI se bloquea cada vez que abre un repositorio

Desde hace unos días, cada vez que inicio Git GUI en un repositorio, muestra este mensaje de error horrible y se cierra después de hacer clic en Aceptar:

prepare-commit-msg hook failed:

      0 [main] us 0 init_cheap: VirtualAlloc pointer is null, Win32 error 487
AllocationBase 0x0, BaseAddress 0x68560000, RegionSize 0x260000, State 0x10000
C:\Program Files (x86)\Git\bin\sh.exe: *** Couldn't reserve space for cygwin's heap, Win32 error 0

You must correct the above errors before committing.

Solo sucede con Git GUI y solo cuando está en el repositorio (antiguo o de reciente creación). Comandos comunes en Git Bash incluyendo el trabajo de compromiso bien.

La desinstalación y reinstalación con un paquete más nuevo (solo un cambio menor en la versión) no eliminó el problema. Todavía ocurre con los repositorios antiguos, así como con los nuevos creados.

En una máquina limpia, este problema no se reproduce, así que supongo que hay algo en mi caja, pero no recuerdo haber instalado nada gracioso. Sin embargo, recuerdo haber apagado mi caja después de mucho tiempo, así que quizás alguna Actualización de Windows podría haber activado esto, lo que también explicaría por qué la otra máquina no sufre, es de 2 a 3 meses desde la última actualización de Windows allí.

¿Alguna idea de cómo arrojar luz sobre esto? (Como solo puedo verlo en una sola máquina, no tengo ganas de enviarlo al rastreador oficial antes de saber que no es culpa de mi / otra aplicación ...)

Actualizar después de los primeros comentarios:

Si elimina o cambia el nombre del script de enlace, ¿funciona?

Bastante divertido, pero el script de enganche en realidad no existe (no hay guiones de enganche presentes, solo hay archivos * .sample en .git \ hooks). Ni siquiera en otro lugar (git program dir, etc.)

Rastree para que sepa qué comandos ejecutó - desde git-bash rungit gui --trace

Lamentablemente esto no da nada al shell. El comportamiento es el mismo.

Tal vez obtener gdb allí.

Lo intenté pero gdb no produjo nada útil. Sin embargo, no tengo ninguna experiencia con GDB, probablemente lo estoy haciendo mal. Conseguí unGdb de mingw, se ejecutó desde el símbolo del sistema con git.exe como argumento y luego se ejecutórun gui. gdb no produjo nada interesante:

(gdb) run gui
Starting program: C:\Program Files (x86)\Git\bin\git.exe gu
[New Thread 8264.0x1ce4]
[New Thread 8264.0x394]
[Inferior 1 (process 8264) exited with code 01]
(gdb)  

Pero estoy casi seguro de que lo estoy haciendo mal, así que el consejo es más que bienvenido :)

Asegúrese de no tener Cygwin instalado o al menos que no esté presente en su PATH

Tengo instalado Cygwin (como siempre lo he hecho, antes de que se rompiera Git). De Cygwin solo tengo en la ruta algunos * .bat launchers y algunos * .dll archivos, pero he comprobado con ProcMon que no los toca, e incluso si los quito de la ruta, sigo teniendo el mismo problema.

Respuestas a la pregunta(7)

Su respuesta a la pregunta