Cygwin错误:tcp_peer_send_blocking:send()到套接字

时间:2015-12-02 00:08:19

标签: cygwin openmpi

我在Windows 7上安装的Cygwin工作正常,直到我尝试安装新软件包。包安装失败。然后,每次我想运行我的Open MPI程序时,我都会收到此错误。我可以成功编译程序但无法运行它。我甚至删除并进行了新的安装,但没有成功。

感谢任何提示。以下是示例错误消息。

[Reloaded-PC:03900] [[3921,1],0] tcp_peer_send_blocking:send()到套接字13失败:传输端点未连接(128)

[Reloaded-PC:03900] [[3921,1],0] tcp_peer_send_blocking:send()到套接字13失败:传输端点未连接(128)

[Reloaded-PC:04676] [[3921,1],2] tcp_peer_send_blocking:send()到套接字13失败:传输端点未连接(128)

[Reloaded-PC:04676] [[3921,1],2] tcp_peer_send_blocking:send()到套接字13失败:传输端点未连接(128)

5 个答案:

答案 0 :(得分:4)

通过在"控制面板 - >网络和互联网 - >网络连接"中禁用未使用的网络适配器,可以解决该问题。

事实证明,未使用的网络适配器试图通过DHCP配置,并且使用" 169.254.X.X" DHCP失败时分配给此适配器。不知何故,Cygwin上的openmpi使用无效的IP地址来建立进程之间的通信。

我通过查看/ tmp / openmpi-sessions- {username} / {PID of orterun} /contact.txt找到了它。

答案 1 :(得分:4)

我在使用OpenMPI 1.10.4的Cygwin上遇到了同样的问题。

尝试在您的mpirun命令中添加“-report-uri - ”,以查看它尝试用于连接的IP地址:

mpirun -report-uri - -np 2 a.exe

它应该打印出如下所示的行:

568328192.0;tcp://192.168.10.103,169.254.247.11,0.0.0.0,0.0.0.0,0.0.0.0:55600

如果“tcp://”之后的第一个 IP地址不是您计算机的当前有效地址,那就是问题,并且事情可能会中断(即使以后出现正确的IP)在列表中)。显然,ORTE不够智能,无法根据实际启用和在线的内容订购接口。

如果错误的IP对应旧的/禁用的接口,请使用Windows网络连接控制面板将其卸载(如果可能)。

在我的情况下,第一个地址是我很久以前删除并丢弃的旧硬件适配器的DHCP地址(但显然没有在软件中卸载)。 Windows通常会在控制面板中隐藏此类已删除但未卸载的界面,但设置仍保留在注册表中:

HKLM \系统\ CurrentControlSet \服务\ TCPIP \参数\接口\

在该注册表子项中搜索虚假IP地址,您可能会发现有问题的界面。我通过更改该注册表项中的IP地址以匹配我当前的静态IP来修复我的问题,但完全卸载该接口可能也有效。

答案 2 :(得分:1)

我遇到了与openmpi v 1.8.8相同的问题(这是cygwin安装的软件包的默认版本)。手动回到1.8.6版本为我解决了这个问题。

答案 3 :(得分:1)

我刚遇到这个问题,在我的情况下,我不得不禁用" VirtualBox Host-Only Network"适配器(我最近安装了virtualbox,直到今天才在cygwin中使用openmpi。)

答案 4 :(得分:0)

1。打开Cygwin终端。

mpicc --version

mpirun --version

如果没有执行,请按照以下文档重新安装所有内容。 Document

2。尝试关闭蓝牙并再次测试您的程序。

3. 尝试关闭Wifi并再次测试您的程序(您可以连接到有线的互联网)

4. :打开C:\ Windows \ System32 \ drivers \ etc \ hosts 添加行

127.0.0.1 localhost cygdrive wpad

再次测试你的程序。

5. 如果您有VirtualBox等虚拟网络,请关闭控制面板并再次测试您的程序。

6. 如果可能,请完全卸载VirtualBox。重新启动计算机并再次测试程序。

7。尝试关闭Windows防火墙并再次测试您的程序。

以上步骤解决了“tcp_peer_send_blocking:send()到套接字12失败:传输端点未连接”错误和MPI for Windows 10中的缓慢问题 - Cygwin。