[ros-users] Nodelet issue: Assertion `!pthread_mutex_lock(&m)' failed

Patrick Bouffard bouffard at eecs.berkeley.edu
Tue Mar 15 20:51:40 UTC 2011


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<boost::detail::tss_cleanup_function>, void*) ()
   from /usr/lib/libboost_thread.so.1.42.0
#2  0x00007ffff676ae7d in boost::detail::set_tss_data(void const*,
boost::shared_ptr<boost::detail::tss_cleanup_function>, void*, bool) ()
   from /usr/lib/libboost_thread.so.1.42.0
#3  0x00007ffff72d8398 in reset (this=<value optimized out>)
    at /usr/include/boost/thread/tss.hpp:103
#4  ros::CallbackQueue::setupTLS (this=<value optimized out>)
    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=<value optimized out>)
    at
/opt/ros/diamondback/stacks/ros_comm/clients/cpp/roscpp/include/ros/callback_queue.h:79
#7  nodelet::detail::CallbackQueue::callOne (this=<value optimized out>)
    at
/tmp/buildd/ros-diamondback-common-1.4.3/debian/ros-diamondback-common/op---Type
<return> to continue, or q <return> 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=<value optimized out>)
    at pthread_create.c:304
#11 0x00007ffff446292d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#12 0x0000000000000000 in ?? ()
(gdb)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osuosl.org/pipermail/ros-users/attachments/20110315/7f69ab0c/attachment-0002.html>


More information about the ros-users mailing list