Segmentation fault during thread switch [closed]

asked 2011-12-09 07:45:11 -0600

rtoris288 gravatar image

updated 2011-12-09 07:54:38 -0600


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/
(gdb) backtrace
#0  0xb7db7775 in std::_Rb_tree_increment(std::_Rb_tree_node_base*) ()
    from /usr/lib/i386-linux-gnu/
#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/
#10 0xb7950d31 in start_thread ()
    from /lib/i386-linux-gnu/
#11 0xb7c690ce in clone ()
    from /lib/i386-linux-gnu/
Backtrace stopped: Not enough registers or memory available to unwind further
edit retag flag offensive reopen merge delete

Closed for the following reason question is not relevant or outdated by tfoote
close date 2013-05-09 07:39:37


You'll need to provide more information for us to help you.

tfoote gravatar image tfoote  ( 2012-08-26 16:48:15 -0600 )edit