Git GUI вылетает каждый раз, когда открывает репозиторий

Так как несколько дней назад каждый раз, когда я запускаю Git GUI в репозитории, он отображает это ужасающее сообщение об ошибке и завершает работу после нажатия кнопки ОК:

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.

Это происходит только с Git GUI и только в репозитории (старом или только что созданном). Обычные команды в Git Bash, включая commit, работают нормально.

Удаление и повторная установка с более новым пакетом (только незначительное изменение версии) не устранили проблему. Это по-прежнему происходит со старыми репозиториями, а также со вновь созданными.

На чистой машине эта проблема не воспроизводится, поэтому я предполагаю, что это что-то есть на моей коробке, но я не помню, чтобы что-нибудь смешное устанавливалось. Я помню, что выключил свою коробку через долгое время, так что, возможно, некоторые обновления Windows могли бы вызвать это - это также объясняет, почему другая машина не страдает - это 2-3 месяца с момента последнего обновления Win.

Есть идеи как пролить свет на это? (Так как я вижу его только на одной машине, я не чувствую необходимости отправлять его на официальный трекер, пока не узнаю, что это не ошибка моего / другого приложения ...)

Update после первых комментариев:

If you remove or rename the hook script, does it work?

Funny enough, but the hook script actually does not exist at all (no hook scripts are present--there are only *.sample files in .git\hooks). Not even elsewhere (git program dir, etc.)

Trace it so you know what commands it ran - from git-bash run git gui --trace

Sadly this does not output anything to the shell. Behaviour is the same.

Maybe get gdb in there.

I tried but gdb did not output anything useful. However, I don't have any experience with GDB, I'm probably doing it wrong. I got a MinGW's gdb, ran it from command prompt with git.exe as argument and then ran run gui. gdb did not output anything interesting:

(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)  

But I'm almost sure I'm Doing It Wrong, so advice is more than welcome :)

Make sure you don't have cygwin installed or at least that it is not present in your PATH at all

I do have cygwin installed (as I always had, before git broke). From Cygwin I only have in path some *.bat launchers and some *.dll files, but I have checked with ProcMon that it does not touch them and even if I remove them from the path I still get the same crash.

Ответы на вопрос(7)

Ваш ответ на вопрос