For full details, see https://github.com/maidsafe/MaidSafe-RUDP/wiki
maidsafe-archive / maidsafe-rudp Goto Github PK
View Code? Open in Web Editor NEWImplementation of Reliable UDP
License: Other
Implementation of Reliable UDP
License: Other
For full details, see https://github.com/maidsafe/MaidSafe-RUDP/wiki
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.
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.
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)
Migrated from maidsafe-archive/MaidSafe#8
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.
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
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
Migrated from maidsafe-archive/MaidSafe#93
Steps to reproduce:
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.
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
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.
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
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.