Git for windows stopped working
Just overnight, all of a sudden my GIT for windows stopped working, for each repository.
Every git operation ends with a dialog saying ‘Git for Windows stopped working’ (whether it’s from GIT bash, PowerShell or SourceTree):
$ git pull upstream master
remote: Counting objects: 15, done.
remote: Compressing objects: 100% (14/14), done.
fatal: write error: Invalid argument
fatal: unpack-objects failed
I’ve completely reinstalled GIT, deleted all credential helpers, (latest version, 1.9.4), deleted my .gitconfig file, deleted/reinstalled git extensions, nothing helps.
The event viewer only mentions a fault in ntdll.dll:
Faulting application name: git.exe, version: 18.104.22.168, time stamp: 0x5399b485
Faulting module name: ntdll.dll, version: 6.3.9600.17114, time stamp: 0x53648f36
Exception code: 0xc0000005
Fault offset: 0x0003ffc5
Faulting process ID: 0x2228
Faulting application start time: 0x01cf9f49e1a5842c
Faulting application path: C:\Program Files (x86)\Git\bin\git.exe
Faulting module path: C:\Windows\SYSTEM32\ntdll.dll
Report ID: 1f536891-0b3d-11e4-833c-6003089821b1
Faulting package full name:
Faulting package-relative application ID:
I don’t seem to have any new windows updates installed since yesterday, when it worked fine…
Any ideas what might have caused this all of a sudden?
I’ve been running in to this issue recently and took a deeper look at the crash just now.
git.exe‘s startup sequence with Process Monitor I noticed that the file
AirfoilInject3.dll was hooking in to the startup process.
On a hunch I disabled this by removing it from the registry value
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs and everything is back to normal.
AirfoilInject3.dll is part of AirFoil’s “Instant On” feature. This might be the root cause of your crashes if by chance you’re using AirFoil (it’s likely safer and easier to disable this via AirFoil directly instead of hacking up the registry). If not, perhaps a similar trace via Process Monitor will yield further paths to explore.
Something must have changed in your environment:
- either your PATH (leading to duplicate and conflicting dlls)
- or new programs installed (and not compatible with the current fll included in git)
- or dlls takes the same base address (and you need to move the one used by git)
Either way, try first with:
- a msysgit unzipped from a release zip file (no setup)
- a simplified PATH including only the minimum and said unzippped git
And see if that works better then.