rviz: [foxy] Rviz Crashing with 0x00007ffff210daa9 in ?? () from /lib/x86_64-linux-gnu/libGLdispatch.so.0

Bug

OS: Ubuntu 20.04 Foxy binaries with RViz installed from apt (8.2.0-1focal.20200708.072202) DDS: Fast-RTPS and Cyclone

Replication

Running the Rviz file linked below and a seemingly handful of variations of it I get poor reliability when running it with my robot using the navigation2 stack. Sometimes it crashes as often as once every 30 seconds, other times it lasts for several minutes but it always has the same crash error.

You can download my Rviz file from here https://drive.google.com/file/d/1xV7vV0getF1jkD56sIXHFuQKsFF0VC8V/view

Error

Start navigation
[INFO] [1594684476.566996148] [rviz2]: Setting estimate pose: Frame:map, Position(-22.0146, 2.69005, 0), Orientation(0, 0, 0.0939719, 0.995575) = Angle: 0.188222
Start navigation
--Type <RET> for more, q to quit, c to continue without paging--RET
Thread 45 "rviz2" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fff937fe700 (LWP 237591)]
0x00007ffff210daa9 in ?? () from /lib/x86_64-linux-gnu/libGLdispatch.so.0

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Comments: 23 (7 by maintainers)

Most upvoted comments

After about one and half hour of build and 30 minutes test, the crash problem doesnot happen again, I will keep testing.

@daisukes Hi, finally I got my rviz2 crash backtrace file just as follows, thank you very much.

(gdb) bt
#0  0x00007f78fea4caa9 in  ()
    at /lib/x86_64-linux-gnu/libGLdispatch.so.0
#1  0x00007f78ce03b693 in Ogre::GLStateCacheManager::deleteGLBuffer(unsigned int, unsigned int) ()
    at /opt/ros/foxy/opt/rviz_ogre_vendor/lib/OGRE/RenderSystem_GL.so.1.12.1
#2  0x00007f78ce0209f9 in Ogre::GLHardwareVertexBuffer::~GLHardwareVertexBuffer() ()
    at /opt/ros/foxy/opt/rviz_ogre_vendor/lib/OGRE/RenderSystem_GL.so.1.12.1
#3  0x00007f78ce020a24 in Ogre::GLHardwareVertexBuffer::~GLHardwareVertexBuffer() ()
    at /opt/ros/foxy/opt/rviz_ogre_vendor/lib/OGRE/RenderSystem_GL.so.1.12.1
#4  0x00007f78ce019dd4 in std::_Sp_counted_ptr<Ogre::GLHardwareVertexBuffer*, (__gnu_cxx::_Lock_policy)2>::_M_dispose() ()
    at /opt/ros/foxy/opt/rviz_ogre_vendor/lib/OGRE/RenderSystem_GL.---Typ----------Type <RET> for more, q to quit, c to continue without paging--c
so.1.12.1
#5  0x0000563c390eb848 in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release() ()
#6  0x00007f7902ea3abd in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count() () at /opt/ros/foxy/opt/rviz_ogre_vendor/lib/libOgreMain.so.1.12.1
#7  0x00007f7902ed28a8 in  () at /opt/ros/foxy/opt/rviz_ogre_vendor/lib/libOgreMain.so.1.12.1
#8  0x00007f7902ed28c8 in  () at /opt/ros/foxy/opt/rviz_ogre_vendor/lib/libOgreMain.so.1.12.1
#9  0x00007f7902ed28e8 in  () at /opt/ros/foxy/opt/rviz_ogre_vendor/lib/libOgreMain.so.1.12.1
#10 0x00007f7902fc7a68 in  () at /opt/ros/foxy/opt/rviz_ogre_vendor/lib/libOgreMain.so.1.12.1
#11 0x00007f7902fc7a8c in  () at /opt/ros/foxy/opt/rviz_ogre_vendor/lib/libOgreMain.so.1.12.1
#12 0x00007f7902fc764b in  () at /opt/ros/foxy/opt/rviz_ogre_vendor/lib/libOgreMain.so.1.12.1
#13 0x00007f7902fc6ab1 in  () at /opt/ros/foxy/opt/rviz_ogre_vendor/lib/libOgreMain.so.1.12.1
#14 0x00007f7902fc5583 in  () at /opt/ros/foxy/opt/rviz_ogre_vendor/lib/libOgreMain.so.1.12.1
#15 0x00007f7902fc4366 in  () at /opt/ros/foxy/opt/rviz_ogre_vendor/lib/libOgreMain.so.1.12.1
#16 0x00007f7902fc470e in  () at /opt/ros/foxy/opt/rviz_ogre_vendor/lib/libOgreMain.so.1.12.1
#17 0x00007f7902fc39a4 in  () at /opt/ros/foxy/opt/rviz_ogre_vendor/lib/libOgreMain.so.1.12.1
#18 0x00007f7902fc2670 in Ogre::VertexBufferBinding::unsetAllBindings() () at /opt/ros/foxy/opt/rviz_ogre_vendor/lib/libOgreMain.so.1.12.1
#19 0x00007f7902fc241c in Ogre::VertexBufferBinding::~VertexBufferBinding() () at /opt/ros/foxy/opt/rviz_ogre_vendor/lib/libOgreMain.so.1.12.1
#20 0x00007f7902fb4804 in Ogre::HardwareBufferManagerBase::destroyVertexBufferBindingImpl(Ogre::VertexBufferBinding*) () at /opt/ros/foxy/opt/rviz_ogre_vendor/lib/libOgreMain.so.1.12.1
#21 0x00007f7902fb470a in Ogre::HardwareBufferManagerBase::destroyVertexBufferBinding(Ogre::VertexBufferBinding*) () at /opt/ros/foxy/opt/rviz_ogre_vendor/lib/libOgreMain.so.1.12.1
#22 0x00007f79032bfbc8 in Ogre::VertexData::~VertexData() () at /opt/ros/foxy/opt/rviz_ogre_vendor/lib/libOgreMain.so.1.12.1
#23 0x00007f79030135db in Ogre::ManualObject::ManualObjectSection::~ManualObjectSection() () at /opt/ros/foxy/opt/rviz_ogre_vendor/lib/libOgreMain.so.1.12.1
#24 0x00007f7903013666 in Ogre::ManualObject::ManualObjectSection::~ManualObjectSection() () at /opt/ros/foxy/opt/rviz_ogre_vendor/lib/libOgreMain.so.1.12.1
#25 0x00007f790300e21f in Ogre::ManualObject::clear() () at /opt/ros/foxy/opt/rviz_ogre_vendor/lib/libOgreMain.so.1.12.1
#26 0x00007f78cdbca634 in rviz_default_plugins::displays::PathDisplay::processMessage(std::shared_ptr<nav_msgs::msg::Path_<std::allocator<void> > const>) () at /opt/ros/foxy/lib/librviz_default_plugins.so
#27 0x00007f78cda3b745 in rviz_common::MessageFilterDisplay<nav_msgs::msg::Path_<std::allocator<void> > >::incomingMessage(std::shared_ptr<nav_msgs::msg::Path_<std::allocator<void> > const>) () at /opt/ros/foxy/lib/librviz_default_plugins.so
#28 0x00007f78cda3b9be in std::_Function_handler<void (std::shared_ptr<nav_msgs::msg::Path_<std::allocator<void> > const> const&), std::_Bind<void (rviz_common::MessageFilterDisplay<nav_msgs::msg::Path_<std::allocator<void> > >::*(rviz_common::MessageFilterDisplay<nav_msgs::msg::Path_<std::allocator<void> > >*, std::_Placeholder<1>))(std::shared_ptr<nav_msgs::msg::Path_<std::allocator<void> > const>)> >::_M_invoke(std::_Any_data const&, std::shared_ptr<nav_msgs::msg::Path_<std::allocator<void> > const> const&) () at /opt/ros/foxy/lib/librviz_default_plugins.so
#29 0x00007f78cda4bd94 in message_filters::CallbackHelper1T<std::shared_ptr<nav_msgs::msg::Path_<std::allocator<void> > const> const&, nav_msgs::msg::Path_<std::allocator<void> > >::call(message_filters::MessageEvent<nav_msgs::msg::Path_<std::allocator<void> > const> const&, bool) () at /opt/ros/foxy/lib/librviz_default_plugins.so
#30 0x00007f78cda470eb in tf2_ros::MessageFilter<nav_msgs::msg::Path_<std::allocator<void> >, rviz_common::transformation::FrameTransformer>::transformReadyCallback(std::shared_future<geometry_msgs::msg::TransformStamped_<std::allocator<void> > > const&, unsigned long) () at /opt/ros/foxy/lib/librviz_default_plugins.so
#31 0x00007f78cd449430 in  () at /opt/ros/foxy/lib/libtf2_ros.so
#32 0x00007f78e802b4b1 in tf2::BufferCore::testTransformableRequests() () at /opt/ros/foxy/lib/libtf2.so
#33 0x00007f78e802cd34 in tf2::BufferCore::setTransformImpl(tf2::Transform const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) () at /opt/ros/foxy/lib/libtf2.so
#34 0x00007f78e802e76d in tf2::BufferCore::setTransform(geometry_msgs::msg::TransformStamped_<std::allocator<void> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) () at /opt/ros/foxy/lib/libtf2.so
#35 0x00007f78cd44f826 in tf2_ros::TransformListener::subscription_callback(std::shared_ptr<tf2_msgs::msg::TFMessage_<std::allocator<void> > >, bool) () at /opt/ros/foxy/lib/libtf2_ros.so
#36 0x00007f78cdc8f43d in std::_Function_handler<void (std::shared_ptr<tf2_msgs::msg::TFMessage_<std::allocator<void> > >), std::_Bind<void (tf2_ros::TransformListener::*(tf2_ros::TransformListener*, std::_Placeholder<1>, bool))(std::shared_ptr<tf2_msgs::msg::TFMessage_<std::allocator<void> > >, bool)> >::_M_invoke(std::_Any_data const&, std::shared_ptr<tf2_msgs::msg::TFMessage_<std::allocator<void> > >&&) () at /opt/ros/foxy/lib/librviz_default_plugins.so
#37 0x00007f78cdc94c81 in rclcpp::AnySubscriptionCallback<tf2_msgs::msg::TFMessage_<std::allocator<void> >, std::allocator<void> >::dispatch(std::shared_ptr<tf2_msgs::msg::TFMessage_<std::allocator<void> > >, rclcpp::MessageInfo const&) () at /opt/ros/foxy/lib/librviz_default_plugins.so
#38 0x00007f78cdc954ef in rclcpp::Subscription<tf2_msgs::msg::TFMessage_<std::allocator<void> >, std::allocator<void>, rclcpp::message_memory_strategy::MessageMemoryStrategy<tf2_msgs::msg::TFMessage_<std::allocator<void> >, std::allocator<void> > >::handle_message(std::shared_ptr<void>&, rclcpp::MessageInfo const&) () at /opt/ros/foxy/lib/librviz_default_plugins.so
#39 0x00007f79039eb35c in  () at /opt/ros/foxy/lib/librclcpp.so
#40 0x00007f79039ebc1b in rclcpp::Executor::execute_subscription(std::shared_ptr<rclcpp::SubscriptionBase>) () at /opt/ros/foxy/lib/librclcpp.so
#41 0x00007f79039ec3da in rclcpp::Executor::execute_any_executable(rclcpp::AnyExecutable&) () at /opt/ros/foxy/lib/librclcpp.so
#42 0x00007f79039f0bdc in rclcpp::executors::SingleThreadedExecutor::spin() () at /opt/ros/foxy/lib/librclcpp.so
#43 0x00007f78cd44fa72 in  () at /opt/ros/foxy/lib/libtf2_ros.so
#44 0x00007f79037efd84 in  () at /lib/x86_64-linux-gnu/libstdc++.so.6
#45 0x00007f790228e609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#46 0x00007f790362e293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95