记录一次rviz无法启动,报错segmentation fault (core dumped)的解决过程

2023-05-16

起因

好久没有使用ROS相关程序了,突然想运行莫程序发现rviz打不开。仔细定位后发现在终端直接输入rviz也无法打开。

在这里插入图片描述

经过

在网上尝试搜索了好几个小时,尝试了以下各种方法,

  1. 更新3D graphics library
sudo add-apt-repository ppa:ubuntu-x-swat/updates
sudo apt-get update
sudo apt-get dist-upgrade
  1. 关闭硬件加速
export LIBGL_ALWAYS_SOFTWARE=1
  1. 删除.rviz文件配置
 ~/.rviz/*

但是均不适用于我的问题。

结果

尝试使用gdb定位rviz问题所在:

gdb rviz 

gdb 先输入命令run,再输入c进行调试

(gdb) run
Starting program: /opt/ros/noetic/bin/rviz 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffeda6f700 (LWP 26371)]
[New Thread 0x7fffe7fff700 (LWP 26372)]
[New Thread 0x7fffe77fe700 (LWP 26373)]

(rviz:26367): Gtk-WARNING **: 15:30:00.312: Theme parsing error: gtk.css:1090:0: Expected a valid selector
[New Thread 0x7fffe6f7b700 (LWP 26374)]
[1615908600.350117923]: [${node}] [ INFO] rviz version 1.14.5
[1615908600.350156173]: [${node}] [ INFO] compiled against Qt version 5.12.8
[1615908600.350165195]: [${node}] [ INFO] compiled against OGRE version 1.9.0 (Ghadamon)
[New Thread 0x7fffe5f16700 (LWP 26377)]
[New Thread 0x7fffe5715700 (LWP 26378)]
[New Thread 0x7fffe4f14700 (LWP 26379)]
[New Thread 0x7fffcffff700 (LWP 26380)]
[1615908600.363080641]: [/rviz_1615908600350246943] [ INFO] Forcing OpenGl version 0.

Thread 1 "rviz" received signal SIGSEGV, Segmentation fault.
0x00007ffff7f4f5d8 in rviz::YamlConfigReader::readYamlNode(rviz::Config&, YAML::Node const&) () from /opt/ros/noetic/lib/librviz.so

从结果可以定位到是yaml相关出了问题,检查链接的 yaml 库:

 $ ldd /opt/ros/noetic/lib/librviz.so |grep yaml
libyaml-cpp.so.0.6 (libc6,x86-64) => /usr/local/lib/libyaml-cpp.so.0.6

对比正确的链接为

libyaml-cpp.so.0.6 => /lib/x86_64-linux-gnu/libyaml-cpp.so.0.6 (0x00007f4dc6d7c000)

发现是我之前的环境配置参数污染了ros的环境

所以我新建了一个新的环境文件
通过复制原先的bashrc文件,将个人修改的环境配置内容删去,再source新的环境配置文件,即可成功打开rviz。

sudo cp .bashrc .bashrc_ros
echo "export LD_LIBRARY_PATH=/opt/ros/noetic/lib" >> " >> ~/.bashrc_ros
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc_ros
source ~/.bashrc_ros
rviz

在这里插入图片描述

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

记录一次rviz无法启动,报错segmentation fault (core dumped)的解决过程 的相关文章

随机推荐

  • Centos8.2安装配置 VNC 远程桌面Xfce、解决输入法VNC无法使用的问题、解决浏览器无法播放视频的问题

    本文使用MobaXterm Xshell Xfce TightVNC来搭建百度智能云Centos8 2 同时解决解决输入法VNC无法使用的问题 解决浏览器无法播放视频的问题 目录 一 Windows软件列表 MobaXterm TightV
  • python自定义函数 def 的奇妙世界

    自定义函数 def注意事项案例分析作死挑战函数参数形参与实参位置参数关键字参数默认参数必选参数可变参数可变关键字参数 参数问题解答 这里是三岁 xff0c 来和大家唠唠自定义函数 xff0c 这一个神奇的东西 xff0c 带大家白话玩转自定
  • Qt 怎么设置黑色背景/黑色主题?

    目录 整体分为三步1 更改主题颜色1 1 更改颜色 xff1a 1 2 重启 Qt1 3 第一阶段完成 xff0c 效果如下所示 2 更改编辑器颜色2 1 更改颜色2 2 第二阶段完成 xff0c 效果如下所示 3 更改 Qt 窗口上边框颜
  • YOLOv4在ROS-Melodic上的部署-libtorch(附源码,非Darknet)

    有关YOLOv4 LibTorch的部署可以看我的这篇博客 然后移植到ROS Melodic上就相对简单了 直接上GitHub链接吧 初版可能有点乱 xff0c 但是注释挺详细 xff0c 欢迎交流经验哈 2020 12 16 更新 YOL
  • 手把手安装Windows11虚拟机

    创建虚拟机 想要在虚拟机当中安装windows11系统 xff0c 首先我们就要在Vmware中创建一个虚拟机 这个操作比较简单 xff0c 只需要打开新建虚拟机向导 xff0c 按照提示操作就可以了 在创建虚拟机的时候 xff0c 安装w
  • C++ 学习过程中遇到的难题及解决 (笔记,随更

    C 43 43 报错表达式必须含有常量值 原因 xff1a c 43 43 中不允许使用变量作为数组的长度定义数组 xff0c 必须为常量值 xff0c c 43 43 中所有的内存需求都是在程序执行前通过定义的常量来确定的 C 43 43
  • 一篇文章快速提高Python能力

    确实当你学了Python的一段时间之后会有一阵不知道如何更快的提高自己的功力 其实Python也是语言的一种 xff0c 虽然语法很简单 xff0c 但是内涵真的很丰富 xff0c 招式非常的多 修炼武功我个人觉得分几个层次 第一招是语法
  • python 图形界面库对比合集

    从 Python 语言的诞生之日起 xff0c 就有许多优秀的 GUI 工具集整合到 Python 当中 xff0c 这些优秀的 GUI工具集 xff0c 使得 Python 也可以在图形界面编程领域当中大展身手 xff0c 由于 Pyth
  • TensorFlow深度学习及教程分享

    TensorFlow深度学习框架 Google不仅是大数据和云计算的领导者 xff0c 在机器学习和深度学习上也有很好的实践和积累 xff0c 在2015年年底开源了内部使用的深度学习框架TensorFlow 与Caffe Theano T
  • Python 中国象棋源码 V1

    Pygame 做的中国象棋 xff0c 一直以来喜欢下象棋 xff0c 写了 python 就拿来做一个试试 xff0c 水平有限 xff0c 电脑走法水平低 xff0c 需要在下次版本中更新电脑走法 xff0c 希望源码能帮助大家更好的学
  • python数据爬下来保存在哪里

    昨天下班后忽然兴起想写一个爬虫抓抓网页上的东西 花了一个钟简单学习了python的基础语法 xff0c 然后参照网上的例子自己写了个爬虫 xff08 推荐学习 xff1a Python视频教程 xff09 python数据爬下来保存在本地
  • python求平均值

    python求平均值 首先我们先来了解一下计算平均数的IPO模式 输入 xff1a 待输入计算平均数的数 处理 xff1a 平均数算法 输出 xff1a 平均数 推荐 xff1a python教程 明白了程序的IPO模式之后 xff0c 我
  • 如何用for循环实现一个无限循环

    使用while True可以轻松的实现一个无限循环 xff0c 也叫死循环 xff0c 那么for循环能够实现类似的功能么 xff1f 当然可以 xff0c 借助itertools模块的cycle函数就可以 import time from
  • 闲得发慌之趣味技能:python之猫脸检测

    Python 小猫检测 xff0c 通过调用opencv自带的猫脸检测的分类器进行检测 分类器有两个 xff1a haarcascade frontalcatface xml和 haarcascade frontalcatface exte
  • 目标检测性能的衡量指标:mAP图解

    最近又重新复习了下mAP xff0c 在网上找了有关mAP的文章 xff0c 但是感觉大多数都是左抄一点又抄一点那种 写的比较乱 xff0c 可能因为mAP的计算方法前后变过几次 xff0c 所以导致有很多版本的说法存在 为了更好的理解 x
  • 热门编程——python

    python是干什么的 xff1f 要找出python火爆的原因 xff0c 我们就不得不先来了解python本身 Python 是一种面向对象的解释型计算机程序设计语言 xff0c 由荷兰人 Guido van Rossum 于 1989
  • Python求两个数的最大公约数

    一 求最大公约数算法 整数A对整数B进行取整 余数用整数C来表示 举例 C 61 A B 如果C等于0 则C就是整数A和整数B的最大公约数 如果C不等于0 将B赋值给A 将C赋值给B 然后进行 1 2 两步 直到余数为0 则可以得知最大公约
  • VINS-MONO学习笔记 [基于滑动窗口的非线性优化]

    目录 1 代码2 ceres解析求导3 ceres李代数加法代码实现4 预积分约束残差计算5 预积分雅克比计算6 视觉重投影约束7 滑动窗口边缘化 1 代码 代码位置 xff1a vins estimator gt src gt estim
  • CMakeLists入门

    目录 基础增加依赖库将 cpp文件 编译成一个库 xff0c 供其他文件调用 xff1a 变量名list自动检测编译器是否支持C 43 43 11add definitionsinclude directoriestarget includ
  • 记录一次rviz无法启动,报错segmentation fault (core dumped)的解决过程

    起因 好久没有使用ROS相关程序了 xff0c 突然想运行莫程序发现rviz打不开 仔细定位后发现在终端直接输入rviz也无法打开 经过 在网上尝试搜索了好几个小时 xff0c 尝试了以下各种方法 xff0c 更新3D graphics l