问题标签 [broken-pipe]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
18047 浏览

python - 什么是断管错误?

在 python 中运行代码,我发现了“Broken Pipe Error”。有人可以向我解释一下这是什么吗?

谢谢。

0 投票
1 回答
752 浏览

android - 尝试使用 Parse.com 中的数据填充列表视图时出现 Java IO 异常损坏管道

我正在创建一个运行三个片段的 Android 应用程序,每个片段包含一个列表视图。目前,我正在尝试使用我在 Parse.com 上创建的表中的内容填充其中一个列表视图。我遵循了本教程:http ://www.androidbegin.com/tutorial/android-parse-com-listview-images-and-texts-tutorial/并将其应用于我的片段中。问题是,每次我运行我的应用程序时,它都会加载大约 3 秒的数据,然后突然崩溃并给我这个错误:

我完全不知道为什么会收到此错误。这是我试图从中填充列表视图的片段中的代码。我也在为列表视图使用自定义适配器,但我使用的是我的另一个项目中的同一个适配器,所以我确信它工作正常。为了获取数据,我调用 new RemoteDataTask().execute(); 在 onCreateView 。这就是我认为它出错的地方。我也确信我的所有表名在我的解析数据库中都是正确的。

我真的需要帮助找出导致此断管错误的问题所在。非常感谢任何帮助或反馈!

0 投票
2 回答
3349 浏览

weblogic - WLST 连接到管理端口总是在第一次尝试时失败

在我们的公共测试环境中,第一次连接 WLST 的尝试总是失败。然后第二次尝试总是有效并建立连接。我无法使用谷歌找到任何类似的东西,所以我希望这里有人可以提供帮助。

在我第一次尝试时;

dumpStack() 显示以下内容;

在此之后,我尝试再次连接并发生这种情况;

我现在已经尝试了大约 10 次,它总是一样,第一次尝试失败,第二次尝试成功。每次我都使用 IP 而不是地址的名称。这是在带有最新安全补丁的 WLS 10.3.6 的 Linux (RHEL6) 中。

我假设服务器日志中的这一行是相关的,因为它发生在上面发布的信息行之后 29 秒;

我很茫然,因为第一次尝试总是失败,第二次尝试成功。

0 投票
1 回答
3920 浏览

c# - System.IO.Exception:管道在客户端损坏

我有两个 Windows 应用程序并使用命名管道在它们之间发送和接收数据列表。通过使用 BinaryFormatter 类的序列化/反序列化机制。

服务器:

客户:

}

但是执行 formatterSerialize.Serialize(writer.BaseStream, images); 时客户端出现异常“System.IO.Exception:Pipe is broken”;在调试模式。

有人对如何避免这个问题有任何建议吗?

0 投票
1 回答
6776 浏览

c++ - ALSA:无法从欠载中恢复,准备失败:管道损坏

我正在编写一个程序,它从两个单声道 ALSA 设备读取并将它们写入一个立体声 ALSA 设备。

我使用三个线程和乒乓缓冲区来管理它们。两个读线程和一个写线程。它们的配置如下:

两个读取线程将写入 ping 缓冲区,然后写入 pong 缓冲区。写入线程将等待两个缓冲区中的任何一个准备好,锁定它,从中读取,然后解锁它。

但是当我运行这个程序时,出现了xrun并且无法恢复。

以下是我写入 ALSA 播放设备的代码:

其他诊断信息:

0 投票
8 回答
49947 浏览

python - 在 Python 中进行刷新时如何防止 BrokenPipeError?

问题:有没有办法在不获取的情况下使用flush=True该功能?print()BrokenPipeError

我有一个脚本pipe.py

我在 Unix 命令行中这样称呼它:

它返回:

这个脚本也是如此:

但是,当我运行此脚本并将其通过管道传输到head -n3000

然后我得到这个错误:

我也尝试了下面的解决方案,但我仍然得到BrokenPipeError

0 投票
0 回答
309 浏览

python - OSX [错误 32] python 应用程序上的管道损坏

我正在使用 mac osx 10.9 和 python 2.7。

使用 py2app 制作应用程序,它基本上不断检查文件的保存时间。在每次迭代中使用少量休眠来监视文件中所做的任何更改。

进程根本不应该停止,但它在 15-20 分钟后退出,并出现错误 32 Broken pipe 。如何解决它。

0 投票
2 回答
1060 浏览

io - 从模板执行中过滤掉损坏的管道错误

这类似于过滤掉损坏的管道错误,但有一些复杂性 - 当用户在执行模板(html/template.Execute 或 text/template.Execute)时按下浏览器上的“停止”按钮时,会发生损坏的管道错误.

但是,我相信 text/template 包返回的错误只是 *errors.errorString 类型,因为损坏的管道消息似乎包含在其他一些信息文本中,因此无法对 net.OpErr 进行类型断言以进行比较目的。

例如,一个典型的破管错误字符串看起来像

write tcp 127.0.0.1:60739: broken pipe

执行模板返回的损坏管道错误字符串如下所示:

template: header.html:1:0: executing "header.html" at <div id="header...>: write tcp 127.0.0.1:60739: broken pipe

我有一个用 Go 编写的生产 Web 应用程序,并且厌倦了在我的其余错误日志中直观地过滤掉损坏的管道错误,但是现在我不知道如何过滤掉损坏的管道,而不是使用像 strings.Contains 这样的脏东西。

0 投票
1 回答
2574 浏览

java - 一个应用程序尝试连接到另一个应用程序时出现管道异常

我们有一个设置,其中一个应用程序(协调器)将任务委托给另一个应用程序(工作人员),他们完成任务并通过套接字推回结果。

它工作正常,但在一台机器上,大多数工人都遇到了管道破损错误。一切都在同一台机器上,我们也检查了防火墙设置,它们看起来很好。

我只是想知道,如果用 loopbackaddress 替换机器名称或 IP 是否会有所帮助,因为 loopbackaddress 没有任何关联的硬件?

请分享您对此的看法,或者如果您有任何其他建议。

异常跟踪 -

感谢您的帮助

谢谢

0 投票
1 回答
2612 浏览

python - 很长一段时间后多处理断管

我使用多处理模型开发了一个爬虫。

它使用 multiprocessing.Queue 来存储需要爬取的 url-infos ,需要解析的页面内容等等;使用 multiprocessing.Event 来控制子进程;使用 multiprocessing.Manager.dict 来存储爬取的 url 的哈希值;每个多处理。 Manager.dict 实例使用 multiprocessing.Lock 来控制访问。

这三种类型的参数都在所有子进程和父进程之间共享,并且所有参数都组织在一个类中,我使用类的实例将共享参数从父进程传递到子进程。就像: MGR = SyncManager() class Global_Params(): Queue_URL = multiprocessing.Queue() URL_RESULY = MGR.dict() URL_RESULY_Mutex = multiprocessing.Lock() STOP_EVENT = multiprocessing.Event() global_params = Global_Params()

在我自己的超时机制中,我使用 process.terminate 来停止长时间无法自行停止的进程!

在我的测试用例中,有 2500 多个目标站点(有些没有服务,有些很大)。逐个站点抓取目标站点文件中的站点。

刚开始爬虫可以正常工作,但经过很长时间(有时是 8 小时,有时是 2 小时,有时是 15 小时),爬虫爬取了超过 100 个(不确定)站点,我会得到错误信息:"Errno 32 断管"

我尝试了以下方法来定位和解决问题:

  1. 定位爬虫中断的站点A,然后使用爬虫单独爬取该站点,爬虫运行良好。即使我从包含站点 A 的所有目标站点文件中获取了一个片段(例如 20 个站点),爬虫也运行良好!

  2. 将“-X /tmp/pymp-* 240 /tmp”添加到 /etc/cron.daily/tmpwatch

  3. 当 Broken 发生时,文件 /tmp/pymp-* 仍然存在

  4. 使用 multiprocessing.managers.SyncManager 替换 multiprocessing.Manager 并忽略除 SIGKILL 和 SIGTERM 之外的大多数信号

  5. 对于每个目标站点,我清除了大多数共享参数(队列、字典和事件),如果发生错误,则创建一个新实例:

while global_params.Queue_url.qsize()>0: try: global_params.Queue_url.get(block=False) except Exception,e: print_info(str(e)) print_info("Clear Queue_url error!") time.sleep(1) global_params.Queue_url = Queue() pass 下面是 Traceback 信息,print_info 函数是自己定义的打印和存储调试信息: [Errno 32] Broken pipe Traceback (most recent call last): File "Spider.py", line 613, in <module> main(args) File "Spider.py", line 565, in main spider.start() File "Spider.py", line 367, in start print_info("STATIC_RESULT size:%d" % len(global_params.STATIC_RESULT)) File "<string>", line 2, in __len__ File "/usr/local/python2.7.3/lib/python2.7/multiprocessing/managers.py", line 769, in _callmethod kind, result = conn.recv() EOFError 不明白为什么,有人知道原因吗?