最近开始,基本上每次我尝试获取或提交它都会给我这个奇怪的错误。它将不断尝试“重新/重新发送”,直到我放弃并 Ctrl C 。
C:\cygwin\home\git\new_trunk>git sf
1 [main] perl 760 child_info_fork::abort: address space needed by 'cygreadline7.dll' (0x960000) is already occupied
C:\cygwin\home\git\new_trunk>git svn dcommit
1 [main] perl 2672 child_info_fork::abort: address space needed by 'cygreadline7.dll' (0x980000) is already occupied
知道为什么会这样吗?
答案 0 :(得分:29)
重新启动我的Cygwin安装解决了这个问题。我按照文档Rebaseall,从Windows资源管理器运行dash as admin,然后发出以下内容:
/usr/bin/rebaseall -v
P.S。:无法运行Cygwin服务以实现此目的。
答案 1 :(得分:16)
查看this Cygwin FAQ section和this too。 在我的情况下,禁用Avast的行为和文件系统实时盾牌和 然后重新启动Cygwind就是答案。
所以,可能,你正在运行将他们的dll挂钩的Windows程序 分叉的过程扰乱了地址,从而导致分叉故障。
答案 2 :(得分:7)
当我的病毒扫描程序Symantec Endpoint Protection升级到64位时,我遇到了同样的fork()问题,但我仍在运行32位版本的Cygwin。 'Rebaseall'没有帮助。升级到64位版本的Cygwin已经解决了我的问题。
答案 3 :(得分:2)
与mentioned by Tarc一样,任何Cygwin服务都不应运行到rebaseall
。
否则你会得到
https://superuser.com/questions/231590/running-rebaseall-on-cygwin
即使在似乎关闭了所有Cygwin / Msys2实例之后,您也可能会发现问题,如I did。
使用来自PortableApps的Win 10和Msys2,我转到了任务管理器,并按“命令行”列对列表进行了排序。在那里,我发现Msys2中的ssh-agent仍在运行。
我杀死了它,然后我可以rebaseall
了。