Nodelet manager shutdown deadlock?

asked 2018-07-04 02:53:16 -0500

dwatson gravatar image

I'm running into a situation where my nodelet manager deadlocks. The manager and one of it's plugins are trying to shut down at the same time. Anyone seen this before?

One thread:

 #1  0x00007f9e6c14292b in boost::condition_variable::wait(boost::unique_lock<boost::mutex>&) () from /opt/ros/indigo/lib/libnodeletlib.so
#2  0x00007f9e6ba2cadf in ros::CallbackQueue::removeByID(unsigned long) ()
   from /opt/ros/indigo/lib/libroscpp.so
#3  0x00007f9e6b9e865c in ros::ServicePublication::drop() ()
   from /opt/ros/indigo/lib/libroscpp.so
#4  0x00007f9e6ba597c1 in ros::ServiceManager::shutdown() ()
   from /opt/ros/indigo/lib/libroscpp.so
#5  0x00007f9e6ba5e08e in ros::shutdown() ()
   from /opt/ros/indigo/lib/libroscpp.so
#6  0x00007f9e6ba5e1da in ros::checkForShutdown() ()
   from /opt/ros/indigo/lib/libroscpp.so
#7  0x00007f9e6ba1f1ac in boost::signals2::detail::signal0_impl<void, boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void ()>, boost::function<void (boost::signals2::connection const&)>, boost::signals2::mutex>::operator()() () from /opt/ros/indigo/lib/libroscpp.so
#8  0x00007f9e6ba1c2c4 in ros::PollManager::threadFunc() ()
   from /opt/ros/indigo/lib/libroscpp.so

Another thread:

#0  __lll_lock_wait ()
    at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:135
#1  0x00007fc000977664 in _L_lock_952 ()
   from /lib/x86_64-linux-gnu/libpthread.so.0
#2  0x00007fc0009774c6 in __GI___pthread_mutex_lock (mutex=0x1e27dc8)
    at ../nptl/pthread_mutex_lock.c:114
#3  0x00007fc00312eaac in boost::unique_lock<boost::recursive_mutex>::lock() ()
   from /opt/ros/indigo/lib/libnodeletlib.so
#4  0x00007fc002a5440e in ros::ServiceManager::unadvertiseService(std::string const&) () from /opt/ros/indigo/lib/libroscpp.so
#5  0x00007fc0029f7174 in ros::ServiceServer::Impl::unadvertise() ()
   from /opt/ros/indigo/lib/libroscpp.so
#6  0x00007fc0029f7217 in ros::ServiceServer::Impl::~Impl() ()
   from /opt/ros/indigo/lib/libroscpp.so
#7  0x00007fc0029f7709 in boost::detail::sp_counted_impl_pd<ros::ServiceServer::Impl*, boost::detail::sp_ms_deleter<ros::ServiceServer::Impl> >::dispose() ()
   from /opt/ros/indigo/lib/libroscpp.so
#8  0x00007fc0029f74a9 in ros::ServiceServer::~ServiceServer() ()
   from /opt/ros/indigo/lib/libroscpp.so
#9  0x00007fbfe02f29bc in ?? ()
   from /opt/ros/indigo/lib//libcompressed_depth_image_transport.so
#10 0x00007fbfe02f3b2e in ?? ()
   from /opt/ros/indigo/lib//libcompressed_depth_image_transport.so
#11 0x00007fbfe02f7ee9 in ?? ()
   from /opt/ros/indigo/lib//libcompressed_depth_image_transport.so
#12 0x00007fbff03c3eb1 in void class_loader::ClassLoader::onPluginDeletion<image_transport::PublisherPlugin>(image_transport::PublisherPlugin*) ()
   from /opt/ros/indigo/lib/libimage_transport.so
#13 0x000000000040624e in boost::detail::sp_counted_base::release() ()
#14 0x00007fbff03c22e4 in image_transport::Publisher::shutdown() ()
   from /opt/ros/indigo/lib/libimage_transport.so
#15 0x00007fbff03a0440 in boost::detail::sp_counted_impl_p<image_transport::CameraPublisher::Impl>::dispose() () from /opt/ros/indigo/lib/libimage_transport.so
#16 0x000000000040624e in boost::detail::sp_counted_base::release() ()
#17 0x00007fbff83e97df in boost::detail::shared_count::~shared_count() ()
   from catkin_ws/devel/lib//libPointGreyCameraNodelet.so
#18 0x00007fbff83fa428 in boost::shared_ptr<image_transport::CameraPublisher::Impl>::~shared_ptr() ()
   from catkin_ws/devel/lib//libPointGreyCameraNodelet.so
#19 0x00007fbff83fe65e in image_transport::CameraPublisher::~CameraPublisher()
    () from catkin_ws/devel/lib//libPointGreyCameraNodelet.so
#20 0x00007fbff83ff071 in pointgrey_camera_driver::PointGreyCameraNodelet::~PointGreyCameraNodelet() ()
   from catkin_ws/devel/lib//libPointGreyCameraNodelet.so
#21 0x00007fbff83ff37e in pointgrey_camera_driver::PointGreyCameraNodelet::~PointGreyCameraNodelet() ()
   from catkin_ws/devel/lib//libPointGreyCameraNodelet.so
#22 0x00007fc003125fa1 in void class_loader::ClassLoader::onPluginDeletion<nodelet::Nodelet>(nodelet::Nodelet*) () from /opt/ros/indigo/lib/libnodeletlib.so
#23 0x000000000040624e in boost::detail::sp_counted_base::release() ()
#24 0x00007fc003120579 in nodelet::Loader::unload(std::string const&) ()
   from /opt/ros/indigo/lib/libnodeletlib.so
#25 0x00007fc00312957b in nodelet::LoaderROS::unload(std ...
(more)
edit retag flag offensive close merge delete