什么可能导致应用程序在工作几个小时后锁定获取 SIGABRT 失败

What could cause application fail with SIGABRT on lock acquiring after fiew hours of work?

本文关键字:小时 几个 锁定 失败 SIGABRT 获取 应用程序 工作 什么      更新时间:2023-10-16

我想知道在工作时间后,哪些常见问题可能导致SIGABRT在锁定获取时应用程序失败?

它主要发生在std::lock_guard<std::mutex> lock(sync);上的一个特定的类析构函数代码中

有时它发生在块内的boost::mutex::scoped_lock lock(mutex); try catch(std::exception& e)

应用程序没有可检测到的内存泄漏。使用 Boost、ZeroMQ、HiRedis。代码库很大,所以我想知道我们要抢夺的主要内容是什么?什么会导致这样的问题(至少在理论上)?

锁定/解锁损坏的互斥锁?(即处理已删除的对象)可能大多数时候

同一线程内的双重锁定?

析构函数中的异常?

静态的并行初始化?