qt - Qt 上的 "GLib-ERROR **: Cannot create pipe main loop wake-up: Too many open files"

标签 qt crash gdb

我正在 Ubuntu 上工作。当我运行程序大约 1 小时后,我收到此错误:

GLib-ERROR **:无法创建管道主循环唤醒:打开的文件太多程序意外完成。

当我使用 gdb 运行时,它不会崩溃。

不明白为什么?以及此错误的原因是什么?

非常感谢..

最佳答案

Too many open files

非常明显。可能您的文件描述符存在泄漏,因此您应该检查您的代码是否打开了大量文件/文件描述符但没有正确关闭它们。如果您 fork 了一个进程,您还应该考虑在开始实际进程之前关闭它们,因为这也可能是一个常见的错误。

操作系统对它可以维护的文件描述符数量有一个限制表,显然您超出了这个限制。

关于qt - Qt 上的 "GLib-ERROR **: Cannot create pipe main loop wake-up: Too many open files",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17969804/

相关文章:

python - 使用 matplotlib 绘图时如何避免 PyCharm 控制台崩溃 "WARNING: QApplication was not created in the main() thread"?

c++ - 在列表开头插入时滚动 QListView 以保持项目在 View 中

android - 为什么汽车底座会搞乱我的应用程序?

java - 将复选框状态从 XML 传递到 Java

c++ - 在 C++ 的 fstream 上使用 gdb

c - GDB : Can gdb handle decoding it automatically? 中优化的值

c++ - 稍后初始化的小部件将不会显示在主窗口中

c++ - 数据流 Qt 到标准 C++ 代码

android - 如何在 android 设备上获取应用程序崩溃详细信息(自己的统一应用程序)

c - 嗨,我有点困惑,我只是在 linux 中玩 gdb,我遇到了这个