Running a nodelet manager under gdb, I get the below output and backtrace. This happens after several minutes of otherwise-fine operation. I haven't had a chance to see how repeatable it is but would like to know if the gdb output raises any flags for anyone. This is on an amd64 system, Maverick, diamondback debs. I noticed the error string at #5 in the backtrace, googling that produces: http://stackoverflow.com/questions/3721097/gdb-error-message-dw-op-reg-dw-op-piece-and-dw-op-bit-piece though I'm not sure what to do with that information.. Perhaps a GCC wizard on the list might be able to shed some light..? Thanks, Pat --- nodelet: /usr/include/boost/thread/pthread/mutex.hpp:50: void boost::mutex::lock(): Assertion `!pthread_mutex_lock(&m)' failed. nodelet: /usr/include/boost/thread/pthread/mutex.hpp:50: void boost::mutex::lock(): Assertion `!pthread_mutex_lock(&m)' failed. nodelet: /usr/include/boost/thread/pthread/mutex.hpp:50: void boost::mutex::lock(): Assertion `!pthread_mutex_lock(&m)' failed. Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7fffe6ffd700 (LWP 898)] 0x00007ffff4e21a47 in std::_Rb_tree_decrement(std::_Rb_tree_node_base*) () from /usr/lib/libstdc++.so.6 (gdb) bt #0 0x00007ffff4e21a47 in std::_Rb_tree_decrement(std::_Rb_tree_node_base*) () from /usr/lib/libstdc++.so.6 #1 0x00007ffff676aad7 in boost::detail::add_new_tss_node(void const*, boost::shared_ptr, void*) () from /usr/lib/libboost_thread.so.1.42.0 #2 0x00007ffff676ae7d in boost::detail::set_tss_data(void const*, boost::shared_ptr, void*, bool) () from /usr/lib/libboost_thread.so.1.42.0 #3 0x00007ffff72d8398 in reset (this=) at /usr/include/boost/thread/tss.hpp:103 #4 ros::CallbackQueue::setupTLS (this=) at /tmp/buildd/ros-diamondback-ros-comm-1.4.5/debian/ros-diamondback-ros-comm/opt/ros/diamondback/stacks/ros_comm/clients/cpp/roscpp/src/libros/callback_queue.cpp:93 #5 0x00007ffff72d9f5c in ros::CallbackQueue::callOne (this=0x676af0, timeout=DWARF-2 expression error: DW_OP_reg operations must be used either alone or in conjuction with DW_OP_piece or DW_OP_bit_piece. ) at /tmp/buildd/ros-diamondback-ros-comm-1.4.5/debian/ros-diamondback-ros-comm/opt/ros/diamondback/stacks/ros_comm/clients/cpp/roscpp/src/libros/callback_queue.cpp:214 #6 0x00007ffff570c7bf in callOne (this=) at /opt/ros/diamondback/stacks/ros_comm/clients/cpp/roscpp/include/ros/callback_queue.h:79 #7 nodelet::detail::CallbackQueue::callOne (this=) at /tmp/buildd/ros-diamondback-common-1.4.3/debian/ros-diamondback-common/op---Type to continue, or q to quit--- t/ros/diamondback/stacks/common/nodelet/src/callback_queue.cpp:66 #8 0x00007ffff570d7f7 in nodelet::detail::CallbackQueueManager::workerThread ( this=0x648e80, info=0x63df08) at /tmp/buildd/ros-diamondback-common-1.4.3/debian/ros-diamondback-common/opt/ros/diamondback/stacks/common/nodelet/src/callback_queue_manager.cpp:246 #9 0x00007ffff676a230 in thread_proxy () from /usr/lib/libboost_thread.so.1.42.0 #10 0x00007ffff4706971 in start_thread (arg=) at pthread_create.c:304 #11 0x00007ffff446292d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 #12 0x0000000000000000 in ?? () (gdb)