什么可能导致应用程序在工作几个小时后锁定获取 SIGABRT 失败
What could cause application fail with SIGABRT on lock acquiring after fiew hours of work?
我想知道在工作时间后,哪些常见问题可能导致SIGABRT在锁定获取时应用程序失败?
它主要发生在std::lock_guard<std::mutex> lock(sync);
上的一个特定的类析构函数代码中
有时它发生在块内的boost::mutex::scoped_lock lock(mutex);
try catch(std::exception& e)
。
应用程序没有可检测到的内存泄漏。使用 Boost、ZeroMQ、HiRedis。代码库很大,所以我想知道我们要抢夺的主要内容是什么?什么会导致这样的问题(至少在理论上)?
锁定/解锁损坏的互斥锁?(即处理已删除的对象)可能大多数时候
同一线程内的双重锁定?
析构函数中的异常?
静态的并行初始化?
相关文章:
- 为我的 c++ 类介绍制作一个三角形分类器.我有几个问题
- 使用 make 编译 MPI,几个命名空间错误,例如"错误:未知类型名称'使用'?
- 如何返回或护理项目清单基于几个类别
- 我们如何在文本文件中找到C++中的几个单词?
- 关于 std::bitset 构造函数的几个问题?
- 几个 Nt 函数在 Windows 7 x32 上返回STATUS_WAIT_0
- std::stoi 只转换前几个字符
- C++ 通过接口使用从其他几个类继承的类
- 在矢量中使用擦除时双重释放或损坏(快速顶部).如何擦除一个矢量的几个项目知道它们的索引?
- 如何遍历几个每小时一次的根(.root)文件,并将它们组合成更大的每日数据.root文件?
- 我有几个关于参考变量的问题
- 如何将几个变量复制到其他变量
- 如何在新设计中迁移需要几个额外参数的函数
- 多线程.如果我使用信号量,我可以在开始时创建很多线程还是应该只有几个线程?
- 如何在几个空行后打印文件中的输出
- recvfrom 只收到几个数据包,之后它进入等待状态
- 使用 std::vector<std::future<int>> 和 std::async 启动几个线程时中止
- C++ 两个线程,共享几个整数变量
- 什么可能导致应用程序在工作几个小时后锁定获取 SIGABRT 失败
- C++应用程序在几个小时后崩溃