msysgit“fork:无法为堆栈保留内存”?

msysgit“fork:无法为堆栈保留内存”?,msysgit,Msysgit,我已经从这里在我的Windows Server 2003 64位计算机上安装了msysgit Git-1.7.10-preview20120409.exe。在安装过程中,我在这里包括了Git Bash。当我在这里为Windows资源管理器中列出的任何文件夹选择Git Bash时,我得到 C:\Program Files x86\Git\bin\sh.exe:*fork:无法保留内存 对于堆栈0x490000-0x690000,Win32错误0 0[main]sh.exe 1348与子项同步:子项

我已经从这里在我的Windows Server 2003 64位计算机上安装了msysgit Git-1.7.10-preview20120409.exe。在安装过程中,我在这里包括了Git Bash。当我在这里为Windows资源管理器中列出的任何文件夹选择Git Bash时,我得到

C:\Program Files x86\Git\bin\sh.exe:*fork:无法保留内存 对于堆栈0x490000-0x690000,Win32错误0 0[main]sh.exe 1348与子项同步:子项26120xF8在初始化之前死亡,状态代码为0x1 145[main]sh.exe 1348与子级同步:*子级状态正在等待longjmp

sh.exe:fork:资源暂时不可用sh.exe-3.1$

但是,开始菜单项Git、gitbash没有遇到相同的问题。相反,我得到了

欢迎使用Git版本1.7.10-preview20120409

运行“git help git”以显示帮助索引。运行“git帮助” 显示特定命令的帮助

dmoore@DC1-2K3~$

我想Windows资源管理器外壳扩展应该使用c:\Windows\syswow64\cmd.exe,但我不知道如何告诉它这样做

非常感谢您的任何建议,
DaleEMoore@gMail.Com

好的,看起来在64位XP和Server 2003上,64位默认wscript进程无法正确启动bash,而且由于注册表中的菜单项就是这样设置的,所以当“开始”菜单快捷方式明确指定syswow64版本时,会导致此问题

解决方案是编辑注册表项HKEY\U CLASSES\U ROOT\Directory\shell\git\U shell\command的默认值

它可能看起来像wscript C:\Program Files x86\Git\Git Bash.vbs%1

如果Windows目录位于其他位置,请将其更改为C:\Windows\SysWOW64\wscript C:\Program Files x86\Git\Git Bash.vbs%1(视情况而定),等等

这应该作为git for windows的一个bug提出来,不幸的是,他们似乎关闭了他们的bug跟踪器。

在windows XP 64上

[HKEY_CLASSES_ROOT\VBSFile\Shell\Open\Command]
将默认值从 %SystemRoot%\System32\WScript.exe%1%*


%SystemRoot%\SysWOW64\WScript.exe%1%*

在另一个项目上,我随机获得了mingw bash的“*fork…”错误消息,我猜mingw是git安装的sh的来源-它肯定是相同的错误消息。我可以通过将shell替换为

来解决此问题。我列出了它,并合并了我请求的修复程序-看起来您发现了有关文件关联的进一步错误,因此可能可以以类似的方式重新打开和修复。x64中提到的shell脚本文件关联也已修复。请参见是,正确。类似地,从批处理文件开始,在MinGW下的64位Windows上运行shell/Bash脚本类似于:%WINDIR%\SysWOW64\cmd.exe/C:\PRG\MinGW-1\u 0\u 17\msys\1.0\bin\Bash.exe%SCRIPTFOLDER%\SomeBashScript.sh。这将修复分叉:无法为堆栈0x4A0000-0x6A0000保留内存,Win32错误0错误。。。