git executable in Anaconda causes "fork bomb"

86 Views Asked by At

I'm running MSYS2 on a Windows 10 machine with Anaconda Python installed in my home directory under ~/Apps/. When I installed MSYS2 some time ago, I followed the procedure here to install the git executable from Git for Windows "inside" MSYS2, so when I open the MINGW64 shell, I see the Git for Windows version of git as follows

(base) ~ $ git --version
git version 2.44.0.rc0.windows.1

(The "windows" in the version string comes from Git for Windows.)

However, as of yesterday, git --version causes an error message about a "fork bomb", something I've never seen before. Here's what happens,

(base) ~ $ git --version
BUG (fork bomb): C:\<path to home>\Apps\Anaconda3\Library\bin\git.exe
(base) ~ $ which -a git
/c/<path to home>/Apps/Anaconda3/Library/bin/git
/mingw64/bin/git
/usr/bin/git
/usr/bin/git
(base) ~ $ conda deactivate
~ $ git --version
git version 2.44.0.rc0.windows.1

Once I do conda deactivate, I have a functioning git again.

This error seems to have cropped up after an update with pacman -Syu. Whenever I run this command, I get the following warning,

resolving dependencies...
warning: cannot resolve "libcrypt", a dependency of "libcurl"
warning: cannot resolve "libcrypt", a dependency of "curl"
warning: cannot resolve "libcrypt", a dependency of "libcurl"
warning: cannot resolve "libcrypt", a dependency of "openssh"
:: The following packages cannot be upgraded due to unresolvable dependencies:
      curl  libcurl  openssh

:: Do you want to skip the above packages for this upgrade? [Y/n]

I usually answer "Y". I'm not sure what the eventual consequences of skipping these upgrades are, but perhaps my last upgrade caused this "fork bomb"? And what is a "fork bomb"?

Edit: Switching to another conda environment hides the Anaconda git,

(base) ~ $ conda activate flask
(flask) ~ $ git --version
git version 2.44.0.rc0.windows.1

Doing which -a git at this point shows that the Anaconda git is no longer on the path. This doesn't tell me what is happening when the Anaconda git is on the path, and I don't want to fiddle with the Anaconda git unless I know what is happening; i.e. I know what "fork bomb" means. Some kind of recursion between git functions?

0

There are 0 best solutions below