maidsafe-archive / MaidSafe

This is the super-project in which each MaidSafe library resides. Some information is common to all libraries, and is detailed here. Library-specific information can be found in each library's wiki.
Other
583 stars 101 forks source link

Crash/stack corruption in ManagedConnections::DebugString() #101

Closed ghost closed 11 years ago

ghost commented 11 years ago

Seen when running routing test 'FindNodeNetwork.FUNC_ClientFindVaultNode' on 'vault' branch.

*** glibc detected *** /home/alison/Development/Workspace/MaidSafe/Debug/TESTrouting_big: double free or corruption (!prev): 0x00007ffee815e500 ***
======= Backtrace: =========

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fff20ff9700 (LWP 31928)]
0x0000000000c7baa3 in std::_Rb_tree_increment(std::_Rb_tree_node_base*) ()
(gdb) where
#0  0x0000000000c7baa3 in std::_Rb_tree_increment(std::_Rb_tree_node_base*) ()
#1  0x00000000009b2431 in std::_Rb_tree_const_iterator<std::shared_ptr<maidsafe::rudp::detail::Transport> >::operator++ (this=0x7fff20ff8130) at /usr/include/c++/4.6/bits/stl_tree.h:269
#2  0x00000000009ad69f in maidsafe::rudp::ManagedConnections::DebugString (this=0x1205950) at /home/alison/Development/Workspace/MaidSafe/src/rudp/src/maidsafe/rudp/managed_connections.cc:778
#3  0x00000000009abb8c in maidsafe::rudp::ManagedConnections::OnMessageSlot (this=0x1205950, message=...)
    at /home/alison/Development/Workspace/MaidSafe/src/rudp/src/maidsafe/rudp/managed_connections.cc:626
#4  0x00000000009bb705 in boost::_mfi::mf1<void, maidsafe::rudp::ManagedConnections, std::string const&>::operator() (this=0x7ffee8302490, p=0x1205950, a1=...)
    at /home/alison/Development/Workspace/MaidSafe/src/third_party_libs/boost/boost/bind/mem_fn_template.hpp:165
#5  0x00000000009ba156 in boost::_bi::list2<boost::_bi::value<maidsafe::rudp::ManagedConnections*>, boost::arg<1> >::operator()<boost::_mfi::mf1<void, maidsafe::rudp::ManagedConnections, std::string const&>, boost::_bi::list1<std::string const&> > (this=0x7ffee83024a0, f=..., a=...) at /home/alison/Development/Workspace/MaidSafe/src/third_party_libs/boost/boost/bind/bind.hpp:313
#6  0x00000000009b754a in boost::_bi::bind_t<void, boost::_mfi::mf1<void, maidsafe::rudp::ManagedConnections, std::string const&>, boost::_bi::list2<boost::_bi::value<maidsafe::rudp::ManagedConnections*>, boost::arg<1> > >::operator()<std::string> (this=0x7ffee8302490, a1=...) at /home/alison/Development/Workspace/MaidSafe/src/third_party_libs/boost/boost/bind/bind_template.hpp:47
#7  0x00000000009b48e3 in std::_Function_handler<void (std::string const&), boost::_bi::bind_t<void, boost::_mfi::mf1<void, maidsafe::rudp::ManagedConnections, std::string const&>, boost::_bi::list2<boost::_bi::value<maidsafe::rudp::ManagedConnections*>, boost::arg<1> > > >::_M_invoke(std::_Any_data const&, std::string const&) (__functor=..., __args#0=...) at /usr/include/c++/4.6/functional:1778
#8  0x000000000092a37b in std::function<void (std::string const&)>::operator()(std::string const&) const (this=0x7fff20ff8860, __args#0=...) at /usr/include/c++/4.6/functional:2161
#9  0x00000000009f0c51 in maidsafe::rudp::detail::Transport::DoSignalMessageReceived (this=0x7ffee815e310, message=...)
    at /home/alison/Development/Workspace/MaidSafe/src/rudp/src/maidsafe/rudp/transport.cc:394
#10 0x00000000009ff5b8 in std::_Mem_fn<void (maidsafe::rudp::detail::Transport::*)(std::string const&)>::_M_call<std::shared_ptr<maidsafe::rudp::detail::Transport> > (this=0x7fff20ff8a90, __ptr=..., 
    __args#0=...) at /usr/include/c++/4.6/functional:536
#11 0x00000000009ff2bf in std::_Mem_fn<void (maidsafe::rudp::detail::Transport::*)(std::string const&)>::operator()<std::shared_ptr<maidsafe::rudp::detail::Transport> > (this=0x7fff20ff8a90, 
    __object=..., __args#0=...) at /usr/include/c++/4.6/functional:559
#12 0x00000000009fee53 in std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Transport::*)(std::string const&)> (std::shared_ptr<maidsafe::rudp::detail::Transport>, std::string)>::__call<void, , 0, 1>(std::tuple<>&&, std::_Index_tuple<0, 1>) (this=0x7fff20ff8a90, __args=...) at /usr/include/c++/4.6/functional:1146
#13 0x00000000009fe8ac in std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Transport::*)(std::string const&)> (std::shared_ptr<maidsafe::rudp::detail::Transport>, std::string)>::operator()<, void>()
    (this=0x7fff20ff8a90) at /usr/include/c++/4.6/functional:1205
#14 0x00000000009fe0f4 in boost::asio::asio_handler_invoke<std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Transport::*)(std::string const&)> (std::shared_ptr<maidsafe::rudp::detail::Transport>, std::string)> >(std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Transport::*)(std::string const&)> (std::shared_ptr<maidsafe::rudp::detail::Transport>, std::string)>, ...) (function=...)
    at /home/alison/Development/Workspace/MaidSafe/src/third_party_libs/boost/boost/asio/handler_invoke_hook.hpp:64
#15 0x00000000009fd7f8 in boost_asio_handler_invoke_helpers::invoke<std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Transport::*)(std::string const&)> (std::shared_ptr<maidsafe::rudp::detail::Transport>, std::string)>, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Transport::*)(std::string const&)> (std::shared_ptr<maidsafe::rudp::detail::Transport>, std::string)> >(std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Transport::*)(std::string const&)> (std::shared_ptr<maidsafe::rudp::detail::Transport>, std::string)>&, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Transport::*)(std::string const&)> (std::shared_ptr<maidsafe::rudp::detail::Transport>, std::string)>&) (function=..., context=...)
    at /home/alison/Development/Workspace/MaidSafe/src/third_party_libs/boost/boost/asio/detail/handler_invoke_helpers.hpp:39
#16 0x00000000009fca6e in boost::asio::detail::completion_handler<std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Transport::*)(std::string const&)> (std::shared_ptr<maidsafe::rudp::detail::Transport>, std::string)> >::do_complete(boost::asio::detail::task_io_service*, boost::asio::detail::task_io_service_operation*, boost::system::error_code const&, unsigned long) (owner=0x1204ca0, 
    base=0x7ffee81012a0) at /home/alison/Development/Workspace/MaidSafe/src/third_party_libs/boost/boost/asio/detail/completion_handler.hpp:67
#17 0x0000000000923f4a in boost::asio::detail::task_io_service_operation::complete (this=0x7ffee81012a0, owner=..., ec=..., bytes_transferred=0)
    at /home/alison/Development/Workspace/MaidSafe/src/third_party_libs/boost/boost/asio/detail/task_io_service_operation.hpp:37
#18 0x0000000000a51a65 in boost::asio::detail::task_io_service::do_run_one (this=0x1204ca0, lock=..., this_thread=..., ec=...)
    at /home/alison/Development/Workspace/MaidSafe/src/third_party_libs/boost/boost/asio/detail/impl/task_io_service.ipp:419
#19 0x0000000000a51769 in boost::asio::detail::task_io_service::run (this=0x1204ca0, ec=...)
    at /home/alison/Development/Workspace/MaidSafe/src/third_party_libs/boost/boost/asio/detail/impl/task_io_service.ipp:160
#20 0x0000000000a51c49 in boost::asio::io_service::run (this=0x1205950) at /home/alison/Development/Workspace/MaidSafe/src/third_party_libs/boost/boost/asio/impl/io_service.ipp:59
#21 0x0000000000a4f4a3 in operator() (this=0x1206618) at /home/alison/Development/Workspace/MaidSafe/src/common/src/maidsafe/common/asio_service.cc:82
#22 0x0000000000a50fe4 in boost::detail::thread_data<maidsafe::AsioService::Start()::<lambda()> >::run(void) (this=0x1206490)
    at /home/alison/Development/Workspace/MaidSafe/src/third_party_libs/boost/boost/thread/detail/thread.hpp:74
#23 0x0000000000c3fa9d in thread_proxy ()
#24 0x00007ffff7bc4e9a in start_thread (arg=0x7fff20ff9700) at pthread_create.c:308
#25 0x00007ffff71d7cbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#26 0x0000000000000000 in ?? ()
(gdb) 
Fraser999 commented 11 years ago

Issue moved to RUDP: https://github.com/maidsafe/MaidSafe-RUDP/issues/1