Code Monkey home page Code Monkey logo

maidsafe-rudp's Introduction

maidsafe-rudp's People

Contributors

andrewleung1 avatar anju-rajain avatar anthonywilliams avatar chandraprakash avatar chriskohlhoff avatar dan-schmidt avatar dirvine avatar inetic avatar jbmaidsafe avatar jenkins-nedprod avatar justinemclevy avatar maqi avatar mjcaisse avatar ned14 avatar philip-yuile avatar s-coyle avatar vtnerd avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

maidsafe-rudp's Issues

Rudp assert on "connection_details.second->GetConnection(connection_details.first)->state() == detail::Connection::State::kBootstrapping".

Migrated from maidsafe-archive/MaidSafe#16

Once after reporting ConnectionLost() for last connection (except bootstrap connection). Rudp should not allow any new incoming activity until user re bootstraps.

TESTrouting: /home/maidsafe/super/MaidSafe/src/rudp/src/maidsafe/rudp/managed_connections.cc:107: int maidsafe::rudp::ManagedConnections::Bootstrap(const std::vectorboost::asio::ip::basic_endpoint<boost::asio::ip::udp >&, maidsafe::rudp::MessageReceivedFunctor, maidsafe::rudp::ConnectionLostFunctor, maidsafe::NodeId, std::shared_ptrCryptoPP::InvertibleRSAFunction, std::shared_ptrCryptoPP::RSAFunction, maidsafe::NodeId&, maidsafe::rudp::NatType&, maidsafe::rudp::{anonymous}::Endpoint): Assertion `connection_details.second->GetConnection(connection_details.first)->state() == detail::Connection::State::kBootstrapping' failed.

Segmentation fault after routing functional tests

Migrated from maidsafe-archive/MaidSafe#95

Almost all functional tests segfault after the test finishes. We had similar problem before which Fraser fixed by changing the order of member classes of routing_impl. I did not have much time to investigate the cause of problem, but it seems to be similar issue which was fixed by Admiral.

Stack corruption in ManagedConnections::DebugString()

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) 

rUDP keep connection with new node using existing node-id

Migrated from maidsafe-archive/MaidSafe#99

Scenario:
Two bootstrap node exist, third node successfully join the n/w and all three nodes successfully populated their routing tables. Now fourth node join n/w using existing third node key. The bootstrap node which is used as a peer by fourth node break connection with existing third node and make connection with fourth node and keep the connection for fourth node. Third node still have its connection with second bootstrap node. So both the node with duplicate node-id exist in network, in actual bootstrap should refuse the new fourth node connection and keep maintain the existing third node connection.

Assertion failed for sliding window in rUDP

Issue migrated from maidsafe-archive/MaidSafe#103

Assertion failed for IsFull() in sliding window for rUDP/core. This behaviour pop up while running test case SendGroup in APIs tests.

===================Crash traces==============

Assertion failed: !IsFull(), file C:\MaidSafe\src\rudp\src\maidsafe/rudp/core/sl
iding_window.h, line 96
Assertion failed: !IsFull(), file C:\MaidSafe\src\rudp\src\maidsafe/rudp/core/sl
iding_window.h, line 96

Assertion in Session::Open fails intermittently in routing tests ClientFindVaultNode and similar

Migrated from maidsafe-archive/MaidSafe#102

Occurs intermittently in the ClientFindClient, ClientFindVault, VaultFindClient and VautFindVault tests in the TESTrouting_big target.

FindNodeNetwork.FUNC_VaultFindClientNode in GDB:

TESTrouting_big: /home/alison/Development/Workspace/MaidSafe/src/rudp/src/maidsafe/rudp/core/session.cc:67: void maidsafe::rudp::detail::Session::Open(uint32_t, maidsafe::NodeId, std::shared_ptr<CryptoPP::RSAFunction>, uint32_t, maidsafe::rudp::detail::Session::Mode, const slot_type&): Assertion `id != 0' failed.
[New Thread 0x7fffde7fc700 (LWP 26046)]

Program received signal SIGABRT, Aborted.
[Switching to Thread 0x7fffd5ffb700 (LWP 25621)]
0x00007ffff711a425 in __GI_raise (sig=<optimised out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
64  ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) where
#0  0x00007ffff711a425 in __GI_raise (sig=<optimised out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1  0x00007ffff711db8b in __GI_abort () at abort.c:91
#2  0x00007ffff71130ee in __assert_fail_base (fmt=<optimised out>, assertion=0xd0a5b7 "id != 0", file=0xd0a560 "/home/alison/Development/Workspace/MaidSafe/src/rudp/src/maidsafe/rudp/core/session.cc", 
    line=<optimised out>, function=<optimised out>) at assert.c:94
#3  0x00007ffff7113192 in __GI___assert_fail (assertion=0xd0a5b7 "id != 0", file=0xd0a560 "/home/alison/Development/Workspace/MaidSafe/src/rudp/src/maidsafe/rudp/core/session.cc", line=67, 
    function=0xd11e80 "void maidsafe::rudp::detail::Session::Open(uint32_t, maidsafe::NodeId, std::shared_ptr<CryptoPP::RSAFunction>, uint32_t, maidsafe::rudp::detail::Session::Mode, const slot_type&)")
    at assert.c:103
#4  0x0000000000a1ed0d in maidsafe::rudp::detail::Session::Open(unsigned int, maidsafe::NodeId, std::shared_ptr<CryptoPP::RSAFunction>, unsigned int, maidsafe::rudp::detail::Session::Mode, boost::signals2::slot<void (boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const&, maidsafe::NodeId const&, boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const&, unsigned short&), boost::function<void (boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const&, maidsafe::NodeId const&, boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const&, unsigned short&)> > const&) (this=0x7fff2c0009d0, id=0, this_node_id=..., 
    this_public_key=..., sequence_number=633174301, mode=maidsafe::rudp::detail::Session::kNormal, on_nat_detection_requested_slot=...)
    at /home/alison/Development/Workspace/MaidSafe/src/rudp/src/maidsafe/rudp/core/session.cc:67
#5  0x0000000000a1882d in maidsafe::rudp::detail::Socket::StartConnect(maidsafe::NodeId const&, std::shared_ptr<CryptoPP::RSAFunction>, boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const&, maidsafe::NodeId const&, maidsafe::rudp::detail::Session::Mode, boost::signals2::slot<void (boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const&, maidsafe::NodeId const&, boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const&, unsigned short&), boost::function<void (boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const&, maidsafe::NodeId const&, boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const&, unsigned short&)> > const&) (this=0x7fff2c000920, this_node_id=..., this_public_key=..., remote=..., peer_node_id=..., open_mode=maidsafe::rudp::detail::Session::kNormal, on_nat_detection_requested_slot=...)
    at /home/alison/Development/Workspace/MaidSafe/src/rudp/src/maidsafe/rudp/core/socket.cc:157
#6  0x00000000009dc948 in maidsafe::rudp::detail::Socket::AsyncConnect<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&, std::string const&, std::function<void (int)>)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>, std::string, std::function<void (int)>)> > >(maidsafe::NodeId const&, std::shared_ptr<CryptoPP::RSAFunction>, boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const&, maidsafe::NodeId const&, boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&, std::string const&, std::function<void (int)>)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>, std::string, std::function<void (int)>)> >, maidsafe::rudp::detail::Session::Mode, boost::signals2::slot<void (boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const&, maidsafe::NodeId const&, boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const&, unsigned short&), boost::function<void (boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const&, maidsafe::NodeId const&, boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const&, unsigned short&)> >) (this=0x7fff2c000920, this_node_id=..., this_public_key=..., remote=..., peer_node_id=..., handler=..., 
    open_mode=maidsafe::rudp::detail::Session::kNormal, on_nat_detection_requested_slot=...) at /home/alison/Development/Workspace/MaidSafe/src/rudp/src/maidsafe/rudp/core/socket.h:132
#7  0x00000000009d4e09 in maidsafe::rudp::detail::Connection::StartConnect(std::string const&, boost::posix_time::time_duration const&, boost::posix_time::time_duration const&, std::function<void (int)> const&)
    (this=0x7fff2c0008e0, validation_data=..., connect_attempt_timeout=..., lifespan=..., ping_functor=...) at /home/alison/Development/Workspace/MaidSafe/src/rudp/src/maidsafe/rudp/connection.cc:332
#8  0x00000000009d31c2 in maidsafe::rudp::detail::Connection::DoStartConnecting(maidsafe::NodeId const&, boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const&, std::string const&, boost::posix_time::time_duration const&, boost::posix_time::time_duration const&, std::function<void (int)> const&, std::function<void ()> const&) (this=0x7fff2c0008e0, peer_node_id=..., peer_endpoint=..., validation_data=..., 
    connect_attempt_timeout=..., lifespan=..., ping_functor=..., failure_functor=...) at /home/alison/Development/Workspace/MaidSafe/src/rudp/src/maidsafe/rudp/connection.cc:141
#9  0x00000000009f1d8f in std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(maidsafe::NodeId const&, boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const&, std::string const&, boost::posix_time::time_duration const&, boost::posix_time::time_duration const&, std::function<void (int)> const&, std::function<void ()> const&)>::_M_call<std::shared_ptr<maidsafe::rudp::detail::Connection> >(std::shared_ptr<maidsafe::rudp::detail::Connection>&, void const volatile*, maidsafe::NodeId const&, boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const&, std::string const&, boost::posix_time::time_duration const&, boost::posix_time::time_duration const&, std::function<void (int)> const&, std::function<void ()> const&) const (this=0x7fffd5ffa1b0, __ptr=..., __args#0=..., __args#1=..., __args#2=..., __args#3=..., __args#4=..., 
    __args#5=..., __args#6=...) at /usr/include/c++/4.6/functional:536
#10 0x00000000009efcc4 in std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(maidsafe::NodeId const&, boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const&, std::string const&, boost::posix_time::time_duration const&, boost::posix_time::time_duration const&, std::function<void (int)> const&, std::function<void ()> const&)>::operator()<std::shared_ptr<maidsafe::rudp::detail::Connection> >(std::shared_ptr<maidsafe::rudp::detail::Connection>&, maidsafe::NodeId const&, boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const&, std::string const&, boost::posix_time::time_duration const&, boost::posix_time::time_duration const&, std::function<void (int)> const&, std::function<void ()> const&) const (this=0x7fffd5ffa1b0, __object=..., __args#0=..., __args#1=..., __args#2=..., __args#3=..., __args#4=..., __args#5=..., 
    __args#6=...) at /usr/include/c++/4.6/functional:559
#11 0x00000000009ed0b1 in std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(maidsafe::NodeId const&, boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const&, std::string const&, boost::posix_time::time_duration const&, boost::posix_time::time_duration const&, std::function<void (int)> const&, std::function<void ()> const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, maidsafe::NodeId, boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::string, boost::posix_time::time_duration, boost::posix_time::time_duration, std::function<void (int)>, std::function<void ()>)>::__call<void, , 0, 1, 2, 3, 4, 5, 6, 7>(std::tuple<>&&, std::_Index_tuple<0, 1, 2, 3, 4, 5, 6, 7>) (this=0x7fffd5ffa1b0, __args=...) at /usr/include/c++/4.6/functional:1146
#12 0x00000000009eaa8c in std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(maidsafe::NodeId const&, boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const&, std::string const&, boost::posix_time::time_duration const&, boost::posix_time::time_duration const&, std::function<void (int)> const&, std::function<void ()> const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, maidsafe::NodeId, boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::string, boost::posix_time::time_duration, boost::posix_time::time_duration, std::function<void (int)>, std::function<void ()>)>::operator()<, void>() (
    this=0x7fffd5ffa1b0) at /usr/include/c++/4.6/functional:1205
#13 0x00000000009e77db in boost::asio::asio_handler_invoke<std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(maidsafe::NodeId const&, boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const&, std::string const&, boost::posix_time::time_duration const&, boost::posix_time::time_duration const&, std::function<void (int)> const&, std::function<void ()> const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, maidsafe::NodeId, boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::string, boost::posix_time::time_duration, boost::posix_time::time_duration, std::function<void (int)>, std::function<void ()>)> >(std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(maidsafe::NodeId const&, boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const&, std::string const&, boost::posix_time::time_duration const&, boost::posix_time::time_duration const&, std::function<void (int)> const&, std::function<void ()> const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, maidsafe::NodeId, boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::string, boost::posix_time::time_duration, boost::posix_time::time_duration, std::function<void (int)>, std::function<void ()>)>, ...) (function=...)
    at /home/alison/Development/Workspace/MaidSafe/src/third_party_libs/boost/boost/asio/handler_invoke_hook.hpp:64

Failure to send to a routing node on another machine after limited (known) attempts

Migrated from maidsafe-archive/MaidSafe#93

Steps to reproduce:

  1. Set-up 15 routing nodes on two Windows machines.
  2. One has 10 nodes and the rest on the other.
  3. set datasize = 500 Bytes,
  4. Run "senddirect xx 500" command to send multiple messages form a routing node on one machine to node in another machine.

It seems that all the time the 48th message fails to reach to destination, and after that all messages sent to the same destination also fail to reach.
Changing the datasize seems to be related to the first failing message, however, it does not look like a linear relationship.
The same thing happens on Linux on iteration #67 when source is my system and on iteration #260 when the source is high spec 192.168.0.109 system.
Seems that sending buffer at source gets full.

ManagedConnectionsTest.BEH_API_Bootstrap hangs occasionally on Linodes.

Migrated from maidsafe-archive/MaidSafe#10

root@li522-133:/Vaults# ./TESTrudp --gtest_filter=ManagedConnectionsTest.BEH_API_Bootstrap
Note: Google Test filter = ManagedConnectionsTest.BEH_API_Bootstrap
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[==========] 1 test from ManagedConnectionsTest
[ RUN ] ManagedConnectionsTest.BEH_API_Bootstrap
E 140689953814336 10:41:43.615933 rudp/managed_connections.cc:119] You must provide a valid MessageReceivedFunctor.
E 140689953814336 10:41:43.640966 rudp/managed_connections.cc:140] You must provide at least one Bootstrap endpoint.
W 140689931781888 10:41:45.665760 rudp/connection.cc:229] Failed to connect from 0.0.0.0:0 / 176.58.120.133:5483 to 176.58.120.133:10000 - timed out.
I 140689953814336 10:41:45.666225 rudp/transport.cc:179] Failed to make bootstrap connection to 176.58.120.133:10000
W 140689953814336 10:41:45.666501 rudp/managed_connections.cc:203] Failed to start a new Transport.
I 140689931781888 10:41:45.666623 rudp/connection.cc:321] Spuriously checking lifespan timeout of connection from 0.0.0.0:0 / 176.58.120.133:5483 to 176.58.120.133:10000 Lifespan remaining: 00:09:57.998820
E 140689953814336 10:41:45.666675 rudp/managed_connections.cc:163] Failed to bootstrap managed connections.
E 140689953814336 10:41:45.666841 rudp/managed_connections.cc:119] You must provide a valid MessageReceivedFunctor.
E 140689953814336 10:41:45.667053 rudp/managed_connections.cc:123] You must provide a valid ConnectionLostFunctor.
E 140689953814336 10:41:45.667197 rudp/managed_connections.cc:133] You must provide a valid private and public key.
E 140689953814336 10:41:45.690399 rudp/managed_connections.cc:133] You must provide a valid private and public key.
E 140689953814336 10:41:45.690596 rudp/managed_connections.cc:133] You must provide a valid private and public key.
E 140689953814336 10:41:45.711413 rudp/managed_connections.cc:133] You must provide a valid private and public key.
I 140689953814336 10:41:45.922466 rudp/tests/test_utils.cc:48] Node 0 has NodeId 7cb0703..9dfa7ec
I 140689953814336 10:41:46.190530 rudp/tests/test_utils.cc:48] Node 1 has NodeId 46f63a7..f9cde77
I 140689953814336 10:41:46.547408 rudp/tests/test_utils.cc:48] Node 2 has NodeId 794cbca..4f5c522
S 140689690056448 10:41:46.577796 rudp/transport.cc:366] Successfully made Bootstrapping connection from [7cb0703 - 176.58.120.133:64366 / 176.58.120.133:64366] to [46f63a7 - 176.58.120.133:18522]
S 140689673271040 10:41:46.578374 rudp/transport.cc:366] Successfully made Bootstrapping connection from [46f63a7 - 176.58.120.133:18522 / 176.58.120.133:18522] to [7cb0703 - 176.58.120.133:64366]
I 140689953814336 10:41:46.828838 rudp/tests/test_utils.cc:83] Calling Add from 176.58.120.133:64366 to 176.58.120.133:18522
I 140689953814336 10:41:46.829571 rudp/tests/test_utils.cc:90] Calling Add from 176.58.120.133:18522 to 176.58.120.133:64366
I 140689673271040 10:41:46.835820 rudp/tests/test_utils.cc:312] Node 1 -- Received: Node 0's validation data
I 140689690056448 10:41:46.836683 rudp/tests/test_utils.cc:312] Node 0 -- Received: Node 1's validation data
I 140689953814336 10:41:46.837095 rudp/tests/test_utils.cc:144] Setting up remaining 1 nodes
S 140689664878336 10:41:46.864262 rudp/transport.cc:366] Successfully made Bootstrapping connection from [794cbca - 176.58.120.133:5483 / 176.58.120.133:5483] to [7cb0703 - 176.58.120.133:64366]
S 140689690056448 10:41:46.864516 rudp/transport.cc:366] Successfully made Bootstrapping connection from [7cb0703 - 176.58.120.133:64366 / 176.58.120.133:64366] to [794cbca - 176.58.120.133:5483]
I 140689953814336 10:41:47.115465 rudp/tests/test_utils.cc:158] Starting attempt to connect Node 2 to Node 0
I 140689953814336 10:41:47.115764 rudp/tests/test_utils.cc:172] GetAvailableEndpoint on Node 2 to Node 0 with peer_id 7cb0703..9dfa7ec returned 176.58.120.133:5483 / 176.58.120.133:5483
I 140689953814336 10:41:47.115930 rudp/tests/test_utils.cc:188] Calling GetAvailableEndpoint on Node 0 to Node 2 with peer_endpoint 176.58.120.133:5483 returned 176.58.120.133:64366 / 176.58.120.133:64366
I 140689953814336 10:41:47.116109 rudp/tests/test_utils.cc:198] Calling Add from Node 0 on 176.58.120.133:64366 to Node 2 on 176.58.120.133:5483
I 140689953814336 10:41:47.116513 rudp/tests/test_utils.cc:210] Calling Add from Node 2 on 176.58.120.133:5483 to Node 0 on 176.58.120.133:64366
I 140689690056448 10:41:47.123300 rudp/tests/test_utils.cc:312] Node 0 -- Received: Node 2's validation data
I 140689706841856 10:41:47.123535 rudp/tests/test_utils.cc:312] Node 2 -- Received: Node 0's validation data
I 140689953814336 10:41:47.123770 rudp/tests/test_utils.cc:158] Starting attempt to connect Node 2 to Node 1
I 140689953814336 10:41:47.125717 rudp/tests/test_utils.cc:172] GetAvailableEndpoint on Node 2 to Node 1 with peer_id 46f63a7..f9cde77 returned 176.58.120.133:45032 / 176.58.120.133:45032
I 140689953814336 10:41:47.127373 rudp/tests/test_utils.cc:188] Calling GetAvailableEndpoint on Node 1 to Node 2 with peer_endpoint 176.58.120.133:45032 returned 176.58.120.133:41166 / 176.58.120.133:41166
I 140689953814336 10:41:47.127527 rudp/tests/test_utils.cc:198] Calling Add from Node 1 on 176.58.120.133:41166 to Node 2 on 176.58.120.133:45032
I 140689953814336 10:41:47.128123 rudp/connection_manager.cc:129] Not currently connected to 794cbca..4f5c522
I 140689953814336 10:41:47.128275 rudp/tests/test_utils.cc:210] Calling Add from Node 2 on 176.58.120.133:45032 to Node 1 on 176.58.120.133:41166
I 140689953814336 10:41:47.128470 rudp/connection_manager.cc:129] Not currently connected to 46f63a7..f9cde77
S 140689681663744 10:41:47.130093 rudp/transport.cc:366] Successfully made Unvalidated connection from [46f63a7 - 176.58.120.133:41166 / 176.58.120.133:41166] to [794cbca - 176.58.120.133:45032]
I 140689673271040 10:41:47.131183 rudp/connection_manager.cc:238] Received a packet "0x80" for unknown connection 1077074784 from 176.58.120.133:45032
S 140689706841856 10:41:47.131512 rudp/transport.cc:366] Successfully made Unvalidated connection from [794cbca - 176.58.120.133:45032 / 176.58.120.133:45032] to [46f63a7 - 176.58.120.133:41166]
I 140689664878336 10:41:47.134203 rudp/connection_manager.cc:238] Received a packet "0x80" for unknown connection 243435049 from 176.58.120.133:41166
I 140689706841856 10:41:47.139676 rudp/tests/test_utils.cc:312] Node 2 -- Received: Node 1's validation data
I 140689673271040 10:41:47.140715 rudp/tests/test_utils.cc:312] Node 1 -- Received: Node 2's validation data
E 140689953814336 10:41:47.164003 common/asio_service.cc:47] AsioService is already running with 2 threads.
S 140689931781888 10:41:47.165740 rudp/transport.cc:366] Successfully made Bootstrapping connection from [169a0fb - 176.58.120.133:52143 / 176.58.120.133:52143] to [7cb0703 - 176.58.120.133:64366]
S 140689690056448 10:41:47.165817 rudp/transport.cc:366] Successfully made Bootstrapping connection from [7cb0703 - 176.58.120.133:64366 / 176.58.120.133:64366] to [169a0fb - 176.58.120.133:52143]
W 140689706841856 10:41:55.769172 rudp/connection.cc:547] Failed to probe from 176.58.120.133:5483 / 176.58.120.133:5483 to 176.58.120.133:64366 error - Operation canceled
I 140689664878336 10:41:55.769865 rudp/tests/test_utils.cc:319] Node 2 -- Lost connection to 794cbca..4f5c522
W 140689673271040 10:41:55.984901 rudp/connection.cc:547] Failed to probe from 176.58.120.133:18522 / 176.58.120.133:18522 to 176.58.120.133:64366 error - Operation canceled
I 140689681663744 10:41:55.985374 rudp/tests/test_utils.cc:319] Node 1 -- Lost connection to 46f63a7..f9cde77
W 140689931781888 10:41:56.069870 rudp/connection.cc:547] Failed to probe from 176.58.120.133:52143 / 176.58.120.133:52143 to 176.58.120.133:64366 error - Operation canceled
I 140689931781888 10:41:56.070518 rudp/connection.cc:321] Spuriously checking lifespan timeout of connection from 176.58.120.133:52143 / 176.58.120.133:52143 to 176.58.120.133:64366 Lifespan remaining: 00:09:51.094150

Node bootstraps off own 5483

Migrated from maidsafe-archive/MaidSafe#87

When trying to connect a node (client or vault) from one of our Linux test machines to an existing running network, and an invalid peer endpoint is passed in, it tries to bootstrap off itself because its IP is in the list of hard-coded contacts. This will make the join succeed because the node itself started listening on port 5483 before attempting to join. Subsequent RPCs will of course fail.

Expected behaviour: Fail right away when trying to connect to a non-existing network, no matter if hard-coded contact or not. Perhaps port 5483 should only ever be opened once we've got at least one connection to another node.

Rudp OnConnectionLostSlot() crash

W 139706536806144 10:44:12.633625 rudp/connection.cc:229] Failed to connect from 176.58.120.133:57162 / 176.58.120.133:57162 to 192.168.0.26:43752 - timed out.
pd-vault: /home/maidsafe/super/MaidSafe/src/rudp/src/maidsafe/rudp/managed_connections.cc:671: void maidsafe::rudp::ManagedConnections::OnConnectionLostSlot(const maidsafe::NodeId&, maidsafe::rudp::{anonymous}::TransportPtr, bool): Assertion `false' failed.

Stack trace for this issue:

pd-vault: /home/steve/projects/MaidSafe/src/rudp/src/maidsafe/rudp/managed_connections.cc:671: void maidsafe::rudp::ManagedConnections::OnConnectionLostSlot(const maidsafe::NodeId&, maidsafe::rudp::{anonymous}::TransportPtr, bool): Assertion `false' failed.

Program received signal SIGABRT, Aborted.
[Switching to Thread 0xb07ffb40 (LWP 23367)]
0xb7fdd424 in __kernel_vsyscall ()
(gdb) bt
#0  0xb7fdd424 in __kernel_vsyscall ()
#1  0xb7ddf1cf in raise () from /lib/i386-linux-gnu/libc.so.6
#2  0xb7de2815 in abort () from /lib/i386-linux-gnu/libc.so.6
#3  0xb7dd8075 in ?? () from /lib/i386-linux-gnu/libc.so.6
#4  0xb7dd8127 in __assert_fail () from /lib/i386-linux-gnu/libc.so.6
#5  0x08b51e86 in maidsafe::rudp::ManagedConnections::OnConnectionLostSlot (this=0x91df8e0, peer_id=..., transport=..., temporary_connection=false) at /home/steve/projects/MaidSafe/src/rudp/src/maidsafe/rudp/managed_connections.cc:671
#6  0x08b6138e in boost::_mfi::mf3<void, maidsafe::rudp::ManagedConnections, maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool>::operator() (this=0xb0804fc8, p=0x91df8e0, a1=..., a2=..., a3=false)
    at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/bind/mem_fn_template.hpp:393
#7  0x08b60ba2 in boost::_bi::list4<boost::_bi::value<maidsafe::rudp::ManagedConnections*>, boost::arg<1>, boost::arg<2>, boost::arg<3> >::operator()<boost::_mfi::mf3<void, maidsafe::rudp::ManagedConnections, maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool>, boost::_bi::list4<maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>&, bool&, bool&> > (this=0xb0804fd0, f=..., a=...) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/bind/bind.hpp:457
#8  0x08b60528 in boost::_bi::bind_t<void, boost::_mfi::mf3<void, maidsafe::rudp::ManagedConnections, maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool>, boost::_bi::list4<boost::_bi::value<maidsafe::rudp::ManagedConnections*>, boost::arg<1>, boost::arg<2>, boost::arg<3> > >::operator()<maidsafe::NodeId const, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool> (this=0xb0804fc8, a1=..., a2=..., a3=@0xb07fe0bc: false, a4=@0xb07fe0b8: true)
    at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/bind/bind_template.hpp:145
#9  0x08b5fc08 in boost::detail::function::void_function_obj_invoker4<boost::_bi::bind_t<void, boost::_mfi::mf3<void, maidsafe::rudp::ManagedConnections, maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool>, boost::_bi::list4<boost::_bi::value<maidsafe::rudp::ManagedConnections*>, boost::arg<1>, boost::arg<2>, boost::arg<3> > >, void, maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool>::invoke (function_obj_ptr=..., a0=..., a1=..., a2=false, a3=true)
    at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/function/function_template.hpp:153
#10 0x08ba1dca in boost::function4<void, maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool>::operator() (this=0xb0804fc4, a0=..., a1=..., a2=false, a3=true)
    at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/function/function_template.hpp:760
#11 0x08ba1879 in boost::signals2::detail::call_with_tuple_args<boost::signals2::detail::void_type>::m_invoke<boost::function<void (maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool)>, 0u, 1u, 2u, 3u, maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>&, bool&, bool&>(void*, boost::function<void (maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool)>&, boost::signals2::detail::unsigned_meta_array<0u, 1u, 2u, 3u>, std::tuple<maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>&, bool&, bool&>) const (this=0xb07fe20f, func=..., args=...) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/signals2/detail/variadic_slot_invoker.hpp:89
#12 0x08ba1140 in boost::signals2::detail::call_with_tuple_args<boost::signals2::detail::void_type>::operator()<boost::function<void (maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool)>, maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>&, bool&, bool&>(boost::function<void (maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool)>&, std::tuple<maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>&, bool&, bool&>) const
    (this=0xb07fe20f, func=..., args=...) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/signals2/detail/variadic_slot_invoker.hpp:78
#13 0x08ba0939 in boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool>::m_invoke<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool), boost::function<void (maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool)> >, boost::signals2::mutex> > >(boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool), boost::function<void (maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool)> >, boost::signals2::mutex> > const&, boost::signals2::detail::void_type const*) const (this=0xb07fe484, 
    connectionBody=...) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/signals2/detail/variadic_slot_invoker.hpp:114
#14 0x08b9ff29 in boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool>::operator()<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool), boost::function<void (maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool)> >, boost::signals2::mutex> > >(boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool), boost::function<void (maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool)> >, boost::signals2::mutex> > const&) const (this=0xb07fe484, connectionBody=...)                                          
    at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/signals2/detail/variadic_slot_invoker.hpp:107                                                                                                                                                             
#15 0x08b9db35 in boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool), boost::function<void (maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool), boost::function<void (maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool)> >, boost::signals2::mutex> >::dereference() const (this=0xb07fe304)                    
    at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/signals2/detail/slot_call_iterator.hpp:82                                                                                                                                                                 
#16 0x08b9b2bd in boost::iterator_core_access::dereference<boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool), boost::function<void (maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool), boost::function<void (maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool)> >, boost::signals2::mutex> > >(boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool), boost::function<void (maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool), boost::function<void (maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool)> >, boost::signals2::mutex> > const&) (f=...)                                                                            
    at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/iterator/iterator_facade.hpp:514                                                                                                                                                                          
#17 0x08b9868f in boost::iterator_facade<boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool), boost::function<void (maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool), boost::function<void (maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool)> >, boost::signals2::mutex> >, boost::signals2::detail::void_type, boost::single_pass_traversal_tag, boost::signals2::detail::void_type const&, int>::operator*() const (this=0xb07fe304) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/iterator/iterator_facade.hpp:639                                                     
#18 0x08b9485b in boost::signals2::optional_last_value<void>::operator()<boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool), boost::function<void (maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool), boost::function<void (maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool)> >, boost::signals2::mutex> > >(boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool), boost::function<void (maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool), boost::function<void (maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool)> >, boost::signals2::mutex> >, boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool), boost::function<void (maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool), boost::function<void (maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool)> >, boost::signals2::mutex> >) const (this=0xb0804450, first=..., last=...)                                                                                                
    at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/signals2/optional_last_value.hpp:55
#19 0x08b90da1 in boost::signals2::detail::combiner_invoker<void>::operator()<boost::signals2::optional_last_value<void>, boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool), boost::function<void (maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool), boost::function<void (maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool)> >, boost::signals2::mutex> > >(boost::signals2::optional_last_value<void>&, boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool), boost::function<void (maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool), boost::function<void (maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool)> >, boost::signals2::mutex> >, boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool), boost::function<void (maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool), boost::function<void (maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool)> >, boost::signals2::mutex> >) const (this=0xb07fe3fb, combiner=..., 
    first=..., last=...) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/signals2/detail/result_type_wrapper.hpp:64
#20 0x08b8d5e9 in boost::signals2::detail::signal_impl<void (maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool), boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void (maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool)>, boost::function<void (boost::signals2::connection const&, maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool)>, boost::signals2::mutex>::operator()(maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool) (this=0xb0800768, args#0=..., args#1=..., args#2=false, args#3=true) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/signals2/detail/signal_template.hpp:246
#21 0x08b8ad92 in boost::signals2::signal<void (maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool), boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void (maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool)>, boost::function<void (boost::signals2::connection const&, maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool)>, boost::signals2::mutex>::operator()(maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool) (this=0xb0804dc0, args#0=..., args#1=..., args#2=false, args#3=true) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/signals2/detail/signal_template.hpp:695
#22 0x08b866c6 in maidsafe::rudp::detail::Transport::DoRemoveConnection (this=0xb0804d80, connection=..., timed_out=true) at /home/steve/projects/MaidSafe/src/rudp/src/maidsafe/rudp/transport.cc:399
#23 0x08b9fa4c in std::_Mem_fn<void (maidsafe::rudp::detail::Transport::*)(std::shared_ptr<maidsafe::rudp::detail::Connection>, bool)>::_M_call<std::shared_ptr<maidsafe::rudp::detail::Transport> > (this=0xb07fe7c4, __ptr=..., __args#0=..., __args#1=true)
    at /usr/include/c++/4.6/functional:536
#24 0x08b9d958 in std::_Mem_fn<void (maidsafe::rudp::detail::Transport::*)(std::shared_ptr<maidsafe::rudp::detail::Connection>, bool)>::operator()<std::shared_ptr<maidsafe::rudp::detail::Transport> > (this=0xb07fe7c4, __object=..., __args#0=..., __args#1=true)
    at /usr/include/c++/4.6/functional:559
#25 0x08b9b028 in std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Transport::*)(std::shared_ptr<maidsafe::rudp::detail::Connection>, bool)> (std::shared_ptr<maidsafe::rudp::detail::Transport>, std::shared_ptr<maidsafe::rudp::detail::Connection>, bool)>::__call<void, , 0, 1, 2>(std::tuple<>&&, std::_Index_tuple<0, 1, 2>) (this=0xb07fe7c4, __args=...) at /usr/include/c++/4.6/functional:1146
#26 0x08b98033 in std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Transport::*)(std::shared_ptr<maidsafe::rudp::detail::Connection>, bool)> (std::shared_ptr<maidsafe::rudp::detail::Transport>, std::shared_ptr<maidsafe::rudp::detail::Connection>, bool)>::operator()<, void>() (this=0xb07fe7c4) at /usr/include/c++/4.6/functional:1205
#27 0x08b941ef in boost::asio::asio_handler_invoke<std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Transport::*)(std::shared_ptr<maidsafe::rudp::detail::Connection>, bool)> (std::shared_ptr<maidsafe::rudp::detail::Transport>, std::shared_ptr<maidsafe::rudp::detail::Connection>, bool)> >(std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Transport::*)(std::shared_ptr<maidsafe::rudp::detail::Connection>, bool)> (std::shared_ptr<maidsafe::rudp::detail::Transport>, std::shared_ptr<maidsafe::rudp::detail::Connection>, bool)>, ...)
    (function=...) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/handler_invoke_hook.hpp:64
#28 0x08b90793 in boost_asio_handler_invoke_helpers::invoke<std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Transport::*)(std::shared_ptr<maidsafe::rudp::detail::Connection>, bool)> (std::shared_ptr<maidsafe::rudp::detail::Transport>, std::shared_ptr<maidsafe::rudp::detail::Connection>, bool)>, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Transport::*)(std::shared_ptr<maidsafe::rudp::detail::Connection>, bool)> (std::shared_ptr<maidsafe::rudp::detail::Transport>, std::shared_ptr<maidsafe::rudp::detail::Connection>, bool)> >(std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Transport::*)(std::shared_ptr<maidsafe::rudp::detail::Connection>, bool)> (std::shared_ptr<maidsafe::rudp::detail::Transport>, std::shared_ptr<maidsafe::rudp::detail::Connection>, bool)>&, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Transport::*)(std::shared_ptr<maidsafe::rudp::detail::Connection>, bool)> (std::shared_ptr<maidsafe::rudp::detail::Transport>, std::shared_ptr<maidsafe::rudp::detail::Connection>, bool)>&) (function=..., context=...)
    at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/detail/handler_invoke_helpers.hpp:39
#29 0x08b8d127 in boost::asio::detail::strand_service::dispatch<std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Transport::*)(std::shared_ptr<maidsafe::rudp::detail::Connection>, bool)> (std::shared_ptr<maidsafe::rudp::detail::Transport>, std::shared_ptr<maidsafe::rudp::detail::Connection>, bool)> >(boost::asio::detail::strand_service::strand_impl*&, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Transport::*)(std::shared_ptr<maidsafe::rudp::detail::Connection>, bool)> (std::shared_ptr<maidsafe::rudp::detail::Transport>, std::shared_ptr<maidsafe::rudp::detail::Connection>, bool)>) (this=0x91f3da0, impl=@0xb0804d98: 0xb0800628, handler=...) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/detail/impl/strand_service.hpp:61
#30 0x08b8ad03 in boost::asio::io_service::strand::dispatch<std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Transport::*)(std::shared_ptr<maidsafe::rudp::detail::Connection>, bool)> (std::shared_ptr<maidsafe::rudp::detail::Transport>, std::shared_ptr<maidsafe::rudp::detail::Connection>, bool)> >(std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Transport::*)(std::shared_ptr<maidsafe::rudp::detail::Connection>, bool)> (std::shared_ptr<maidsafe::rudp::detail::Transport>, std::shared_ptr<maidsafe::rudp::detail::Connection>, bool)>&&) (this=0xb0804d94, handler=...) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/strand.hpp:149
#31 0x08b864ee in maidsafe::rudp::detail::Transport::RemoveConnection (this=0xb0804d80, connection=..., timed_out=true) at /home/steve/projects/MaidSafe/src/rudp/src/maidsafe/rudp/transport.cc:380
#32 0x08ba46d5 in maidsafe::rudp::detail::Connection::DoClose (this=0xb0910794, timed_out=true) at /home/steve/projects/MaidSafe/src/rudp/src/maidsafe/rudp/connection.cc:96
#33 0x08ba59c6 in maidsafe::rudp::detail::Connection::CheckTimeout (this=0xb0910794, ec=...) at /home/steve/projects/MaidSafe/src/rudp/src/maidsafe/rudp/connection.cc:232
#34 0x08bc1306 in std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)>::_M_call<std::shared_ptr<maidsafe::rudp::detail::Connection> > (this=0xb07fed28, __ptr=..., __args#0=...) at /usr/include/c++/4.6/functional:536
#35 0x08bc10fa in std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)>::operator()<std::shared_ptr<maidsafe::rudp::detail::Connection> > (this=0xb07fed28, __object=..., __args#0=...) at /usr/include/c++/4.6/functional:559
#36 0x08bc0df2 in std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)>::__call<void, boost::system::error_code const&, 0, 1>(std::tuple<boost::system::error_code const&>&&, std::_Index_tuple<0, 1>) (this=0xb07fed28, __args=...) at /usr/include/c++/4.6/functional:1146
#37 0x08bc0800 in std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)>::operator()<boost::system::error_code const&, void>(boost::system::error_code const&) (this=0xb07fed28) at /usr/include/c++/4.6/functional:1205
#38 0x08bc0009 in boost::asio::detail::binder1<std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)>, boost::system::error_code>::operator()()
    (this=0xb07fed28) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/detail/bind_handler.hpp:46
#39 0x08bbf3ac in boost::asio::asio_handler_invoke<boost::asio::detail::binder1<std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)>, boost::system::error_code> >(boost::asio::detail::binder1<std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)>, boost::system::error_code>, ...) (
    function=...) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/handler_invoke_hook.hpp:64
#40 0x08bbe7b3 in boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder1<std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)>, boost::system::error_code>, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)> >(boost::asio::detail::binder1<std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)>, boost::system::error_code>&, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)>&) (function=..., context=...) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/detail/handler_invoke_helpers.hpp:39
#41 0x08bbdf4e in boost::asio::detail::asio_handler_invoke<boost::asio::detail::binder1<std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)>, boost::system::error_code>, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)>, boost::system::error_code>(boost::asio::detail::binder1<std::_---Type <return> to continue, or q <return> to quit---
Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)>, boost::system::error_code>&, boost::asio::detail::binder1<std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)>, boost::system::error_code>*) (function=..., this_handler=0xb07fee18)
    at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/detail/bind_handler.hpp:79
#42 0x08bbd873 in boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder1<std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)>, boost::system::error_code>, boost::asio::detail::binder1<std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)>, boost::system::error_code> >(boost::asio::detail::binder1<std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)>, boost::system::error_code>&, boost::asio::detail::binder1<std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)>, boost::system::error_code>&) (function=..., context=...)
    at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/detail/handler_invoke_helpers.hpp:39
#43 0x08bbd47d in boost::asio::detail::strand_service::dispatch<boost::asio::detail::binder1<std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)>, boost::system::error_code> >(boost::asio::detail::strand_service::strand_impl*&, boost::asio::detail::binder1<std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)>, boost::system::error_code>) (this=0x91f3da0, impl=@0xb07fef14: 0xb0800628, handler=...) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/detail/impl/strand_service.hpp:61
#44 0x08bbd267 in boost::asio::io_service::strand::dispatch<boost::asio::detail::binder1<std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)>, boost::system::error_code> >(boost::asio::detail::binder1<std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)>, boost::system::error_code>&&)
    (this=0xb07fef10, handler=...) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/strand.hpp:149
#45 0x08bbcfc8 in boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)> >::operator()<boost::system::error_code>(boost::system::error_code const&) (this=0xb07fef10, arg1=...) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/detail/wrapped_handler.hpp:67
#46 0x08bbcb05 in boost::asio::detail::binder1<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)> >, boost::system::error_code>::operator()() (this=0xb07fef10) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/detail/bind_handler.hpp:46
#47 0x08bbc578 in boost::asio::detail::rewrapped_handler<boost::asio::detail::binder1<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)> >, boost::system::error_code>, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)> >::operator()() (this=0xb07fef00) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/detail/wrapped_handler.hpp:171
#48 0x08bbbc8c in boost::asio::asio_handler_invoke<boost::asio::detail::rewrapped_handler<boost::asio::detail::binder1<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)> >, boost::system::error_code>, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)> > >(boost::asio::detail::rewrapped_handler<boost::asio::detail::binder1<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)> >, boost::system::error_code>, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)> >, ...) (function=...) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/handler_invoke_hook.hpp:64
#49 0x08bbad1d in boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::rewrapped_handler<boost::asio::detail::binder1<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)> >, boost::system::error_code>, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)> >, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)> >(boost::asio::detail::rewrapped_handler<boost::asio::detail::binder1<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)> >, boost::system::error_code>, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)> >&, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)>&) (function=..., context=...)
    at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/detail/handler_invoke_helpers.hpp:39
#50 0x08bb9cf1 in boost::asio::detail::asio_handler_invoke<boost::asio::detail::rewrapped_handler<boost::asio::detail::binder1<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)> >, boost::system::error_code>, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)> >, boost::asio::detail::binder1<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)> >, boost::system::error_code>, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)> >(boost::asio::detail::rewrapped_handler<boost::asio::detail::binder1<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)> >, boost::system::error_code>, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)> >&, boost::asio::detail::rewrapped_handler<boost::asio::detail::binder1<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)> >, boost::system::error_code>, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)> >*) (
    function=..., this_handler=0xb07fef9c) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/detail/wrapped_handler.hpp:238
#51 0x08bb900f in boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::rewrapped_handler<boost::asio::detail::binder1<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)> >, boost::system::error_code>, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)> >, boost::asio::detail::rewrapped_handler<boost::asio::detail::binder1<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)> >, boost::system::error_code>, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)> > >(boost::asio::detail::rewrapped_handler<boost::asio::detail::binder1<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)> >, boost::system::error_code>, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)> >&, boost::asio::detail::rewrapped_handler<boost::asio::detail::binder1<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)> >, boost::system::error_code>, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)> >&) (function=..., context=...) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/detail/handler_invoke_helpers.hpp:39
#52 0x08bb919c in boost::asio::detail::completion_handler<boost::asio::detail::rewrapped_handler<boost::asio::detail::binder1<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)> >, boost::system::error_code>, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)> > >::do_complete(boost::asio::detail::task_io_service*, boost::asio::detail::task_io_service_operation*, boost::system::error_code const&, unsigned int) (owner=0x91e5468, base=0xb090e358)
    at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/detail/completion_handler.hpp:67
#53 0x08bb84fc in boost::asio::detail::strand_service::dispatch<boost::asio::detail::rewrapped_handler<boost::asio::detail::binder1<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)> >, boost::system::error_code>, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)> > >(boost::asio::detail::strand_service::strand_impl*&, boost::asio::detail::rewrapped_handler<boost::asio::detail::binder1<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)> >, boost::system::error_code>, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)> >) (this=0x91f3da0, impl=@0xb07ff140: 0xb0800628, handler=...) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/detail/impl/strand_service.hpp:87
#54 0x08bb7b11 in boost::asio::io_service::strand::dispatch<boost::asio::detail::rewrapped_handler<boost::asio::detail::binder1<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)> >, boost::system::error_code>, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)> > >(boost::asio::detail::rewrapped_handler<boost::asio::detail::binder1<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)> >, boost::system::error_code>, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)> >&&) (this=0xb07ff13c, handler=...) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/strand.hpp:149
#55 0x08bb6b6f in boost::asio::detail::asio_handler_invoke<boost::asio::detail::binder1<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)> >, boost::system::error_code>, boost::asio::io_service::strand, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)> >(boost::asio::detail::binder1<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)> >, boost::system::error_code>&, boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)> >*) (function=..., this_handler=0xb07ff13c) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/detail/wrapped_handler.hpp:204
#56 0x08bb546d in boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder1<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)> >, boost::system::error_code>, boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)> > >(boost::asio::detail::binder1<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)> >, boost::system::error_code>&, boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)> >&) (function=..., context=...) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/detail/handler_invoke_helpers.hpp:39
#57 0x08bb40d2 in boost::asio::detail::wait_handler<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>)> > >::do_complete(boost::asio::detail::task_io_service*, boost::asio::detail::task_io_service_operation*, boost::system::error_code const&, unsigned int) (owner=0x91e5468, base=0xb0902af8)
    at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/detail/wait_handler.hpp:69
#58 0x08abbf7f in boost::asio::detail::task_io_service_operation::complete (this=0xb0902af8, owner=..., ec=..., bytes_transferred=0) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/detail/task_io_service_operation.hpp:37
#59 0x08bf7b08 in boost::asio::detail::task_io_service::do_run_one (this=0x91e5468, lock=..., this_thread=..., ec=...) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/detail/impl/task_io_service.ipp:419
#60 0x08bf7851 in boost::asio::detail::task_io_service::run (this=0x91e5468, ec=...) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/detail/impl/task_io_service.ipp:160
#61 0x08bf7cbe in boost::asio::io_service::run (this=0x91df8e0) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/impl/io_service.ipp:59
#62 0x08bf5b57 in operator() (this=0x91e4a0c) at /home/steve/projects/MaidSafe/src/common/src/maidsafe/common/asio_service.cc:78
#63 0x08bf717e in boost::detail::thread_data<maidsafe::AsioService::Start()::<lambda()> >::run(void) (this=0x91e4908) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/thread/detail/thread.hpp:74
#64 0x08d9777e in thread_proxy ()
#65 0xb7fb0d4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#66 0xb7e9b8ae in clone () from /lib/i386-linux-gnu/libc.so.6

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.