rviz crashes with tf2, never happen before

asked 2018-11-29 08:27:22 -0500

tuandl gravatar image

Hi,

Suddenly rviz crashes on my laptop today. I ran gdb to backtrace the crash and it shows that it has something to do with tf2 and boost libraries.

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fff83fff700 (LWP 19349)]
0x00007ffff0726768 in boost::detail::function::void_function_obj_invoker1<boost::_bi::bind_t<void, boost::_mfi::mf1<void, tf2_ros::TransformListener, ros::MessageEvent<tf2_msgs::TFMessage_<std::allocator<void> > const> const&>, boost::_bi::list2<boost::_bi::value<tf2_ros::TransformListener*>, boost::arg<1> > >, void, boost::shared_ptr<tf2_msgs::TFMessage_<std::allocator<void> > const> const&>::invoke(boost::detail::function::function_buffer&, boost::shared_ptr<tf2_msgs::TFMessage_<std::allocator<void> > const> const&) () from /opt/ros/kinetic/lib/libtf2_ros.so
(gdb) bt
#0  0x00007ffff0726768 in boost::detail::function::void_function_obj_invoker1<boost::_bi::bind_t<void, boost::_mfi::mf1<void, tf2_ros::TransformListener, ros::MessageEvent<tf2_msgs::TFMessage_<std::allocator<void> > const> const&>, boost::_bi::list2<boost::_bi::value<tf2_ros::TransformListener*>, boost::arg<1> > >, void, boost::shared_ptr<tf2_msgs::TFMessage_<std::allocator<void> > const> const&>::invoke(boost::detail::function::function_buffer&, boost::shared_ptr<tf2_msgs::TFMessage_<std::allocator<void> > const> const&) () from /opt/ros/kinetic/lib/libtf2_ros.so
#1  0x00007ffff07244dc in boost::detail::function::void_function_obj_invoker1<boost::function<void (boost::shared_ptr<tf2_msgs::TFMessage_<std::allocator<void> > const> const&)>, void, boost::shared_ptr<tf2_msgs::TFMessage_<std::allocator<void> > const> >::invoke(boost::detail::function::function_buffer&, boost::shared_ptr<tf2_msgs::TFMessage_<std::allocator<void> > const>) () from /opt/ros/kinetic/lib/libtf2_ros.so
#2  0x00007ffff0726f63 in ros::SubscriptionCallbackHelperT<boost::shared_ptr<tf2_msgs::TFMessage_<std::allocator<void> > const> const&, void>::call(ros::SubscriptionCallbackHelperCallParams&) ()
   from /opt/ros/kinetic/lib/libtf2_ros.so
#3  0x00007ffff4b4de2d in ros::SubscriptionQueue::call() () from /opt/ros/kinetic/lib/libroscpp.so
#4  0x00007ffff4af36f8 in ros::CallbackQueue::callOneCB(ros::CallbackQueue::TLS*) ()
   from /opt/ros/kinetic/lib/libroscpp.so
#5  0x00007ffff4af50fb in ros::CallbackQueue::callAvailable(ros::WallDuration) ()
   from /opt/ros/kinetic/lib/libroscpp.so
#6  0x00007ffff0720c42 in tf2_ros::TransformListener::dedicatedListenerThread() ()
   from /opt/ros/kinetic/lib/libtf2_ros.so
#7  0x00007ffff60f85d5 in ?? () from /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.58.0
#8  0x00007ffff5ed16ba in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#9  0x00007ffff6aae41d in clone () from /lib/x86_64-linux-gnu/libc.so.6

I have no idea what happens since everything worked fine for me for the last 6 months. Any idea how I can fix this? Thanks so much for your help!

edit retag flag offensive close merge delete

Comments

1

Do you have any outstanding ROS pkg upgrades?

Updated any non-ROS packages recently?

gvdhoorn gravatar image gvdhoorn  ( 2018-11-29 09:53:05 -0500 )edit

@gvdhoorn no I don't have any outstanding ROS pkg upgrades and yesterday I did perform an apt-get update. Anyelse that I can do?

tuandl gravatar image tuandl  ( 2018-11-29 10:24:10 -0500 )edit

So I asked one of my labmate who said he used the laptop yesterday (the laptop is attached to a robot). He said that he reinstalled tf2-geometry-msgs via apt-get to build his pkg...

tuandl gravatar image tuandl  ( 2018-11-29 10:36:36 -0500 )edit

Do you have any packages built from source? If you did an apt upgrade or install there's possibly dependencies that changed and you'll need to rebuild. If no source builds, make sure that you updated/upgraded all your packages and not just a subset of them to ensure they're compatible.

tfoote gravatar image tfoote  ( 2018-11-29 12:27:19 -0500 )edit

@tfoote@gvdhoorn So I clean up the workspace with catkin clean -y and rebuild my pkgs but the problem persists. Is there anything else that I can do?

tuandl gravatar image tuandl  ( 2018-11-30 01:32:20 -0500 )edit

You likely have a binary incompatibility between versions of your packages. You should make sure that all packages are up to date and they you're not pulling packages from multiple apt repositories.

tfoote gravatar image tfoote  ( 2018-11-30 19:07:22 -0500 )edit