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

时间:2012-05-04 14:11:04

标签: msysgit

我在Windows Server 2003 64位计算机上安装了msysgit Git-1.7.10-preview20120409.exe http://code.google.com/p/msysgit/downloads/list。我在设置过程中加入了“Git Bash”。当我为Windows资源管理器中列出的任何文件夹选择“Git Bash here”时,我得到了

  

C:\ Program Files(x86)\ Git \ bin \ sh.exe: * fork:无法保留内存   对于堆栈0x490000 - 0x690000,Win32错误0         0 [main] sh.exe“1348 sync_with_child:child 2612(0xF8)在initia lization之前死亡,状态码为0x1       145 [main] sh.exe“1348 sync_with_child:* 等待longjmp的子状态

     

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

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

  

欢迎使用Git(版本1.7.10-preview20120409)

     

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

     

dmoore @ DC1-2K3~ $

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

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

2 个答案:

答案 0 :(得分:3)

好的,所以看起来在64位XP和Server 2003上,64位(默认)wscript进程无法正常启动bash,因为这是菜单项在注册表中的设置方式,它会导致此问题,而开始菜单快捷方式显式指定syswow64版本。

解决方案是编辑注册表项HKEY_CLASSES_ROOT\Directory\shell\git_shell\command“默认”值。

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

根据需要将其更改为C:\Windows\SysWOW64\wscript "C:\Program Files (x86)\Git\Git Bash.vbs" "%1"(如果您的Windows目录位于其他位置等)

这应该被视为Windows用户的git的一个bug,不幸的是,他们似乎关闭了他们的bug跟踪器。

答案 1 :(得分:3)

在Windows XP 64上

[HKEY_CLASSES_ROOT\VBSFile\Shell\Open\Command]

更改默认值     “%SystemRoot%\ System32 \ WScript.exe”%1“%*”

要     “%SystemRoot%\ SysWOW64 \ WScript.exe”%1“%*”