Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

git-remote-https cannot fork msys-unistring-2.dll loaded to different address

Tags:

git

msys2

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://[email protected]':
      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://[email protected]/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?

like image 472
NeomerArcana Avatar asked Oct 18 '25 17:10

NeomerArcana


1 Answers

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:

  1. Close all MSYS2 processes
  2. Run autorebase.bat
  3. Start MSYS2 again

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.

like image 105
MrBerta Avatar answered Oct 21 '25 07:10

MrBerta