Segmentation fault during thread switch [closed]
Hello--
I've come across a weird segmentation fault that occasionally occurs during the execution of a node I am writing. The node has several topics/services it uses; however, I am not doing anything with multi-threading (other than what ROS is doing). Below is the backtrace from gdb. I am running Electric on 32bit Oneiric. Any help is greatly appreciated.
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb63dcb70 (LWP 6933)]
0xb7db7775 in std::_Rb_tree_increment(std::_Rb_tree_node_base*) ()
from /usr/lib/i386-linux-gnu/libstdc++.so.6
(gdb) backtrace
#0 0xb7db7775 in std::_Rb_tree_increment(std::_Rb_tree_node_base*) ()
from /usr/lib/i386-linux-gnu/libstdc++.so.6
#1 0xb7eee8ea in operator++ (this=<synthetic pointer>)
at /usr/include/c++/4.6/bits/stl_tree.h:188
#2 ros::PollSet::createNativePollset (this=0x80797f8)
at /tmp/buildd/ros-electric-ros-comm-1.6.5/debian/ros-electric-ros-comm/opt/ros/electric/stacks/ros_comm/clients/cpp/roscpp/src/libros/poll_set.cpp:267
#3 0xb7eee9b4 in ros::PollSet::update (this=0x80797f8, poll_timeout=100)
at /tmp/buildd/ros-electric-ros-comm-1.6.5/debian/ros-electric-ros-comm/opt/ros/electric/stacks/ros_comm/clients/cpp/roscpp/src/libros/poll_set.cpp:177
#4 0xb7f2e1e5 in ros::PollManager::threadFunc (this=0x80797f8)
at /tmp/buildd/ros-electric-ros-comm-1.6.5/debian/ros-electric-ros-comm/opt/ros/electric/stacks/ros_comm/clients/cpp/roscpp/src/libros/poll_manager.cpp:95
#5 0xb7f2e3cb in operator() (p=<optimized out>, this=0x807b13c)
at /usr/include/boost/bind/mem_fn_template.hpp:49
#6 operator()<boost::_mfi::mf0<void, ros::PollManager>, boost::_bi::list0> (f=..., this=0x807b144, a=<optimized out>)
at /usr/include/boost/bind/bind.hpp:253
#7 operator() (this=0x807b13c)
at /usr/include/boost/bind/bind_template.hpp:20
#8 boost::detail::thread_data<boost::_bi::bind_t<void, boost::_mfi::mf0<void, ros::PollManager>, boost::_bi::list1<boost::_bi::value<ros::PollManager*> > > >::run (this=0x807b038)
at /usr/include/boost/thread/detail/thread.hpp:61
#9 0xb7b6c3cc in thread_proxy ()
from /usr/lib/libboost_thread.so.1.46.1
#10 0xb7950d31 in start_thread ()
from /lib/i386-linux-gnu/libpthread.so.0
#11 0xb7c690ce in clone ()
from /lib/i386-linux-gnu/libc.so.6
Backtrace stopped: Not enough registers or memory available to unwind further
You'll need to provide more information for us to help you.