解决Attempt to unlock mutex that was not locked

2023-05-16

在ubuntu18.04中,使用kalibr标定相机imu外参,想查看是否提取到角点,于是加入
–show-extraction,最后命令如下。

rosrun kalibr kalibr_calibrate_imu_camera --target /home/t/kalibr_workspace/checkboard.yaml --cam /home/t/kalibr_workspace/HK_0220_1-xia.yaml --imu /home/t/kalibr_workspace/xsens.yaml --bag /home/t/kalibr_workspace/bag/HK_xsens_0221_2.bag  --show-extraction

运行后报错:

Extracting calibration target corners
(Checkerboard corners:19089): GLib-GObject-CRITICAL **: 14:17:09.607: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(Checkerboard corners:19089): GLib-GObject-CRITICAL **: 14:17:09.612: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(Checkerboard corners:19089): GLib-GObject-CRITICAL **: 14:17:09.612: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
Attempt to unlock mutex that was not locked
已放弃 (核心已转储)

百度后发现是因为ubuntu自带的opencv与我安装的opencv3.2.0有冲突
于是将kalibr中的以下三个含有 cv::startWindowThread()的cpp的cv::startWindowThread()注释掉
在这里插入图片描述
在对kalibr编译一下,重新运行命令,## 标题完美解决。
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

解决Attempt to unlock mutex that was not locked 的相关文章

  • 仅使用互斥锁实现读/写锁?

    我试图仅使用互斥锁来实现读 写锁 仅供学习 正当我以为我已经涵盖了所有极端情况 因为程序可以处理各种组合 时 我意识到 我忽略了一个事实 因为它在 ubuntu 中工作 互斥体应该由线程的所有者释放 下面是我的实现 class rw loc
  • 使用信号量而不是互斥体对 boost::Lockable 进行建模(以前的标题为:从不同线程解锁互斥体)

    我正在使用 C boost thread 库 在我的例子中这意味着我正在使用 pthreads 正式地 互斥体必须从锁定它的同一个线程解锁 我希望能够锁定一个线程 然后在另一个线程中解锁 有很多方法可以实现这一点 一种可能性是编写一个新的互
  • 互斥体是如何实现的?

    对于特定应用程序 某些实现是否比其他实现更好 通过推出自己的产品有什么收入吗 查看描述测试和设置 http en wikipedia org wiki Test and set维基百科上的机器指令 它暗示了如何在机器级别实现原子操作 我可以
  • std::mutex 性能与 win32 CRITICAL_SECTION 相比

    的表现如何std mutex相比CRITICAL SECTION 是同等水平吗 我需要轻量级同步对象 不需要是进程间对象 是否有任何接近的STL类CRITICAL SECTION以外std mutex 请参阅我在答案末尾的更新 自 Visu
  • 如何在C/c++中设置获取互斥锁的优先级

    我有3个进程 同等优先级 P1 P2 P3 定时器 获取互斥锁的优先级如下 P1 1 priority P2 2 priority P3 timer 3 priority 如果假设p3来获取互斥锁 然后p2来等待互斥体 之后 p1 来了 它
  • C++11 相当于 boost shared_mutex

    是否有 C 11 的等效项boost shared mutex 或者在 C 11 中处理多个读取器 单个写入器情况的另一种解决方案 我尝试过但没能得到shared mutex进入C 11 它已被提议作为未来的标准 该提案是here http
  • 这是互斥体的正确使用吗?

    我遇到的情况是 我可能同时运行一个程序的多个实例 并且重要的是 不要同时在多个实例中执行一个特定函数 这是使用互斥锁来防止这种情况发生的正确方法吗 lock this GetType log Info Doing Sync DoSync l
  • 登录多线程应用程序,在构造函数中使用互斥体

    我一直在编写一个基于 RAII 的 C 方法入口 出口记录器 用法是这样的 void Class Method METHOD NAME Class Method I know I could use FUNCTION instead lt
  • 为什么 Mutex 被释放后没有被释放?

    我有以下代码 using Mutex mut new Mutex false MUTEX NAME if mut WaitOne new TimeSpan 0 0 30 Some code that deals with a specifi
  • c++11 及更高版本中 mutex.lock() 和 .unlock() 的确切线程间重新排序约束是什么?

    根据https en cppreference com w cpp atomic memory order https en cppreference com w cpp atomic memory order mutex lock and
  • “互斥锁”到底有什么作用?

    您可以在此链接中看到一个有趣的表格 http norvig com 21 days html answers http norvig com 21 days html answers 该表描述 互斥锁 解锁 25 nanosec 从主存中获
  • C 中的竞争条件

    我有以下程序 缩写 来使用线程计算每个字母在文件中出现的次数 define N LETTERS 26U define IS LETTER x x gt A x lt Z define HASH x toupper x A typedef u
  • C# 中的命名锁集合?

    我有多个线程将数据写入公共源 并且我希望两个线程当且仅当它们接触同一数据时才相互阻塞 如果有一种方法可以专门锁定任意键 那就太好了 string id GetNextId AquireLock id try DoDangerousThing
  • tfs:如何解锁更改

    我最初编辑了一个文件 该文件进行了结帐 我收到了一台新电脑 现在我想编辑该文件 我不关心原始编辑 TFS 报告另一个用户对该文件具有独占锁定 它实际上不是另一个用户 而是我 但机器不同 因此工作空间不同 我尝试使用以下命令通过 tf 命令行
  • 信号量和互斥量在实现上有什么区别?

    我读到互斥锁和二进制信号量仅在一方面不同 在互斥锁的情况下 锁定线程必须解锁 但在信号量中 锁定和解锁线程可以不同吗 哪一种效率更高 假设您知道信号量和互斥体之间的基本区别 为了快速 简单的同步 请使用临界区 要跨进程边界同步线程 请使用互
  • 饥饿与upgrade_lock

    我正在尝试使用Boostupgrade lock using 这个例子 https stackoverflow com questions 989795 example for boost shared mutex multiple rea
  • boost share_mutex 的示例(多次读取/一次写入)?

    我有一个多线程应用程序 必须经常读取一些数据 并且偶尔会更新数据 现在 互斥体可以安全地访问该数据 但它很昂贵 因为我希望多个线程能够同时读取 并且仅在需要更新时将它们锁定 更新线程可以等待其他线程完成 我想这就是boost shared
  • C# - 互斥锁的锁定问题

    我有一个 Web 应用程序 可以控制哪些 Web 应用程序从我们的负载均衡器获取服务流量 Web 应用程序在每个单独的服务器上运行 它在 ASP NET 应用程序状态的对象中跟踪每个应用程序的 输入或输出 状态 并且只要状态发生更改 该对象
  • 为什么使用互斥量而不是布尔变量进行线程同步?

    我正在尝试了解 C 中的多线程编程 我有疑问 既然我们使用MUTEXES来进行线程同步 为什么我们不能使用布尔变量来阻塞要执行的代码的关键区域 与布尔变量相比 静音变量有何特点 PS 其实这个问题是在采访中问到的 因此 请分享您对此的了解
  • Boost 互斥范围锁

    我正在阅读 drdobbs com 上的 Boost Mutex 教程 并发现了这段代码 include

随机推荐