I have git on my Windows 10 machine via MSYS2. From the MSYS2 terminal, I have been having no problem pushing commits to my bitbucket repository.
Now, all of a suddent, I am receiving the following error:
$ git push origin master
Password for 'https://NeomerArcana@bitbucket.org':
1 [main] git-remote-https 1747 child_info_fork::abort: \??
\C:\MSYS2-32\usr\bin\msys-unistring-2.dll: Loaded to different address: parent(0x990000) != child(0xF80000)
error: cannot fork() for send-pack: Resource temporarily unavailable
error: failed to push some refs to 'https://NeomerArcana@bitbucket.org/NeomerArcana/myrepo.git'
I read about issues with git and ASLR. So I disabled ASLR on the above .exe as well as mintty.exe and git.exe. This didn't work so I disabled ASLR system-wide. This still didn't work. I killed the git, created a new repository and started a new git with init
. Everything worked fine, right up until I tried pushing commits to the remote site, and I get the same error again.
Any ideas?
Are you running the 32-bit version of MSYS2? There seems to be a known error when it loads DLL files in a way so that they overlap:
https://sourceforge.net/p/msys2/tickets/74/
They write that you should try to:
One commenter explains it like this:
All MSYS2 32-bit DLLs must be auto-rebased as a group to ensure the don't overlapping in address space.
Any attempt to two clashing MSYS2 32-bit DLLs loaded at once will result in the failure you have seen.
In the end, they recommend using the 64-bit version of MSYS2, as that one doesn't have any of these problems.