Vagrant在Windows 10上使用cygwin的rsync出现分叉内存错误

4

我在新安装的Windows 10 64位笔记本上使用vagrant rsync遇到了非常烦人的问题。

> There was an error when attempting to rsync a synced folder. Please
> inspect the error message below for more info.
> 
> Host path: /c/Users/kryst/Projects/OSTSped/ostsped/ Guest path:
> /vagrant Command: rsync --verbose --archive --delete -z --copy-links
> --chmod=ugo=rwX --no-perms --no-owner --no-group --rsync-path sudo rsync -e ssh -p 2222 -o ControlMaster=auto -o
> ControlPath=C:/Users/kryst/AppData/Local/Temp/ssh.952 -o
> ControlPersist=10m -o StrictHostKeyChecking=no -o IdentitiesOnly=true
> -o UserKnownHostsFile=/dev/null -i 'C:/Users/kryst/Projects/OSTSped/ostsped/.vagrant/machines/default/virtualbox/private_key'
> --exclude .vagrant/ /c/Users/kryst/Projects/OSTSped/ostsped/ vagrant@127.0.0.1:/vagrant Error:       0 [main] rsync 1228
> C:\cygwin64\bin\rsync.EXE: *** fatal error in forked process - fork:
> can't reserve memory for parent stack 0x600000 - 0x800000, (child has
> 0x400000 - 0x600000), Win32 error 487    2512 [main] rsync 1228
> cygwin_exception::open_stackdumpfile: Dumping stack trace to
> rsync.EXE.stackdump
>       1 [main] rsync 4736 fork: child -1 - forked process 1228 died unexpectedly, retry 0, exit code 0x100, errno 11 rsync: fork: Resource
> temporarily unavailable (11) rsync error: error in IPC code (code 14)
> at pipe.c(65) [sender=3.1.1]

我已经寻找答案几天了。我尝试使用32位和64位版本的Cygwin、PowerShell和Git Bash。我尝试将Cygwin前缀更新为/cygdrive、/,甚至是主目录(C:\User\kryst)。我还尝试过rebaseall。但是没有解决问题。
软件的实际版本如下:
Vagrant 1.8.1 Cygwin64 setup.exe 版本2.873(64位) Rsync 3.1.1-1 OpenSSH 7.1p1-1

我遇到了同样的问题,似乎是在一个破坏了rsync的Windows更新后立即发生的,原因很奇怪。 - MaxGhost
3个回答

1

编辑:我看到你尝试了32位的rsync - 很抱歉,我没有任何解决方案。

--

可能是Vagrant尝试从32位shell运行64位cygwin rsync引起的问题。
参考: https://cygwin.com/ml/cygwin/2013-07/msg00720.html 我遇到了同样的问题,目前还不确定如何解决。

0

看起来新版本的rsync运行良好

  • Vagrant 1.8.5
  • rsync版本3.1.2

-2

我也试图更改Cygwin路径,但没有帮助。我需要找到一种解决方法,而不必修改vagrant box。我们是团队合作,所以不想更改配置。它需要在每个主机上都能正常工作。 - Dudekkd

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接