Robotics StackExchange | Archived questions

Interactive marker server segfault

While using interactive markers, I have run into a segfault that I have not yet been able to figure out. Interestingly, the segfault does not occur predictably, and sometimes happens with no user interaction. Here is the backtrace:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffbe7fc700 (LWP 3408)]
0x00007ffff1077949 in glDeleteBuffersARB () from /usr/lib/nvidia-current-updates/libGL.so.1
(gdb) bt
#0  0x00007ffff1077949 in glDeleteBuffersARB () from /usr/lib/nvidia-current-updates/libGL.so.1
#1  0x00007fffbcd38f88 in Ogre::GLHardwareVertexBuffer::~GLHardwareVertexBuffer() () from /usr/lib/x86_64-linux-gnu/OGRE-1.7.4/RenderSystem_GL.so
#2  0x00007fffbcd38fb9 in Ogre::GLHardwareVertexBuffer::~GLHardwareVertexBuffer() () from /usr/lib/x86_64-linux-gnu/OGRE-1.7.4/RenderSystem_GL.so
#3  0x00007ffff714e76f in ?? () from /usr/lib/x86_64-linux-gnu/libOgreMain.so.1.7.4
#4  0x00007ffff71e6ca0 in std::_Rb_tree<unsigned short, std::pair<unsigned short const, Ogre::HardwareVertexBufferSharedPtr>, std::_Select1st<std::pair<unsigned short const, Ogre::HardwareVertexBufferSharedPtr> >, std::less<unsigned short>, Ogre::STLAllocator<std::pair<unsigned short const, Ogre::HardwareVertexBufferSharedPtr>, Ogre::CategorisedAllocPolicy<(Ogre::MemoryCategory)0> > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned short const, Ogre::HardwareVertexBufferSharedPtr> >*) () from /usr/lib/x86_64-linux-gnu/libOgreMain.so.1.7.4
#5  0x00007ffff71e5d81 in Ogre::VertexBufferBinding::unsetAllBindings() () from /usr/lib/x86_64-linux-gnu/libOgreMain.so.1.7.4
#6  0x00007ffff71e5dcb in Ogre::VertexBufferBinding::~VertexBufferBinding() () from /usr/lib/x86_64-linux-gnu/libOgreMain.so.1.7.4
#7  0x00007ffff71e5e29 in Ogre::VertexBufferBinding::~VertexBufferBinding() () from /usr/lib/x86_64-linux-gnu/libOgreMain.so.1.7.4
#8  0x00007ffff71df997 in Ogre::HardwareBufferManagerBase::destroyVertexBufferBinding(Ogre::VertexBufferBinding*) () from /usr/lib/x86_64-linux-gnu/libOgreMain.so.1.7.4
#9  0x00007ffff73c94bb in Ogre::VertexData::~VertexData() () from /usr/lib/x86_64-linux-gnu/libOgreMain.so.1.7.4
#10 0x00007ffff72146ab in Ogre::ManualObject::ManualObjectSection::~ManualObjectSection() () from /usr/lib/x86_64-linux-gnu/libOgreMain.so.1.7.4
#11 0x00007ffff7214809 in Ogre::ManualObject::ManualObjectSection::~ManualObjectSection() () from /usr/lib/x86_64-linux-gnu/libOgreMain.so.1.7.4
#12 0x00007ffff72108ce in Ogre::ManualObject::clear() () from /usr/lib/x86_64-linux-gnu/libOgreMain.so.1.7.4
#13 0x00007ffff7210bd6 in Ogre::ManualObject::~ManualObject() () from /usr/lib/x86_64-linux-gnu/libOgreMain.so.1.7.4
#14 0x00007ffff7210d09 in Ogre::ManualObject::~ManualObject() () from /usr/lib/x86_64-linux-gnu/libOgreMain.so.1.7.4
#15 0x00007ffff7322035 in Ogre::SceneManager::destroyMovableObject(std::string const&, std::string const&) () from /usr/lib/x86_64-linux-gnu/libOgreMain.so.1.7.4
#16 0x00007ffff783d1a2 in rviz::Line::~Line() () from /opt/ros/groovy/lib/librviz.so
#17 0x00007ffff783d319 in rviz::Line::~Line() () from /opt/ros/groovy/lib/librviz.so
#18 0x00007fff90eab6d9 in rviz::InteractiveMarkerControl::~InteractiveMarkerControl() () from /opt/ros/groovy/lib/libdefault_plugin.so
#19 0x00007fff90eb5aea in boost::detail::sp_counted_impl_pd<rviz::InteractiveMarkerControl*, boost::detail::sp_ms_deleter<rviz::InteractiveMarkerControl> >::dispose() ()
   from /opt/ros/groovy/lib/libdefault_plugin.so
#20 0x000000000042ebe9 in release (this=0x4ee5370) at /usr/include/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp:145
#21 boost::detail::shared_count::~shared_count (this=<optimized out>, __in_chrg=<optimized out>) at /usr/include/boost/smart_ptr/detail/shared_count.hpp:217
#22 0x00007fff90eb2f9b in rviz::InteractiveMarker::~InteractiveMarker() () from /opt/ros/groovy/lib/libdefault_plugin.so
#23 0x00007fff90eb3129 in rviz::InteractiveMarker::~InteractiveMarker() () from /opt/ros/groovy/lib/libdefault_plugin.so
#24 0x00007fff90ea4ab9 in std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<rviz::InteractiveMarker> >, std::_Select1st<std::pair<std::string const, boost::shared_ptr<rviz::InteractiveMarker> > >, std::less<std::string>, std::allocator<std::pair<std::string const, boost::shared_ptr<rviz::InteractiveMarker> > > >::_M_erase(std::_Rb_tree_node<std::pair<std::string const, boost::shared_ptr<rviz::InteractiveMarker> > >*) () from /opt/ros/groovy/lib/libdefault_plugin.so
#25 0x00007fff90ea4a95 in std::_Rb_tree<std::string, std::pair<std::string const, boost::shared_ptr<rviz::InteractiveMarker> >, std::_Select1st<std::pair<std::string const, boost::shared_ptr<rviz::InteractiveMarker> > >, std::less<std::string>, std::allocator<std::pair<std::string const, boost::shared_ptr<rviz::InteractiveMarker> > > >::_M_erase(std::_Rb_tree_node<std::pair<std::string const, boost::shared_ptr<rviz::InteractiveMarker> > >*) () from /opt/ros/groovy/lib/libdefault_plugin.so
#26 0x00007fff90ea4bb8 in std::_Rb_tree<std::string, std::pair<std::string const, std::map<std::string, boost::shared_ptr<rviz::InteractiveMarker>, std::less<std::string>, std::allocator<std::pair<std::string const, boost::shared_ptr<rviz::InteractiveMarker> > > > >, std::_Select1st<std::pair<std::string const, std::map<std::string, boost::shared_ptr<rviz::InteractiveMarker>, std::less<std::string>, std::allocator<std::pair<std::string const, boost::shared_ptr<rviz::InteractiveMarker> > > > > >, std::less<std::string>, std::allocator<std::pair<std::string const, std::map<std::string, boost::shared_ptr<rviz::InteractiveMarker>, std::less<std::string>, std::allocator<std::pair<std::string const, boost::shared_ptr<rviz::InteractiveMarker> > > > > > >::_M_erase(std::_Rb_tree_node<std::pair<std::string const, std::map<std::string, boost::shared_ptr<rviz::InteractiveMarker>, std::less<std::string>, std::allocator<std::pair<std::string const, boost::shared_ptr<rviz::InteractiveMarker> > > > > >*) () from /opt/ros/groovy/lib/libdefault_plugin.so
#27 0x00007fff90ea5c62 in std::_Rb_tree<std::string, std::pair<std::string const, std::map<std::string, boost::shared_ptr<rviz::InteractiveMarker>, std::less<std::string>, std::allocator<std::pair<std::string const, boost::shared_ptr<rviz::InteractiveMarker> > > > >, std::_Select1st<std::pair<std::string const, std::map<std::string, boost::shared_ptr<rviz::InteractiveMarker>, std::less<std::string>, std::allocator<std::pair<std::string const, boost::shared_ptr<rviz::InteractiveMarker> > > > > >, std::less<std::string>, std::allocator<std::pair<std::string const, std::map<std::string, boost::shared_ptr<rviz::InteractiveMarker>, std::less<std::string>, std::allocator<std::pair<std::string const, boost::shared_ptr<rviz::InteractiveMarker> > > > > > >::_M_erase_aux(std::_Rb_tree_const_iterator<std::pair<std::string const, std::map<std::string, boost::shared_ptr<rviz::InteractiveMarker>, std::less<std::string>, std::allocator<std::pair<std::string const, boost::shared_ptr<rviz::InteractiveMarker> > > > > >, std::_Rb_tree_const_iterator<std::pair<std::string const, std::map<std::string, boost::shared_ptr<rviz::InteractiveMarker>, std::less<std::string>, std::allocator<std::pair<std::string const, boost::shared_ptr<rviz::InteractiveMarker> > > > > >) ()
   from /opt/ros/groovy/lib/libdefault_plugin.so
#28 0x00007fff90ea2ef6 in rviz::InteractiveMarkerDisplay::resetCb(std::string) () from /opt/ros/groovy/lib/libdefault_plugin.so
#29 0x00007fff90ea3143 in boost::detail::function::void_function_obj_invoker1<boost::_bi::bind_t<void, boost::_mfi::mf1<void, rviz::InteractiveMarkerDisplay, std::string>, boost::_bi::list2<boost::_bi::value<rviz::InteractiveMarkerDisplay*>, boost::arg<1> > >, void, std::string const&>::invoke(boost::detail::function::function_buffer&, std::string const&) () from /opt/ros/groovy/lib/libdefault_plugin.so
#30 0x00007ffff60344b5 in interactive_markers::SingleClient::errorReset(std::string) () from /opt/ros/groovy/lib/libinteractive_markers.so
#31 0x00007ffff6035424 in interactive_markers::SingleClient::process(boost::shared_ptr<visualization_msgs::InteractiveMarkerUpdate_<std::allocator<void> > const> const&, bool) ()
   from /opt/ros/groovy/lib/libinteractive_markers.so
#32 0x00007ffff602bcf3 in void interactive_markers::InteractiveMarkerClient::process<boost::shared_ptr<visualization_msgs::InteractiveMarkerUpdate_<std::allocator<void> > const> >(boost::shared_ptr<visualization_msgs::InteractiveMarkerUpdate_<std::allocator<void> > const> const&) () from /opt/ros/groovy/lib/libinteractive_markers.so
#33 0x00007ffff602934a in boost::detail::function::void_function_obj_invoker1<boost::function<void (boost::shared_ptr<visualization_msgs::InteractiveMarkerUpdate_<std::allocator<void> > const> const&)>, void, boost::shared_ptr<visualization_msgs::InteractiveMarkerUpdate_<std::allocator<void> > const> >::invoke(boost::detail::function::function_buffer&, boost::shared_ptr<visualization_msgs::InteractiveMarkerUpdate_<std::allocator<void> > const>) () from /opt/ros/groovy/lib/libinteractive_markers.so
#34 0x00007ffff602df85 in ros::SubscriptionCallbackHelperT<boost::shared_ptr<visualization_msgs::InteractiveMarkerUpdate_<std::allocator<void> > const> const&, void>::call(ros::SubscriptionCallbackHelperCallParams&) () from /opt/ros/groovy/lib/libinteractive_markers.so
---Type <return> to continue, or q <return> to quit---
#35 0x00007ffff5b1a0f7 in ros::SubscriptionQueue::call() () from /opt/ros/groovy/lib/libroscpp.so
#36 0x00007ffff5acc8e9 in ros::CallbackQueue::callOneCB(ros::CallbackQueue::TLS*) () from /opt/ros/groovy/lib/libroscpp.so
#37 0x00007ffff5ace38b in ros::CallbackQueue::callAvailable(ros::WallDuration) () from /opt/ros/groovy/lib/libroscpp.so
#38 0x00007ffff5b0294a in ros::spinOnce() () from /opt/ros/groovy/lib/libroscpp.so
#39 0x000000000044d9d3 in demonstration_visualizer::DemonstrationVisualizerNode::run (this=0x8f6e08) at /home/eratner/egraph-user-demos/demonstration_visualizer/src/demonstration_visualizer_node.cpp:115
#40 0x00007ffff3979fcb in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#41 0x00007ffff4aa5e9a in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#42 0x00007ffff2e1eccd in clone () from /lib/x86_64-linux-gnu/libc.so.6
#43 0x0000000000000000 in ?? ()

Any ideas?

Asked by ellis on 2013-07-22 09:54:55 UTC

Comments

Answers