Giter VIP home page Giter VIP logo

maidsafe-archive / maidsafe Goto Github PK

View Code? Open in Web Editor NEW
583.0 583.0 101.0 99.82 MB

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

License: Other

CMake 1.63% C++ 63.18% Makefile 0.71% C 28.83% Assembly 0.40% Shell 3.33% Python 1.70% Objective-C 0.08% M4 0.12% HTML 0.02%

maidsafe's People

Contributors

andrewleung1 avatar chandraprakash avatar dan-schmidt avatar dirvine avatar jbmaidsafe avatar jenkins-nedprod avatar justinemclevy avatar map-s avatar maqi avatar mrobertsonmaid avatar nikolakoco avatar not-fraser999 avatar philip-yuile avatar s-coyle avatar smspillaz avatar ustulation 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  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  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

maidsafe's Issues

Mac MS-Common Fails to build on error_codes branch

Mac OS: 10.8
Compiler: Clang

Super Project Branch: master

Users/scottmackenzie/Development/MaidSafe/src/common/src/maidsafe/common/error.cc:76:33: error: call to implicitly-deleted default
constructor of 'detail::CommonCategory'

/Users/scottmackenzie/Development/MaidSafe/src/common/src/maidsafe/common/error.cc:81:32: error: call to implicitly-deleted default
constructor of 'detail::AsymmCategory'

/Users/scottmackenzie/Development/MaidSafe/src/common/src/maidsafe/common/error.cc:86:30: error: call to implicitly-deleted default
constructor of 'detail::FobCategory'

/Users/scottmackenzie/Development/MaidSafe/src/common/src/maidsafe/common/error.cc:91:36: error: call to implicitly-deleted default
constructor of 'detail::LifeStuffCategory'

VaultChunkManager doesn't retry to retrieve invalid chunks

When iterating through the list of chunk holders, VCM only retries to get the chunk (from another holder) if the Get RPC failed, not if the chunk could be retrieved but turned out to be invalid. In that case it just gives up.

Relevant changes need to be done in VaultChunkManager::GetCallback and the test extended.

PdTest.FUNC_ChunkDeletionForMutipleClients

ChunkDeletionForMultipleClients & ChunkSharing both fail on Windows, most frequently on checking the results of the initial attempts to store chunks to the network (code common to both tests).

Both tests pass on linux.

Routing destruction crashes on AsioService::Stop()

Routing destruction crashes on AsioService::Stop().
Reproduced by running any Routing API test after commenting out "boost::this_thread::disable_interruption disable_interruption" from ~RoutingPrivate().

ChunkInfoHandler::SerialiseChunkInfo throws due to uninitialised bounded string

This causes occasional exceptions in synchronisation and backup.

#9  0x088461c4 in maidsafe::ThrowError (code=...) at /home/steve/projects/MaidSafe/src/common/include/maidsafe/common/error.h:561
#10 0x0887d4f0 in maidsafe::detail::BoundedString<1u, 4294967295u>::string (this=0xb2405dc0) at /home/steve/projects/MaidSafe/src/common/include/maidsafe/common/bounded_string.h:139
#11 0x0889f937 in operator() (this=0xb2dfe21c, info=...) at /home/steve/projects/MaidSafe/src/pd/src/maidsafe/pd/vault/chunk_info_handler.cc:916
#12 0x088a0e6b in std::for_each<std::_Rb_tree_iterator<std::pair<const maidsafe::detail::BoundedString<64u, 65u>, maidsafe::pd::vault::ChunkInfoHandler::ChunkInfo> >, maidsafe::pd::vault::ChunkInfoHandler::SerialiseChunkInfo()::<lambda(const value_type&)> >(std::_Rb_tree_iterator<std::pair<maidsafe::detail::BoundedString<64u, 65u> const, maidsafe::pd::vault::ChunkInfoHandler::ChunkInfo> >, std::_Rb_tree_iterator<std::pair<maidsafe::detail::BoundedString<64u, 65u> const, maidsafe::pd::vault::ChunkInfoHandler::ChunkInfo> >, struct {...})
    (__first=..., __last=..., __f=...) at /usr/include/c++/4.6/bits/stl_algo.h:4379
#13 0x0889fb64 in maidsafe::pd::vault::ChunkInfoHandler::SerialiseChunkInfo (this=0x923d308) at /home/steve/projects/MaidSafe/src/pd/src/maidsafe/pd/vault/chunk_info_handler.cc:920
#14 0x08867035 in maidsafe::pd::vault::Node::GetSyncData (this=0x92080e4, response=0xb2dfee04) at /home/steve/projects/MaidSafe/src/pd/src/maidsafe/pd/vault/node.cc:947
#15 0x0885f9be in maidsafe::pd::vault::Node::OnMessageReceived(maidsafe::pd::RpcMessageType const&, std::string const&, maidsafe::pd::Contact const&, maidsafe::NodeId const&, maidsafe::pd::SecurityType const&, bool, std::function<void (std::string const&, maidsafe::pd::SecurityType const&)> const&) (this=0x92080e4, message_type=@0xb2dff04c: maidsafe::pd::kSyncGetSyncData, message=..., sender=..., group_claim=..., security_type=..., cache_lookup=false, reply_functor=...)
    at /home/steve/projects/MaidSafe/src/pd/src/maidsafe/pd/vault/node.cc:514
#9  0x088461c4 in maidsafe::ThrowError (code=...) at /home/steve/projects/MaidSafe/src/common/include/maidsafe/common/error.h:561
#10 0x0887d4f0 in maidsafe::detail::BoundedString<1u, 4294967295u>::string (this=0xb39009e0) at /home/steve/projects/MaidSafe/src/common/include/maidsafe/common/bounded_string.h:139
#11 0x0889f937 in operator() (this=0xb4dfcccc, info=...) at /home/steve/projects/MaidSafe/src/pd/src/maidsafe/pd/vault/chunk_info_handler.cc:916
#12 0x088a0e6b in std::for_each<std::_Rb_tree_iterator<std::pair<const maidsafe::detail::BoundedString<64u, 65u>, maidsafe::pd::vault::ChunkInfoHandler::ChunkInfo> >, maidsafe::pd::vault::ChunkInfoHandler::SerialiseChunkInfo()::<lambda(const value_type&)> >(std::_Rb_tree_iterator<std::pair<maidsafe::detail::BoundedString<64u, 65u> const, maidsafe::pd::vault::ChunkInfoHandler::ChunkInfo> >, std::_Rb_tree_iterator<std::pair<maidsafe::detail::BoundedString<64u, 65u> const, maidsafe::pd::vault::ChunkInfoHandler::ChunkInfo> >, struct {...})
    (__first=..., __last=..., __f=...) at /usr/include/c++/4.6/bits/stl_algo.h:4379
#13 0x0889fb64 in maidsafe::pd::vault::ChunkInfoHandler::SerialiseChunkInfo (this=0x9258f30) at /home/steve/projects/MaidSafe/src/pd/src/maidsafe/pd/vault/chunk_info_handler.cc:920
#14 0x08863fde in maidsafe::pd::vault::Node::BackupState (this=0x92080e4) at /home/steve/projects/MaidSafe/src/pd/src/maidsafe/pd/vault/node.cc:789
#15 0x08863dfd in operator() (this=0xb3a007e0) at /home/steve/projects/MaidSafe/src/pd/src/maidsafe/pd/vault/node.cc:797
#16 0x08869b21 in std::_Function_handler<void(), maidsafe::pd::vault::Node::BackupState()::<lambda()> >::_M_invoke(const std::_Any_data &) (__functor=...) at /usr/include/c++/4.6/functional:1778
#17 0x08a4fa7e in std::function<void ()>::operator()() const (this=0xb4dfcf9c) at /usr/include/c++/4.6/functional:2161
#18 0x08a533e6 in maidsafe::pd::TimedEventHandler::HandleEvent(boost::system::error_code const&, unsigned int const&, std::function<void ()>) (this=0x9205e30, error=..., timer_id=@0xb4dfd0ec: 901197864, callback=...)
    at /home/steve/projects/MaidSafe/src/pd/src/maidsafe/pd/common/timed_event_handler.cc:67

Account synchronisation not merging correctly

When setting up a large network gradually, i.e. adding many vaults one by one, synchronisation retrieves unrealistically many account records from neighbour nodes. Below logs show these numbers in comparison to chunk info records. This also causes RUDP errors because the messages exceed the 2 MB limit.

I 3032476480 11:35:13.665075 pd/vault/node.cc:687] GetSyncDataCallback - 5b0de95..c773f72 - Got 2 data sets from 5e46659..4946d5c
I 3013593920 11:35:14.387877 pd/vault/node.cc:687] GetSyncDataCallback - 5b0de95..c773f72 - Got 2 data sets from 531e145..4f88c50
S 3032476480 11:35:14.436728 pd/vault/account_handler.cc:442] ParseAccounts - Parsed 426996 records.
S 3032476480 11:35:14.572739 pd/vault/chunk_info_handler.cc:1040] ParseChunkInfo - Parsed 54 records.
I 3021986624 11:35:14.631803 pd/vault/node.cc:687] GetSyncDataCallback - 5b0de95..c773f72 - Got 2 data sets from 5c84279..4dcbd7e
S 3013593920 11:35:15.285561 pd/vault/account_handler.cc:442] ParseAccounts - Parsed 587562 records.
S 3013593920 11:35:15.440386 pd/vault/chunk_info_handler.cc:1040] ParseChunkInfo - Parsed 21 records.
S 3021986624 11:35:16.191656 pd/vault/account_handler.cc:442] ParseAccounts - Parsed 577555 records.
S 3021986624 11:35:16.339507 pd/vault/chunk_info_handler.cc:1040] ParseChunkInfo - Parsed 27 records.
I 3040869184 11:35:27.849144 pd/vault/node.cc:687] GetSyncDataCallback - 5b0de95..c773f72 - Got 2 data sets from 3988fe5..cb203dd
S 3040869184 11:35:27.856522 pd/vault/account_handler.cc:442] ParseAccounts - Parsed 2224 records.
S 3040869184 11:35:27.869557 pd/vault/chunk_info_handler.cc:1040] ParseChunkInfo - Parsed 38 records.
E 2961177408 11:35:27.882465 rudp/connection.cc:185] Data size 2451074 bytes (exceeds limit of 2097152)
I 3030383424 11:35:56.641268 pd/vault/node.cc:687] GetSyncDataCallback - 8a59f27..68e42eb - Got 2 data sets from 91d266f..2024c55
S 3030383424 11:35:56.678484 pd/vault/account_handler.cc:442] ParseAccounts - Parsed 27755 records.
S 3030383424 11:35:56.691295 pd/vault/chunk_info_handler.cc:1040] ParseChunkInfo - Parsed 39 records.

Invigilator Tests Failing

Project: MaidSafe-Private

Dependencies: MaidSafe-Common

Machine: Win x64 - Release

Failing tests:

DownloadTest.BEH_Update_HasLatestVersion
InvigilatorTest.FUNC_StartStop - Timeout

Assertion `(*itr)->IsIdle()' in ManagedConnections::OnConnectionAddedSlot

pd-vault: /home/steve/projects/MaidSafe/src/rudp/src/maidsafe/rudp/managed_connections.cc:663: void maidsafe::rudp::ManagedConnections::OnConnectionAddedSlot(const maidsafe::NodeId&, maidsafe::rudp::{anonymous}::TransportPtr, bool, bool&): Assertion `(*itr)->IsIdle()' failed.
#0  0xb7fdd424 in __kernel_vsyscall ()                                                                                                                                                                                                                                          
#1  0xb7dda1df in raise () from /lib/i386-linux-gnu/libc.so.6                                                                                                                                                                                                                   
#2  0xb7ddd825 in abort () from /lib/i386-linux-gnu/libc.so.6                                                                                                                                                                                                                   
#3  0xb7dd3085 in ?? () from /lib/i386-linux-gnu/libc.so.6                                                                                                                                                                                                                      
#4  0xb7dd3137 in __assert_fail () from /lib/i386-linux-gnu/libc.so.6                                                                                                                                                                                                           
#5  0x08b94034 in maidsafe::rudp::ManagedConnections::OnConnectionAddedSlot (this=0x925f6d8, peer_id=..., transport=..., temporary_connection=false, is_duplicate_normal_connection=@0xb07fe5b4: false)                                                                         
    at /home/steve/projects/MaidSafe/src/rudp/src/maidsafe/rudp/managed_connections.cc:663                                                                                                                                                                                      
#6  0x08ba43b7 in boost::_mfi::mf4<void, maidsafe::rudp::ManagedConnections, maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool&>::operator() (this=0xb08066b0, p=0x925f6d8, a1=..., a2=..., a3=false, a4=@0xb07fe5b4: false)              
    at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/bind/mem_fn_template.hpp:506                                                                                                                                                                              
#7  0x08ba3c0d in boost::_bi::list5<boost::_bi::value<maidsafe::rudp::ManagedConnections*>, boost::arg<1>, boost::arg<2>, boost::arg<3>, boost::arg<4> >::operator()<boost::_mfi::mf4<void, maidsafe::rudp::ManagedConnections, maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool&>, boost::_bi::list4<maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>&, bool&, bool&> > (this=0xb08066b8, f=..., a=...)                                                                                      
    at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/bind/bind.hpp:525                                                                                                                                                                                         
#8  0x08ba3586 in boost::_bi::bind_t<void, boost::_mfi::mf4<void, maidsafe::rudp::ManagedConnections, maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool&>, boost::_bi::list5<boost::_bi::value<maidsafe::rudp::ManagedConnections*>, boost::arg<1>, boost::arg<2>, boost::arg<3>, boost::arg<4> > >::operator()<maidsafe::NodeId const, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool> (this=0xb08066b0, a1=..., a2=..., a3=@0xb07fddac: false, a4=@0xb07fe5b4: false)                                   
    at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/bind/bind_template.hpp:145                                                                                                                                                                                
#9  0x08ba2c34 in boost::detail::function::void_function_obj_invoker4<boost::_bi::bind_t<void, boost::_mfi::mf4<void, maidsafe::rudp::ManagedConnections, maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool&>, boost::_bi::list5<boost::_bi::value<maidsafe::rudp::ManagedConnections*>, boost::arg<1>, boost::arg<2>, boost::arg<3>, boost::arg<4> > >, void, maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool&>::invoke (function_obj_ptr=..., a0=..., a1=..., a2=false,         
    a3=@0xb07fe5b4: false) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/function/function_template.hpp:153                                                                                                                                                 
#10 0x08be639b in boost::function4<void, maidsafe::NodeId const&, std::shared_ptr<maidsafe::rudp::detail::Transport>, bool, bool&>::operator() (this=0xb08066ac, a0=..., a1=..., a2=false, a3=@0xb07fe5b4: false)                                                               
    at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/function/function_template.hpp:760                                                                                                                                                                        
#11 0x08be5e73 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=0xb07fdeff, func=..., args=...) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/signals2/detail/variadic_slot_invoker.hpp:89                                          
#12 0x08be576c 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=0xb07fdeff, func=..., args=...) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/signals2/detail/variadic_slot_invoker.hpp:78                                                                                                                             
#13 0x08be4f03 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=0xb07fe174,                   
    connectionBody=...) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/signals2/detail/variadic_slot_invoker.hpp:114                                                                                                                                         
#14 0x08be3fcd 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---Type <return> to continue, or q <return> to quit---                                                                                                                                                                                                                           
<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=0xb07fe174, connectionBody=...)
    at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/signals2/detail/variadic_slot_invoker.hpp:107
#15 0x08be1d47 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=0xb07fdff4)
    at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/signals2/detail/slot_call_iterator.hpp:82
#16 0x08bdf441 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 0x08bdc495 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=0xb07fdff4) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/iterator/iterator_facade.hpp:639
#18 0x08bd85d3 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=0xb0806e10, first=..., last=...)
    at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/signals2/optional_last_value.hpp:55
#19 0x08bd4aaf 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=0xb07fe0eb, 
    combiner=..., first=..., last=...) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/signals2/detail/result_type_wrapper.hpp:64
#20 0x08bd12d3 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=0xb0806de8, args#0=..., args#1=..., args#2=false, args#3=@0xb07fe5b4: false) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/signals2/detail/signal_template.hpp:246
#21 0x08bcf05a 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=0xb080674c, args#0=..., args#1=..., args#2=false, args#3=@0xb07fe5b4: false) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/signals2/detail/signal_template.hpp:695
#22 0x08bc9e2f in maidsafe::rudp::detail::Transport::DoAddConnection (this=0xb0806718, connection=...) at /home/steve/projects/MaidSafe/src/rudp/src/maidsafe/rudp/transport.cc:359
#23 0x08be3ac1 in std::_Mem_fn<void (maidsafe::rudp::detail::Transport::*)(std::shared_ptr<maidsafe::rudp::detail::Connection>)>::_M_call<std::shared_ptr<maidsafe::rudp::detail::Transport> > (this=0xb07fe6f8, __ptr=..., __args#0=...)
    at /usr/include/c++/4.6/functional:536
#24 0x08be1b3b in std::_Mem_fn<void (maidsafe::rudp::detail::Transport::*)(std::shared_ptr<maidsafe::rudp::detail::Connection>)>::operator()<std::shared_ptr<maidsafe::rudp::detail::Transport> > (this=0xb07fe6f8, __object=..., __args#0=...)
    at /usr/include/c++/4.6/functional:559
#25 0x08bdf17c in std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Transport::*)(std::shared_ptr<maidsafe::rudp::detail::Connection>)> (std::shared_ptr<maidsafe::rudp::detail::Transport>, std::shared_ptr<maidsafe::rudp::detail::Connection>)>::__call<void, , 0, 1>(std::tuple<>&&, std::_Index_tuple<0, 1>) (this=0xb07fe6f8, __args=...) at /usr/include/c++/4.6/functional:1146
#26 0x08bdbe13 in std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Transport::*)(std::shared_ptr<maidsafe::rudp::detail::Connection>)> (std::shared_ptr<maidsafe::rudp::detail::Transport>, std::shared_ptr<maidsafe::rudp::detail::Connection>)>::operator()<, void>() (
    this=0xb07fe6f8) at /usr/include/c++/4.6/functional:1205
#27 0x08bd7f67 in boost::asio::asio_handler_invoke<std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Transport::*)(std::shared_ptr<maidsafe::rudp::detail::Connection>)> (std::shared_ptr<maidsafe::rudp::detail::Transport>, std::shared_ptr<maidsafe::rudp::detail::Connection>)> >(std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Transport::*)(std::shared_ptr<maidsafe::rudp::detail::Connection>)> (std::shared_ptr<maidsafe::rudp::detail::Transport>, std::shared_ptr<maidsafe::rudp::detail::Connection>)>, ...) (function=...)
    at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/handler_invoke_hook.hpp:64
#28 0x08bd431f in boost_asio_handler_invoke_helpers::invoke<std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Transport::*)(std::shared_ptr<maidsafe::rudp::detail::Connection>)> (std::shared_ptr<maidsafe::rudp::detail::Transport>, std::shared_ptr<maidsafe::rudp::detail::Connection>)>, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Transport::*)(std::shared_ptr<maidsafe::rudp::detail::Connection>)> (std::shared_ptr<maidsafe::rudp::detail::Transport>, std::shared_ptr<maidsafe::rudp::detail::Connection>)> >(std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Transport::*)(std::shared_ptr<maidsafe::rudp::detail::Connection>)> (std::shared_ptr<maidsafe::rudp::detail::Transport>, std::shared_ptr<maidsafe::rudp::detail::Connection>)>&, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Transport::*)(std::shared_ptr<maidsafe::rudp::detail::Connection>)> (std::shared_ptr<maidsafe::rudp::detail::Transport>, std::shared_ptr<maidsafe::rudp::detail::Connection>)>&) (function=..., context=...)
    at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/detail/handler_invoke_helpers.hpp:39
#29 0x08bd0e11 in boost::asio::detail::strand_service::dispatch<std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Transport::*)(std::shared_ptr<maidsafe::rudp::detail::Connection>)> (std::shared_ptr<maidsafe::rudp::detail::Transport>, std::shared_ptr<maidsafe::rudp::detail::Connection>)> >(boost::asio::detail::strand_service::strand_impl*&, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Transport::*)(std::shared_ptr<maidsafe::rudp::detail::Connection>)> (std::shared_ptr<maidsafe::rudp::detail::Transport>, std::shared_ptr<maidsafe::rudp::detail::Connection>)>) (this=0x9233a38, impl=@0xb0806730: 0xb08067a0, handler=...) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/detail/impl/strand_service.hpp:61
#30 0x08bcee59 in boost::asio::io_service::strand::dispatch<std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Transport::*)(std::shared_ptr<maidsafe::rudp::detail::Connection>)> (std::shared_ptr<maidsafe::rudp::detail::Transport>, std::shared_ptr<maidsafe::rudp::detail::Connection>)> >(std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Transport::*)(std::shared_ptr<maidsafe::rudp::detail::Connection>)> (std::shared_ptr<maidsafe::rudp::detail::Transport>, std::shared_ptr<maidsafe::rudp::detail::Connection>)>&&) (this=0xb080672c, 
    handler=...) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/strand.hpp:149
#31 0x08bc9a9b in maidsafe::rudp::detail::Transport::AddConnection (this=0xb0806718, connection=...) at /home/steve/projects/MaidSafe/src/rudp/src/maidsafe/rudp/transport.cc:339
#32 0x08bebc45 in maidsafe::rudp::detail::Connection::HandleConnect(boost::system::error_code const&, std::string const&, std::function<void (int)>) (this=0xaf62004c, ec=..., validation_data=..., ping_functor=...)
    at /home/steve/projects/MaidSafe/src/rudp/src/maidsafe/rudp/connection.cc:382
#33 0x08c07f38 in std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&, std::string const&, std::function<void (int)>)>::_M_call<std::shared_ptr<maidsafe::rudp::detail::Connection> >(std::shared_ptr<maidsafe::rudp::detail::Connection>&, void const volatile*, boost::system::error_code const&, std::string const&, std::function<void (int)>) const (this=0xb07fed40, __ptr=..., __args#0=..., __args#1=..., __args#2=...) at /usr/include/c++/4.6/functional:536
#34 0x08c07ba2 in std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&, std::string const&, std::function<void (int)>)>::operator()<std::shared_ptr<maidsafe::rudp::detail::Connection> >(std::shared_ptr<maidsafe::rudp::detail::Connection>&, boost::system::error_code const&, std::string const&, std::function<void (int)>) const (this=0xb07fed40, __object=..., __args#0=..., __args#1=..., __args#2=...) at /usr/include/c++/4.6/functional:559
#35 0x08c07794 in 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)>)>::__call<void, boost::system::error_code const&, 0, 1, 2, 3>(std::tuple<boost::system::error_code const&>&&, std::_Index_tuple<0, 1, 2, 3>) (this=0xb07fed40, __args=...) at /usr/include/c++/4.6/functional:1146
#36 0x08c074a2 in 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)>)>::operator()<boost::system::error_code const&, void>(boost::system::error_code const&) (this=0xb07fed40) at /usr/include/c++/4.6/functional:1205
#37 0x08c07297 in boost::asio::detail::binder1<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)>)>, boost::system::error_code>::operator()() (this=0xb07fed40) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/detail/bind_handler.hpp:46
#38 0x08c07012 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::string const&, std::function<void (int)>)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>, std::string, std::function<void (int)>)>, boost::system::error_code> >(boost::asio::detail::binder1<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)>)>, boost::system::error_code>, ...) (function=...)
    at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/handler_invoke_hook.hpp:64
#39 0x08c06ae4 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::string const&, std::function<void (int)>)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>, std::string, std::function<void (int)>)>, boost::system::error_code>, 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)>)> >(boost::asio::detail::binder1<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)>)>, boost::system::error_code>&, 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)>)>&) (function=..., context=...)
    at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/detail/handler_invoke_helpers.hpp:39
#40 0x08c06365 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::string const&, std::function<void (int)>)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>, std::string, std::function<void (int)>)>, boost::system::error_code>, 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)>)>, boost::system::error_code>(boost::asio::detail::binder1<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)>)>, boost::system::error_code>&, boost::asio::detail::binder1<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)>)>, boost::system::error_code>*) (function=..., 
    this_handler=0xb07fee50) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/detail/bind_handler.hpp:79
#41 0x08c05745 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::string const&, std::function<void (int)>)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>, std::string, std::function<void (int)>)>, boost::system::error_code>, boost::asio::detail::binder1<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)>)>, boost::system::error_code> >(boost::asio::detail::binder1<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)>)>, boost::system::error_code>&, boost::asio::detail::binder1<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)>)>, boost::system::error_code>&) (function=..., context=...) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/detail/handler_invoke_helpers.hpp:39
#42 0x08c04a9b 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::string const&, std::function<void (int)>)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>, std::string, std::function<void (int)>)>, 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::string const&, std::function<void (int)>)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>, std::string, std::function<void (int)>)>, boost::system::error_code>) (this=0x9233a38, 
    impl=@0xb07fefe8: 0xb08067a0, handler=...) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/detail/impl/strand_service.hpp:61
#43 0x08c042fc 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::string const&, std::function<void (int)>)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>, std::string, std::function<void (int)>)>, boost::system::error_code> >(boost::asio::detail::binder1<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)>)>, boost::system::error_code>&&) (this=0xb07fefe4, handler=...)
    at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/strand.hpp:149
#44 0x08c03c95 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::string const&, std::function<void (int)>)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>, std::string, std::function<void (int)>)> >::operator()<boost::system::error_code>(boost::system::error_code const&) (this=0xb07fefe4, arg1=...)
    at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/detail/wrapped_handler.hpp:67
#45 0x08c03785 in maidsafe::rudp::detail::ConnectOp<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)>)> > >::operator()(boost::system::error_code) (this=0xb07fefe4) at /home/steve/projects/MaidSafe/src/rudp/src/maidsafe/rudp/operations/connect_op.h:38
#46 0x08c03402 in boost::asio::detail::binder1<maidsafe::rudp::detail::ConnectOp<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)>)> > >, boost::system::error_code>::operator()() (this=0xb07fefe4)
    at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/detail/bind_handler.hpp:46
#47 0x08c031fa in boost::asio::detail::rewrapped_handler<boost::asio::detail::binder1<maidsafe::rudp::detail::ConnectOp<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)>)> > >, boost::system::error_code>, 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)>)> >::operator()() (this=0xb07fefc0)
    at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/detail/wrapped_handler.hpp:171
#48 0x08c02d44 in boost::asio::asio_handler_invoke<boost::asio::detail::rewrapped_handler<boost::asio::detail::binder1<maidsafe::rudp::detail::ConnectOp<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)>)> > >, boost::system::error_code>, 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)>)> > >(boost::asio::detail::rewrapped_handler<boost::asio::detail::binder1<maidsafe::rudp::detail::ConnectOp<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)>)> > >, boost::system::error_code>, 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)>)> >, ...) (function=...)
    at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/handler_invoke_hook.hpp:64
#49 0x08c0281d in boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::rewrapped_handler<boost::asio::detail::binder1<maidsafe::rudp::detail::ConnectOp<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)>)> > >, boost::system::error_code>, 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)>)> >, 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)>)> >(boost::asio::detail::rewrapped_handler<boost::asio::detail::binder1<maidsafe::rudp::detail::ConnectOp<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)>)> > >, boost::system::error_code>, 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)>)> >&, 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)>)>&) (function=..., context=...)
    at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/detail/handler_invoke_helpers.hpp:39
#50 0x08c02019 in boost::asio::detail::asio_handler_invoke<boost::asio::detail::rewrapped_handler<boost::asio::detail::binder1<maidsafe::rudp::detail::ConnectOp<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)>)> > >, boost::system::error_code>, 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)>)> >, boost::asio::detail::binder1<maidsafe::rudp::detail::ConnectOp<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)>)> > >, boost::system::error_code>, 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)>)> >(boost::asio::detail::rewrapped_handler<boost::asio::detail::binder1<maidsafe::rudp::detail::ConnectOp<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)>)> > >, boost::system::error_code>, 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)>)> >&, boost::asio::detail::rewrapped_handler<boost::asio::detail::binder1<maidsafe::rudp::detail::ConnectOp<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)>)> > >, boost::system::error_code>, 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)>)> >*) (function=..., this_handler=0xb07ff0b0) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/detail/wrapped_handler.hpp:238
#51 0x08c01103 in boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::rewrapped_handler<boost::asio::detail::binder1<maidsafe::rudp::detail::ConnectOp<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)>)> > >, boost::system::error_code>, 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)>)> >, boost::asio::detail::rewrapped_handler<boost::asio::detail::binder1<maidsafe::rudp::detail::ConnectOp<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)>)> > >, boost::system::error_code>, 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)>)> > >(boost::asio::detail::rewrapped_handler<boost::asio::detail::binder1<maidsafe::rudp::detail::ConnectOp<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)>)> > >, boost::system::error_code>, 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)>)> >&, boost::asio::detail::rewrapped_handler<boost::asio::detail::binder1<maidsafe::rudp::detail::ConnectOp<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)>)> > >, boost::system::error_code>, 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)>)> >&) (function=..., context=...) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/detail/handler_invoke_helpers.hpp:39
#52 0x08c012bf in boost::asio::detail::completion_handler<boost::asio::detail::rewrapped_handler<boost::asio::detail::binder1<maidsafe::rudp::detail::ConnectOp<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)>)> > >, boost::system::error_code>, 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)>)> > >::do_complete(boost::asio::detail::task_io_service*, boost::asio::detail::task_io_service_operation*, boost::system::error_code const&, unsigned int) (owner=0x923f6c0, base=0xb0917fa0)
    at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/detail/completion_handler.hpp:67
#53 0x08b1251b in boost::asio::detail::task_io_service_operation::complete (this=0xb0917fa0, owner=..., ec=..., bytes_transferred=0) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/detail/task_io_service_operation.hpp:37
#54 0x08b13745 in boost::asio::detail::strand_service::do_complete (owner=0x923f6c0, base=0xb08067a0, ec=...) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/detail/impl/strand_service.ipp:160
#55 0x08b1251b in boost::asio::detail::task_io_service_operation::complete (this=0xb08067a0, owner=..., ec=..., bytes_transferred=0) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/detail/task_io_service_operation.hpp:37
#56 0x08c48ba2 in boost::asio::detail::task_io_service::do_run_one (this=0x923f6c0, lock=..., this_thread=..., ec=...) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/detail/impl/task_io_service.ipp:419
#57 0x08c488eb in boost::asio::detail::task_io_service::run (this=0x923f6c0, ec=...) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/detail/impl/task_io_service.ipp:160
#58 0x08c48d58 in boost::asio::io_service::run (this=0x925f6d8) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/impl/io_service.ipp:59
#59 0x08c4696b in operator() (this=0x92531b4) at /home/steve/projects/MaidSafe/src/common/src/maidsafe/common/asio_service.cc:82
#60 0x08c48218 in boost::detail::thread_data<maidsafe::AsioService::Start()::<lambda()> >::run(void) (this=0x92530b0) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/thread/detail/thread.hpp:74
#61 0x08de7e0e in thread_proxy ()
#62 0xb7fb0d4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#63 0xb7e9ad3e in clone () from /lib/i386-linux-gnu/libc.so.6

Assertion on GetAvailableEndpoint (GetConnection fails)

pd-vault: /home/steve/projects/MaidSafe/src/rudp/src/maidsafe/rudp/managed_connections.cc:316: int maidsafe::rudp::ManagedConnections::GetAvailableEndpoint(maidsafe::NodeId, maidsafe::rudp::EndpointPair, maidsafe::rudp::EndpointPair&, maidsafe::rudp::NatType&): Assertion `connection' failed.
Program received signal SIGABRT, Aborted.
[Switching to Thread 0xb11fdb40 (LWP 15144)]
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  0x08b4e108 in maidsafe::rudp::ManagedConnections::GetAvailableEndpoint (this=0x91e1398, peer_id=..., peer_endpoint_pair=..., this_endpoint_pair=..., this_nat_type=@0xb11fb930: maidsafe::rudp::kUnknown)                                                                   
    at /home/steve/projects/MaidSafe/src/rudp/src/maidsafe/rudp/managed_connections.cc:316
#6  0x08a2f1c3 in maidsafe::routing::NetworkUtils::GetAvailableEndpoint (this=0x91ed84c, peer_id=..., peer_endpoint_pair=..., this_endpoint_pair=..., this_nat_type=@0xb11fb930: maidsafe::rudp::kUnknown)                                                                      
    at /home/steve/projects/MaidSafe/src/routing/src/maidsafe/routing/network_utils.cc:129
#7  0x08a535a8 in maidsafe::routing::ResponseHandler::SendConnectRequest (this=0x91e5f18, peer_node_id=...) at /home/steve/projects/MaidSafe/src/routing/src/maidsafe/routing/response_handler.cc:255                                                                           
#8  0x08a55129 in maidsafe::routing::ResponseHandler::HandleSuccessAcknowledgementAsRequestor (this=0x91e5f18, close_ids=...) at /home/steve/projects/MaidSafe/src/routing/src/maidsafe/routing/response_handler.cc:396                                                         
#9  0x08a542c0 in operator() (this=0xb0609268, key=...) at /home/steve/projects/MaidSafe/src/routing/src/maidsafe/routing/response_handler.cc:350                                                                                                                               
#10 0x08a55b86 in std::_Function_handler<void(CryptoPP::RSAFunction), maidsafe::routing::ResponseHandler::ConnectSuccessAcknowledgement(maidsafe::routing::protobuf::Message&)::<lambda(const PublicKey&)> >::_M_invoke(const std::_Any_data &, CryptoPP::RSAFunction) (        
    __functor=..., __args#0=<incomplete type>) at /usr/include/c++/4.6/functional:1778
#11 0x089bee90 in std::function<void (CryptoPP::RSAFunction)>::operator()(CryptoPP::RSAFunction) const (this=0xb0603278, __args#0=<incomplete type>) at /usr/include/c++/4.6/functional:2161                                                                                    
#12 0x089b73bf in operator() (this=0xb0603270, result=true, public_key=<incomplete type>) at /home/steve/projects/MaidSafe/src/pd/src/maidsafe/pd/common/routing_message_handler.cc:283                                                                                         
#13 0x089bab37 in std::_Function_handler<void(bool, CryptoPP::RSAFunction), maidsafe::pd::RoutingMessageHandler::OnPublicKeyRequested(const maidsafe::NodeId&, const GivePublicKeyFunctor&)::<lambda()>::<lambda(bool, maidsafe::rsa::PublicKey)> >::_M_invoke(const std::_Any_data &, bool, CryptoPP::RSAFunction) (__functor=..., __args#0=true, __args#1=<incomplete type>) at /usr/include/c++/4.6/functional:1778
#14 0x089f003d in std::function<void (bool, CryptoPP::RSAFunction)>::operator()(bool, CryptoPP::RSAFunction) const (this=0xb11fc33c, __args#0=true, __args#1=<incomplete type>) at /usr/include/c++/4.6/functional:2161                                                         
#15 0x089ebcfe in maidsafe::pd::RemoteKeyManager::GetKey(std::string const&, std::function<void (bool, CryptoPP::RSAFunction)> const&) (this=0x91ad518, key_id=..., callback=...) at /home/steve/projects/MaidSafe/src/pd/src/maidsafe/pd/common/remote_key_manager.cc:220      
#16 0x089b7898 in operator() (this=0xb11fc47c) at /home/steve/projects/MaidSafe/src/pd/src/maidsafe/pd/common/routing_message_handler.cc:287
#17 0x089b7cb3 in maidsafe::pd::RoutingMessageHandler::OnPublicKeyRequested(maidsafe::NodeId const&, std::function<void (CryptoPP::RSAFunction)> const&) (this=0x91f1750, node_id=..., give_key=...)                                                                            
    at /home/steve/projects/MaidSafe/src/pd/src/maidsafe/pd/common/routing_message_handler.cc:299
#18 0x089b4b05 in operator() (this=0x91e1370, node_id=..., give_key=...) at /home/steve/projects/MaidSafe/src/pd/src/maidsafe/pd/common/routing_message_handler.cc:101                                                                                                          
#19 0x089bb3d4 in std::_Function_handler<void(maidsafe::NodeId, std::function<void(CryptoPP::RSAFunction)>), maidsafe::pd::RoutingMessageHandler::Init()::<lambda(const maidsafe::NodeId&, const GivePublicKeyFunctor&)> >::_M_invoke(const std::_Any_data &, maidsafe::NodeId, std::function<void(CryptoPP::RSAFunction)>) (__functor=..., __args#0=..., __args#1=...) at /usr/include/c++/4.6/functional:1778                                                                                                                                                 
#20 0x08a56b12 in std::function<void (maidsafe::NodeId, std::function<void (CryptoPP::RSAFunction)>)>::operator()(maidsafe::NodeId, std::function<void (CryptoPP::RSAFunction)>) const (this=0x91e5f54, __args#0=..., __args#1=...) at /usr/include/c++/4.6/functional:2161     
#21 0x08a54afc in maidsafe::routing::ResponseHandler::ConnectSuccessAcknowledgement (this=0x91e5f18, message=...) at /home/steve/projects/MaidSafe/src/routing/src/maidsafe/routing/response_handler.cc:355                                                                     
#22 0x08a45d96 in maidsafe::routing::MessageHandler::HandleRoutingMessage (this=0x91e4658, message=...) at /home/steve/projects/MaidSafe/src/routing/src/maidsafe/routing/message_handler.cc:60                                                                                 
#23 0x08a46eb4 in maidsafe::routing::MessageHandler::HandleMessageForThisNode (this=0x91e4658, message=...) at /home/steve/projects/MaidSafe/src/routing/src/maidsafe/routing/message_handler.cc:135                                                                            
#24 0x08a48f0e in maidsafe::routing::MessageHandler::HandleMessage (this=0x91e4658, message=...) at /home/steve/projects/MaidSafe/src/routing/src/maidsafe/routing/message_handler.cc:275                                                                                       
#25 0x08a1a059 in maidsafe::routing::RoutingPrivate::DoOnMessageReceived (this=0x91ed450, message=...) at /home/steve/projects/MaidSafe/src/routing/src/maidsafe/routing/routing_private.cc:502
#26 0x08a19cab in operator() (this=0xb11fd128) at /home/steve/projects/MaidSafe/src/routing/src/maidsafe/routing/routing_private.cc:488
#27 0x08a20262 in boost::asio::asio_handler_invoke<maidsafe::routing::RoutingPrivate::OnMessageReceived(const string&)::<lambda()> >(struct {...}, ...) (function=...) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/handler_invoke_hook.hpp:64        
#28 0x08a1fcc8 in boost_asio_handler_invoke_helpers::invoke<maidsafe::routing::RoutingPrivate::OnMessageReceived(const string&)::<lambda()>, maidsafe::routing::RoutingPrivate::OnMessageReceived(const string&)::<lambda()> >(struct {...} &, struct {...} &) (function=..., 
    context=...) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/detail/handler_invoke_helpers.hpp:39
#29 0x08a1f3a8 in boost::asio::detail::completion_handler<maidsafe::routing::RoutingPrivate::OnMessageReceived(const string&)::<lambda()> >::do_complete(boost::asio::detail::io_service_impl *, boost::asio::detail::operation *, const boost::system::error_code &, std::size_t) (owner=0x91e7078, base=0xb0712598) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/detail/completion_handler.hpp:67
#30 0x08abbf7f in boost::asio::detail::task_io_service_operation::complete (this=0xb0712598, owner=..., ec=..., bytes_transferred=0) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/detail/task_io_service_operation.hpp:37
#31 0x08bf7b08 in boost::asio::detail::task_io_service::do_run_one (this=0x91e7078, lock=..., this_thread=..., ec=...) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/detail/impl/task_io_service.ipp:419
#32 0x08bf7851 in boost::asio::detail::task_io_service::run (this=0x91e7078, ec=...) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/detail/impl/task_io_service.ipp:160
#33 0x08bf7cbe in boost::asio::io_service::run (this=0x91ed7b8) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/impl/io_service.ipp:59
#34 0x08bf5b57 in operator() (this=0x91e110c) at /home/steve/projects/MaidSafe/src/common/src/maidsafe/common/asio_service.cc:78
#35 0x08bf717e in boost::detail::thread_data<maidsafe::AsioService::Start()::<lambda()> >::run(void) (this=0x91e1008) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/thread/detail/thread.hpp:74
#36 0x08d9777e in thread_proxy ()
#37 0xb7fb0d4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#38 0xb7e9b8ae in clone () from /lib/i386-linux-gnu/libc.so.6

Assertion failure, assert(connection) in ManagedConnections::ExistingConnection

One of the failures that occasionally occur while repeatedly running TESTpd_func, FUNC_RcsOrder, when peer is present in connection map, producing the following trace...

msvcr110d.dll!_wassert(const wchar_t * expr, const wchar_t * filename, unsigned int lineno) Line 155    C
>   TESTpd_func.exe!maidsafe::rudp::ManagedConnections::ExistingConnection(const maidsafe::NodeId & peer_id, maidsafe::rudp::EndpointPair & this_endpoint_pair, int & return_code) Line 349 C++
    TESTpd_func.exe!maidsafe::rudp::ManagedConnections::GetAvailableEndpoint(maidsafe::NodeId peer_id, maidsafe::rudp::EndpointPair peer_endpoint_pair, maidsafe::rudp::EndpointPair & this_endpoint_pair, maidsafe::rudp::NatType & this_nat_type) Line 296    C++
    TESTpd_func.exe!maidsafe::routing::NetworkUtils::GetAvailableEndpoint(const maidsafe::NodeId & peer_id, const maidsafe::rudp::EndpointPair & peer_endpoint_pair, maidsafe::rudp::EndpointPair & this_endpoint_pair, maidsafe::rudp::NatType & this_nat_type) Line 116   C++
    TESTpd_func.exe!maidsafe::routing::ResponseHandler::SendConnectRequest(const maidsafe::NodeId peer_node_id) Line 210    C++
    TESTpd_func.exe!maidsafe::routing::ResponseHandler::HandleSuccessAcknowledgementAsRequestor(std::vector<maidsafe::NodeId,std::allocator<maidsafe::NodeId> > close_ids) Line 358 C++
    TESTpd_func.exe!<lambda_882af295eeb3d3aeba57d78b0ade4a37>::operator()(const CryptoPP::RSAFunction & key) Line 314   C++
    TESTpd_func.exe!std::_Callable_obj<<lambda_882af295eeb3d3aeba57d78b0ade4a37>,0>::_ApplyX<void,CryptoPP::RSAFunction>(CryptoPP::RSAFunction && _V0) Line 431 C++
    TESTpd_func.exe!std::_Func_impl<std::_Callable_obj<<lambda_882af295eeb3d3aeba57d78b0ade4a37>,0>,std::allocator<std::_Func_class<void,CryptoPP::RSAFunction,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil> >,void,CryptoPP::RSAFunction,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>::_Do_call(CryptoPP::RSAFunction && _V0) Line 239  C++
    TESTpd_func.exe!std::_Func_class<void,CryptoPP::RSAFunction,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>::operator()(CryptoPP::RSAFunction _Vx0) Line 515 C++
    TESTpd_func.exe!maidsafe::pd::RoutingMessageHandler::UnwrapMessage(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,struct maidsafe::Fob const &,int *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > *,struct maidsafe::pd::SecurityType *,struct maidsafe::pd::Contact *) C++
    TESTpd_func.exe!std::_Callable_obj<class <lambda_45c4ea6b1e52b87d11dadd00a863b144>,0>::_ApplyX<void,bool,class CryptoPP::RSAFunction>(bool &&,class CryptoPP::RSAFunction &&)   C++
    TESTpd_func.exe!std::_Func_impl<struct std::_Callable_obj<class <lambda_45c4ea6b1e52b87d11dadd00a863b144>,0>,class std::allocator<class std::_Func_class<void,bool,class CryptoPP::RSAFunction,struct std::_Nil,struct std::_Nil,struct std::_Nil,struct std::_Nil,struct std::_Nil,struct std::_Nil,struct std::_Nil,struct std::_Nil,struct std::_Nil,struct std::_Nil> >,void,bool,class CryptoPP::RSAFunction,struct std::_Nil,struct std::_Nil,struct std::_Nil,struct std::_Nil,struct std::_Nil,struct std::_Nil,struct std::_Nil,struct std::_Nil,struct std::_Nil,struct std::_Nil>::_Do_call(bool &&,class CryptoPP::RSAFunction &&)  C++
    TESTpd_func.exe!std::_Func_class<void,bool,class CryptoPP::RSAFunction,struct std::_Nil,struct std::_Nil,struct std::_Nil,struct std::_Nil,struct std::_Nil,struct std::_Nil,struct std::_Nil,struct std::_Nil,struct std::_Nil,struct std::_Nil>::operator()(bool,class CryptoPP::RSAFunction) C++
    TESTpd_func.exe!maidsafe::pd::RemoteKeyManager::GetKey(class maidsafe::detail::BoundedString<64,64> const &,class std::function<void > const &) C++
    TESTpd_func.exe!maidsafe::pd::RoutingMessageHandler::UnwrapMessage(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,struct maidsafe::Fob const &,int *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > *,struct maidsafe::pd::SecurityType *,struct maidsafe::pd::Contact *) C++
    TESTpd_func.exe!maidsafe::pd::RoutingMessageHandler::OnPublicKeyRequested(class maidsafe::NodeId const &,class std::function<void > const &)    C++
    TESTpd_func.exe!maidsafe::pd::RoutingMessageHandler::UnwrapMessage(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,struct maidsafe::Fob const &,int *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > *,struct maidsafe::pd::SecurityType *,struct maidsafe::pd::Contact *) C++
    TESTpd_func.exe!std::_Callable_obj<class <lambda_b7ae6e241a1f7985f00378f301d87b54>,0>::_ApplyX<void,class maidsafe::NodeId,class std::function<void > >(class maidsafe::NodeId &&,class std::function<void > &&)    C++
    TESTpd_func.exe!std::_Func_impl<struct std::_Callable_obj<class <lambda_b7ae6e241a1f7985f00378f301d87b54>,0>,class std::allocator<class std::_Func_class<void,class maidsafe::NodeId,class std::function<void >,struct std::_Nil,struct std::_Nil,struct std::_Nil,struct std::_Nil,struct std::_Nil,struct std::_Nil,struct std::_Nil,struct std::_Nil,struct std::_Nil,struct std::_Nil> >,void,class maidsafe::NodeId,class std::function<void >,struct std::_Nil,struct std::_Nil,struct std::_Nil,struct std::_Nil,struct std::_Nil,struct std::_Nil,struct std::_Nil,struct std::_Nil,struct std::_Nil,struct std::_Nil>::_Do_call(class maidsafe::NodeId &&,class std::function<void > &&)   C++
    TESTpd_func.exe!std::_Func_class<void,maidsafe::NodeId,std::function<void __cdecl(CryptoPP::RSAFunction)>,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>::operator()(maidsafe::NodeId _Vx0, std::function<void __cdecl(CryptoPP::RSAFunction)> _Vx1) Line 516 C++
    TESTpd_func.exe!maidsafe::routing::ResponseHandler::ConnectSuccessAcknowledgement(maidsafe::routing::protobuf::Message & message) Line 316  C++
    TESTpd_func.exe!maidsafe::routing::MessageHandler::HandleRoutingMessage(maidsafe::routing::protobuf::Message & message) Line 60 C++
    TESTpd_func.exe!maidsafe::routing::MessageHandler::HandleMessageForThisNode(maidsafe::routing::protobuf::Message & message) Line 139    C++
    TESTpd_func.exe!maidsafe::routing::MessageHandler::HandleMessage(maidsafe::routing::protobuf::Message & message) Line 279   C++
    TESTpd_func.exe!maidsafe::routing::Routing::Impl::DoOnMessageReceived(const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & message) Line 423    C++
    TESTpd_func.exe!<lambda_8c1be8ca45b376cd817baae2948a2b0a>::operator()() Line 403    C++
    TESTpd_func.exe!boost::asio::asio_handler_invoke<<lambda_8c1be8ca45b376cd817baae2948a2b0a> >(maidsafe::routing::Routing::Impl::OnMessageReceived::__l5::<lambda_8c1be8ca45b376cd817baae2948a2b0a> function, ...) Line 65    C++
    TESTpd_func.exe!boost_asio_handler_invoke_helpers::invoke<<lambda_8c1be8ca45b376cd817baae2948a2b0a>,<lambda_8c1be8ca45b376cd817baae2948a2b0a> >(maidsafe::routing::Routing::Impl::OnMessageReceived::__l5::<lambda_8c1be8ca45b376cd817baae2948a2b0a> & function, maidsafe::routing::Routing::Impl::OnMessageReceived::__l5::<lambda_8c1be8ca45b376cd817baae2948a2b0a> & context) Line 39    C++
    TESTpd_func.exe!boost::asio::detail::completion_handler<<lambda_8c1be8ca45b376cd817baae2948a2b0a> >::do_complete(boost::asio::detail::win_iocp_io_service * owner, boost::asio::detail::win_iocp_operation * base, const boost::system::error_code & __formal, unsigned int __formal) Line 67   C++
    TESTpd_func.exe!boost::asio::detail::win_iocp_operation::complete(boost::asio::detail::win_iocp_io_service & owner, const boost::system::error_code & ec, unsigned int bytes_transferred) Line 45   C++
    TESTpd_func.exe!boost::asio::detail::win_iocp_io_service::do_one(bool block, boost::system::error_code & ec) Line 397   C++
    TESTpd_func.exe!boost::asio::detail::win_iocp_io_service::run(boost::system::error_code & ec) Line 159  C++
    TESTpd_func.exe!boost::asio::io_service::run() Line 59  C++
    TESTpd_func.exe!<lambda_335afe37aaef659ae1f9e59aedfb6d9a>::operator()() Line 84 C++
    TESTpd_func.exe!boost::detail::thread_data<<lambda_335afe37aaef659ae1f9e59aedfb6d9a> >::run() Line 75   C++
    TESTpd_func.exe!boost::`anonymous namespace'::thread_start_function(void * param) Line 190  C++

PdTest.FUNC_StoreAndGetChunks error

BoundedString error is thrown from ChunkService::Store when running the FUNC_StoreAndGetChunks test, due to an empty chunk version as per the following -

#0  0xb77b1424 in __kernel_vsyscall ()
#1  0xb75a81df in __GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#2  0xb75ab825 in __GI_abort () at abort.c:91
#3  0x08ed553d in __gnu_cxx::__verbose_terminate_handler() ()
#4  0x08ed0523 in __cxxabiv1::__terminate(void (*)()) ()
#5  0x08ed055f in std::terminate() ()
#6  0x08ed04ae in __cxa_throw ()
#7  0x08cb315e in boost::throw_exception<std::system_error> (e=...) at /home/maidsafe/MaidSafe/MaidSafe/src/third_party_libs/boost/boost/throw_exception.hpp:67
#8  0x08cb2645 in maidsafe::DoThrowError (code=...) at /home/maidsafe/MaidSafe/MaidSafe/src/common/src/maidsafe/common/error.cc:72
#9  0x088ddf46 in maidsafe::ThrowError (code=...) at /home/maidsafe/MaidSafe/MaidSafe/src/common/include/maidsafe/common/error.h:561
#10 0x0898bd54 in maidsafe::detail::BoundedString<24u, 24u>::string (this=0x8a7b62d4) at /home/maidsafe/MaidSafe/MaidSafe/src/common/include/maidsafe/common/bounded_string.h:122
#11 0x089bd189 in maidsafe::HexSubstr<24u, 24u> (non_hex=...) at /home/maidsafe/MaidSafe/MaidSafe/src/common/include/maidsafe/common/utils.h:182
#12 0x08a0d935 in maidsafe::pd::vault::ChunkService::Store (this=0xb0c58c70, sender=..., request=..., response=0x8a7b6e04) at /home/maidsafe/MaidSafe/MaidSafe/src/pd/src/maidsafe/pd/vault/chunk_service.cc:336
#13 0x08970d95 in maidsafe::pd::vault::Node::OnMessageReceived(maidsafe::pd::RpcMessageType const&, std::string const&, maidsafe::pd::Contact const&, maidsafe::NodeId const&, maidsafe::pd::SecurityType const&, bool, std::function<void (std::string const&, maidsafe::pd::SecurityType const&)> const&) (this=0x997f150, message_type=@0x8a7b704c: maidsafe::pd::kChunkStore, message=..., sender=..., group_claim=..., security_type=..., cache_lookup=false, reply_functor=...)
    at /home/maidsafe/MaidSafe/MaidSafe/src/pd/src/maidsafe/pd/vault/node.cc:363

KeyManager's ValidateCallback segfaults

This seems to happen when the validation times out, then the callback executes and the objects passed by pointers don't exist any more. This happens when an RPC and its retry fail, taking more time than available.

E 3042966336 17:45:46.238431 pd/common/rpc_handler.cc:125] CheckResponse - c693929..3a8bdcf - RPC 1103 to group around c01fdfe..13f9db4 failed (-1) after 2 attempts.
E 3042966336 17:45:46.238615 pd/common/rpc_handler.cc:910] ProcessResponse - c693929..3a8bdcf - ChunkInfo/GetInstances RPC failed.
E 3042966336 17:45:46.238832 pd/client/vault_chunk_manager.cc:127] DoGet - c693929..3a8bdcf - No instances for 2ar793i..e935pad~SIG
E 3042966336 17:45:46.239005 pd/common/remote_key_manager.cc:262] GetChunkCallback - Failed to retrieve 2ar793i..e935pad~SIG
E 3042966336 17:45:46.239122 pd/common/remote_key_manager.cc:437] Failed to retrieve signer identity.
terminate called after throwing an instance of 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::lock_error> >'
  what():  boost: mutex lock failed in pthread_mutex_lock: Invalid argument
Program received signal SIGABRT, Aborted.
[Switching to Thread 0xb55ffb40 (LWP 16030)]
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  0x08deeb1d in __gnu_cxx::__verbose_terminate_handler() ()                                                                                                                                                                                                                   
#4  0x08decc33 in __cxxabiv1::__terminate(void (*)()) ()                                                                                                                                                                                                                        
#5  0x08decc6f in std::terminate() ()                                                                                                                                                                                                                                           
#6  0x08decbbe in __cxa_throw ()                                                                                                                                                                                                                                                
#7  0x088003e6 in boost::throw_exception<boost::lock_error> (e=...) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/throw_exception.hpp:67                                                                                                                    
#8  0x087fa155 in boost::mutex::lock (this=0xb55fd624) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/thread/pthread/mutex.hpp:68                                                                                                                            
#9  0x08802bc2 in boost::unique_lock<boost::mutex>::lock (this=0xb55fd258) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/thread/locks.hpp:508                                                                                                               
#10 0x08800908 in boost::unique_lock<boost::mutex>::unique_lock (this=0xb55fd258, m_=...) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/thread/locks.hpp:301                                                                                                
#11 0x089e6ec2 in maidsafe::pd::(anonymous namespace)::ValidateCallback (result=false, query_result=0xb55fd5d9, done=0xb55fd5da, mutex=0xb55fd624, cond_var=0xb55fd5dc) at /home/steve/projects/MaidSafe/src/pd/src/maidsafe/pd/common/key_manager.cc:33                        
#12 0x089e9308 in std::_Bind<void (*(std::_Placeholder<1>, bool*, bool*, boost::mutex*, boost::condition_variable*))(bool, bool*, bool*, boost::mutex*, boost::condition_variable*)>::__call<void, bool&&, 0, 1, 2, 3, 4>(std::tuple<bool&&>&&, std::_Index_tuple<0, 1, 2, 3, 4>) (this=0xb4205088, __args=...) at /usr/include/c++/4.6/functional:1146                                                                                                                                                                                                         
#13 0x089e8cc6 in std::_Bind<void (*(std::_Placeholder<1>, bool*, bool*, boost::mutex*, boost::condition_variable*))(bool, bool*, bool*, boost::mutex*, boost::condition_variable*)>::operator()<bool, void>(bool&&) (this=0xb4205088) at /usr/include/c++/4.6/functional:1205  
#14 0x089e8833 in std::_Function_handler<void (bool), std::_Bind<void (*(std::_Placeholder<1>, bool*, bool*, boost::mutex*, boost::condition_variable*))(bool, bool*, bool*, boost::mutex*, boost::condition_variable*)> >::_M_invoke(std::_Any_data const&, bool) (            
    __functor=..., __args#0=false) at /usr/include/c++/4.6/functional:1778                                                                                                                                                                                                      
#15 0x088344e0 in std::function<void (bool)>::operator()(bool) const (this=0xb4205f38, __args#0=false) at /usr/include/c++/4.6/functional:2161                                                                                                                                  
#16 0x089eeb03 in maidsafe::pd::RemoteKeyManager::VerifyKeyHierarchyCallback (this=0x91abf98, result=false, chunk_name=..., hierarchy_task=...) at /home/steve/projects/MaidSafe/src/pd/src/maidsafe/pd/common/remote_key_manager.cc:470                                        
#17 0x089f544a in boost::_mfi::mf4<void, maidsafe::pd::RemoteKeyManager, bool, CryptoPP::RSAFunction, std::string const&, std::shared_ptr<maidsafe::pd::RemoteKeyManager::HierarchyTask> >::operator() (this=0xb42044b0, p=0x91abf98, a1=false, a2=<incomplete type>, a3=...,   
    a4=...) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/bind/mem_fn_template.hpp:506                                                                                                                                                                      
#18 0x089f491b in boost::_bi::list5<boost::_bi::value<maidsafe::pd::RemoteKeyManager*>, boost::arg<1>, boost::arg<2>, boost::_bi::value<std::string>, boost::_bi::value<std::shared_ptr<maidsafe::pd::RemoteKeyManager::HierarchyTask> > >::operator()<boost::_mfi::mf4<void, maidsafe::pd::RemoteKeyManager, bool, CryptoPP::RSAFunction, std::string const&, std::shared_ptr<maidsafe::pd::RemoteKeyManager::HierarchyTask> >, boost::_bi::list2<bool const&, CryptoPP::RSAFunction const&> > (this=0xb42044b8, f=..., a=...)                                 
    at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/bind/bind.hpp:525                                                                                                                                                                                         
#19 0x089f37f4 in boost::_bi::bind_t<void, boost::_mfi::mf4<void, maidsafe::pd::RemoteKeyManager, bool, CryptoPP::RSAFunction, std::string const&, std::shared_ptr<maidsafe::pd::RemoteKeyManager::HierarchyTask> >, boost::_bi::list5<boost::_bi::value<maidsafe::pd::RemoteKeyManager*>, boost::arg<1>, boost::arg<2>, boost::_bi::value<std::string>, boost::_bi::value<std::shared_ptr<maidsafe::pd::RemoteKeyManager::HierarchyTask> > > >::operator()<bool, CryptoPP::RSAFunction> (this=0xb42044b0, a1=@0xb55fda1c: false, a2=...)                       
    at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/bind/bind_template.hpp:102                                                                                                                                                                                
#20 0x089f1f08 in std::_Function_handler<void (bool, CryptoPP::RSAFunction), boost::_bi::bind_t<void, boost::_mfi::mf4<void, maidsafe::pd::RemoteKeyManager, bool, CryptoPP::RSAFunction, std::string const&, std::shared_ptr<maidsafe::pd::RemoteKeyManager::HierarchyTask> >, boost::_bi::list5<boost::_bi::value<maidsafe::pd::RemoteKeyManager*>, boost::arg<1>, boost::arg<2>, boost::_bi::value<std::string>, boost::_bi::value<std::shared_ptr<maidsafe::pd::RemoteKeyManager::HierarchyTask> > > > >::_M_invoke(std::_Any_data const&, bool, CryptoPP::RSAFunction) (__functor=..., __args#0=false, __args#1=<incomplete type>) at /usr/include/c++/4.6/functional:1778
#21 0x089f003d in std::function<void (bool, CryptoPP::RSAFunction)>::operator()(bool, CryptoPP::RSAFunction) const (this=0xb42023b0, __args#0=false, __args#1=<incomplete type>) at /usr/include/c++/4.6/functional:2161                                                        
#22 0x089ed2c5 in maidsafe::pd::RemoteKeyManager::ProcessPendingTasks (this=0x91abf98, key_id=..., public_key=..., result=false) at /home/steve/projects/MaidSafe/src/pd/src/maidsafe/pd/common/remote_key_manager.cc:335
#23 0x089ec4ad in maidsafe::pd::RemoteKeyManager::GetChunkCallback (this=0x91abf98, chunk_name=..., result=@0xb55fe764: -1, do_delete=true) at /home/steve/projects/MaidSafe/src/pd/src/maidsafe/pd/common/remote_key_manager.cc:263  

PD's integrity check does not behave as expected

failing in the test of PdTest.FUNC_ChunkCorruption
1, some time get more than 4 copies
2, when one copy got corrupted, doesn't get replaced
(if only last_validated flag is reset, nothing will happend;
if last_seen flag is reset, a new vault will be picked-up to hold a new copy,
the corrupted copy will still sit on a vault)

LifeStuff API - NonEmptyString used for optionally empty strings

/// Contact operations
int AddContact(const NonEmptyString& my_public_id,
const NonEmptyString& contact_public_id,
const NonEmptyString& message);

int RemoveContact(const NonEmptyString& my_public_id,
const NonEmptyString& contact_public_id,
const NonEmptyString& removal_message);

const NewContactFunction& new_contact_slot,

const ContactDeletionFunction& contact_deletion_function,

^^Above signals and functions use NonEmptyString for optional argument "message" / "removal_message" which are not always filled in.

Doesnt make sense in filling the variables with some dummy value just to satisfy the type requirement and hence make more data have to go through the network. Could we please have these as normal strings which is the required type in this case for these variables.

assert(IsNormal(connection)) triggered

Running TESTpd_func --gtest_filter=*FUNC_JoinNode occasionally triggers the assertion assert(IsNormal(connection)) at line 121in connection_manager.cc

msvcr110d.dll!_NMSG_WRITE(int rterrnum) Line 226    C
msvcr110d.dll!abort() Line 72   C
msvcr110d.dll!_wassert(const wchar_t * expr, const wchar_t * filename, unsigned int lineno) Line 155    C

TESTpd_func.exe!maidsafe::rudp::detail::ConnectionManager::RemoveConnection(std::shared_ptrmaidsafe::rudp::detail::Connection connection) Line 121 C++
TESTpd_func.exe!maidsafe::rudp::detail::Transport::DoRemoveConnection(std::shared_ptrmaidsafe::rudp::detail::Connection connection, bool timed_out) Line 460 C++
TESTpd_func.exe!std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Transport::)(std::shared_ptrmaidsafe::rudp::detail::Connection,bool) __ptr64,void,maidsafe::rudp::detail::Transport,std::shared_ptrmaidsafe::rudp::detail::Connection,bool,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>::operator()std::shared_ptr<maidsafe::rudp::detail::Transport >(std::shared_ptrmaidsafe::rudp::detail::Transport & _Ptr, std::shared_ptrmaidsafe::rudp::detail::Connection _V0, bool _V1) Line 1269 C++
TESTpd_func.exe!std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Transport::
)(std::shared_ptrmaidsafe::rudp::detail::Connection,bool) __ptr64,void,maidsafe::rudp::detail::Transport,std::shared_ptrmaidsafe::rudp::detail::Connection,bool,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Transport,std::shared_ptrmaidsafe::rudp::detail::Connection & __ptr64,bool & __ptr64,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>::operator()() Line 1152 C++
TESTpd_func.exe!boost::asio::asio_handler_invoke<std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Transport::)(std::shared_ptrmaidsafe::rudp::detail::Connection,bool) __ptr64,void,maidsafe::rudp::detail::Transport,std::shared_ptrmaidsafe::rudp::detail::Connection,bool,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Transport,std::shared_ptrmaidsafe::rudp::detail::Connection & __ptr64,bool & __ptr64,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil> >(std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Transport::)(std::shared_ptrmaidsafe::rudp::detail::Connection,bool),void,maidsafe::rudp::detail::Transport,std::shared_ptrmaidsafe::rudp::detail::Connection,bool,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Transport,std::shared_ptrmaidsafe::rudp::detail::Connection &,bool &,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil> function, ...) Line 64 C++
TESTpd_func.exe!boost_asio_handler_invoke_helpers::invoke<std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Transport::)(std::shared_ptrmaidsafe::rudp::detail::Connection,bool) __ptr64,void,maidsafe::rudp::detail::Transport,std::shared_ptrmaidsafe::rudp::detail::Connection,bool,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Transport,std::shared_ptrmaidsafe::rudp::detail::Connection & __ptr64,bool & __ptr64,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Transport::)(std::shared_ptrmaidsafe::rudp::detail::Connection,bool) __ptr64,void,maidsafe::rudp::detail::Transport,std::shared_ptrmaidsafe::rudp::detail::Connection,bool,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Transport,std::shared_ptrmaidsafe::rudp::detail::Connection & __ptr64,bool & __ptr64,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil> >(std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Transport::)(std::shared_ptrmaidsafe::rudp::detail::Connection,bool),void,maidsafe::rudp::detail::Transport,std::shared_ptrmaidsafe::rudp::detail::Connection,bool,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Transport,std::shared_ptrmaidsafe::rudp::detail::Connection &,bool &,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil> & function, std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Transport::)(std::shared_ptrmaidsafe::rudp::detail::Connection,bool),void,maidsafe::rudp::detail::Transport,std::shared_ptrmaidsafe::rudp::detail::Connection,bool,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Transport,std::shared_ptrmaidsafe::rudp::detail::Connection &,bool &,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil> & context) Line 41 C++
TESTpd_func.exe!boost::asio::detail::strand_service::dispatch<std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Transport::)(std::shared_ptrmaidsafe::rudp::detail::Connection,bool) __ptr64,void,maidsafe::rudp::detail::Transport,std::shared_ptrmaidsafe::rudp::detail::Connection,bool,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Transport,std::shared_ptrmaidsafe::rudp::detail::Connection & __ptr64,bool & __ptr64,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil> >(boost::asio::detail::strand_service::strand_impl * & impl, std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Transport::)(std::shared_ptrmaidsafe::rudp::detail::Connection,bool),void,maidsafe::rudp::detail::Transport,std::shared_ptrmaidsafe::rudp::detail::Connection,bool,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Transport,std::shared_ptrmaidsafe::rudp::detail::Connection &,bool &,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil> handler) Line 61 C++
TESTpd_func.exe!boost::asio::io_service::strand::dispatch<std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Transport::)(std::shared_ptrmaidsafe::rudp::detail::Connection,bool) __ptr64,void,maidsafe::rudp::detail::Transport,std::shared_ptrmaidsafe::rudp::detail::Connection,bool,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Transport,std::shared_ptrmaidsafe::rudp::detail::Connection & __ptr64,bool & __ptr64,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil> >(const std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Transport::)(std::shared_ptrmaidsafe::rudp::detail::Connection,bool),void,maidsafe::rudp::detail::Transport,std::shared_ptrmaidsafe::rudp::detail::Connection,bool,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Transport,std::shared_ptrmaidsafe::rudp::detail::Connection &,bool &,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil> & handler) Line 150 C++
TESTpd_func.exe!maidsafe::rudp::detail::Transport::RemoveConnection(std::shared_ptrmaidsafe::rudp::detail::Connection connection, bool timed_out) Line 449 C++
TESTpd_func.exe!maidsafe::rudp::detail::Connection::DoClose(bool timed_out) Line 98 C++
TESTpd_func.exe!std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Connection::)(bool) __ptr64,void,maidsafe::rudp::detail::Connection,bool,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>::operator()std::shared_ptr<maidsafe::rudp::detail::Connection >(std::shared_ptrmaidsafe::rudp::detail::Connection & _Ptr, bool _V0) Line 1269 C++
TESTpd_func.exe!std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Connection::
)(bool) __ptr64,void,maidsafe::rudp::detail::Connection,bool,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Connection,bool,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>::operator()() Line 1152 C++
TESTpd_func.exe!boost::asio::asio_handler_invoke<std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Connection::)(bool) __ptr64,void,maidsafe::rudp::detail::Connection,bool,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Connection,bool,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil> >(std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Connection::)(bool),void,maidsafe::rudp::detail::Connection,bool,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Connection,bool,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil> function, ...) Line 64 C++
TESTpd_func.exe!boost_asio_handler_invoke_helpers::invoke<std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Connection::)(bool) __ptr64,void,maidsafe::rudp::detail::Connection,bool,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Connection,bool,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Connection::)(bool) __ptr64,void,maidsafe::rudp::detail::Connection,bool,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Connection,bool,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil> >(std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Connection::)(bool),void,maidsafe::rudp::detail::Connection,bool,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Connection,bool,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil> & function, std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Connection::)(bool),void,maidsafe::rudp::detail::Connection,bool,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Connection,bool,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil> & context) Line 41 C++
TESTpd_func.exe!boost::asio::detail::strand_service::dispatch<std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Connection::)(bool) __ptr64,void,maidsafe::rudp::detail::Connection,bool,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Connection,bool,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil> >(boost::asio::detail::strand_service::strand_impl * & impl, std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Connection::)(bool),void,maidsafe::rudp::detail::Connection,bool,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Connection,bool,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil> handler) Line 61 C++
TESTpd_func.exe!boost::asio::io_service::strand::dispatch<std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Connection::)(bool) __ptr64,void,maidsafe::rudp::detail::Connection,bool,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Connection,bool,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil> >(const std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Connection::)(bool),void,maidsafe::rudp::detail::Connection,bool,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Connection,bool,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil> & handler) Line 150 C++
TESTpd_func.exe!maidsafe::rudp::detail::Connection::MarkAsDuplicateAndClose() Line 166 C++
TESTpd_func.exe!maidsafe::rudp::detail::Transport::DoAddConnection(std::shared_ptrmaidsafe::rudp::detail::Connection connection) Line 438 C++
TESTpd_func.exe!std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Transport::)(std::shared_ptrmaidsafe::rudp::detail::Connection) __ptr64,void,maidsafe::rudp::detail::Transport,std::shared_ptrmaidsafe::rudp::detail::Connection,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>::operator()std::shared_ptr<maidsafe::rudp::detail::Transport >(std::shared_ptrmaidsafe::rudp::detail::Transport & _Ptr, std::shared_ptrmaidsafe::rudp::detail::Connection _V0) Line 1269 C++
TESTpd_func.exe!std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Transport::
)(std::shared_ptrmaidsafe::rudp::detail::Connection) __ptr64,void,maidsafe::rudp::detail::Transport,std::shared_ptrmaidsafe::rudp::detail::Connection,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Transport,std::shared_ptrmaidsafe::rudp::detail::Connection & __ptr64,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>::operator()() Line 1152 C++
TESTpd_func.exe!boost::asio::asio_handler_invoke<std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Transport::)(std::shared_ptrmaidsafe::rudp::detail::Connection) __ptr64,void,maidsafe::rudp::detail::Transport,std::shared_ptrmaidsafe::rudp::detail::Connection,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Transport,std::shared_ptrmaidsafe::rudp::detail::Connection & __ptr64,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil> >(std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Transport::)(std::shared_ptrmaidsafe::rudp::detail::Connection),void,maidsafe::rudp::detail::Transport,std::shared_ptrmaidsafe::rudp::detail::Connection,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Transport,std::shared_ptrmaidsafe::rudp::detail::Connection &,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil> function, ...) Line 64 C++
TESTpd_func.exe!boost_asio_handler_invoke_helpers::invoke<std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Transport::)(std::shared_ptrmaidsafe::rudp::detail::Connection) __ptr64,void,maidsafe::rudp::detail::Transport,std::shared_ptrmaidsafe::rudp::detail::Connection,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Transport,std::shared_ptrmaidsafe::rudp::detail::Connection & __ptr64,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Transport::)(std::shared_ptrmaidsafe::rudp::detail::Connection) __ptr64,void,maidsafe::rudp::detail::Transport,std::shared_ptrmaidsafe::rudp::detail::Connection,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Transport,std::shared_ptrmaidsafe::rudp::detail::Connection & __ptr64,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil> >(std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Transport::)(std::shared_ptrmaidsafe::rudp::detail::Connection),void,maidsafe::rudp::detail::Transport,std::shared_ptrmaidsafe::rudp::detail::Connection,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Transport,std::shared_ptrmaidsafe::rudp::detail::Connection &,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil> & function, std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Transport::)(std::shared_ptrmaidsafe::rudp::detail::Connection),void,maidsafe::rudp::detail::Transport,std::shared_ptrmaidsafe::rudp::detail::Connection,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Transport,std::shared_ptrmaidsafe::rudp::detail::Connection &,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil> & context) Line 41 C++
TESTpd_func.exe!boost::asio::detail::strand_service::dispatch<std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Transport::)(std::shared_ptrmaidsafe::rudp::detail::Connection) __ptr64,void,maidsafe::rudp::detail::Transport,std::shared_ptrmaidsafe::rudp::detail::Connection,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Transport,std::shared_ptrmaidsafe::rudp::detail::Connection & __ptr64,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil> >(boost::asio::detail::strand_service::strand_impl * & impl, std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Transport::)(std::shared_ptrmaidsafe::rudp::detail::Connection),void,maidsafe::rudp::detail::Transport,std::shared_ptrmaidsafe::rudp::detail::Connection,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Transport,std::shared_ptrmaidsafe::rudp::detail::Connection &,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil> handler) Line 61 C++
TESTpd_func.exe!boost::asio::io_service::strand::dispatch<std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Transport::)(std::shared_ptrmaidsafe::rudp::detail::Connection) __ptr64,void,maidsafe::rudp::detail::Transport,std::shared_ptrmaidsafe::rudp::detail::Connection,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Transport,std::shared_ptrmaidsafe::rudp::detail::Connection & __ptr64,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil> >(const std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Transport::)(std::shared_ptrmaidsafe::rudp::detail::Connection),void,maidsafe::rudp::detail::Transport,std::shared_ptrmaidsafe::rudp::detail::Connection,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Transport,std::shared_ptrmaidsafe::rudp::detail::Connection &,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil> & handler) Line 150 C++
TESTpd_func.exe!maidsafe::rudp::detail::Transport::AddConnection(std::shared_ptrmaidsafe::rudp::detail::Connection connection) Line 398 C++
TESTpd_func.exe!maidsafe::rudp::detail::Connection::HandleConnect(const boost::system::error_code & ec, const std::basic_string<char,std::char_traits,std::allocator > & validation_data, std::function<void __cdecl(int)> ping_functor) Line 386 C++
TESTpd_func.exe!std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Connection::)(boost::system::error_code const & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)>) __ptr64,void,maidsafe::rudp::detail::Connection,boost::system::error_code const & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)>,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>::operator()std::shared_ptr<maidsafe::rudp::detail::Connection >(std::shared_ptrmaidsafe::rudp::detail::Connection & _Ptr, const boost::system::error_code & _V0, const std::basic_string<char,std::char_traits,std::allocator > & _V1, std::function<void __cdecl(int)> _V2) Line 1269 C++
TESTpd_func.exe!std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Connection::
)(boost::system::error_code const & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)>) __ptr64,void,maidsafe::rudp::detail::Connection,boost::system::error_code const & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)>,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Connection,std::_Ph<1> & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)> const & __ptr64,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>::operator()<boost::system::error_code const & __ptr64>(const boost::system::error_code & _V0) Line 1152 C++
TESTpd_func.exe!boost::asio::detail::binder1<std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Connection::)(boost::system::error_code const & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)>) __ptr64,void,maidsafe::rudp::detail::Connection,boost::system::error_code const & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)>,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Connection,std::_Ph<1> & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)> const & __ptr64,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,boost::system::error_code>::operator()() Line 47 C++
TESTpd_func.exe!boost::asio::asio_handler_invoke<boost::asio::detail::binder1<std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Connection::
)(boost::system::error_code const & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)>) __ptr64,void,maidsafe::rudp::detail::Connection,boost::system::error_code const & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)>,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Connection,std::_Ph<1> & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)> const & __ptr64,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,boost::system::error_code> >(boost::asio::detail::binder1<std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Connection::)(boost::system::error_code const &,std::basic_string<char,std::char_traits,std::allocator > const &,std::function<void __cdecl(int)>),void,maidsafe::rudp::detail::Connection,boost::system::error_code const &,std::basic_string<char,std::char_traits,std::allocator > const &,std::function<void __cdecl(int)>,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Connection,std::_Ph<1> &,std::basic_string<char,std::char_traits,std::allocator > const &,std::function<void __cdecl(int)> const &,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,boost::system::error_code> function, ...) Line 64 C++
TESTpd_func.exe!boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder1<std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Connection::
)(boost::system::error_code const & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)>) __ptr64,void,maidsafe::rudp::detail::Connection,boost::system::error_code const & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)>,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Connection,std::_Ph<1> & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)> const & __ptr64,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,boost::system::error_code>,std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Connection::)(boost::system::error_code const & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)>) __ptr64,void,maidsafe::rudp::detail::Connection,boost::system::error_code const & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)>,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Connection,std::_Ph<1> & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)> const & __ptr64,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil> >(boost::asio::detail::binder1<std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Connection::)(boost::system::error_code const &,std::basic_string<char,std::char_traits,std::allocator > const &,std::function<void __cdecl(int)>),void,maidsafe::rudp::detail::Connection,boost::system::error_code const &,std::basic_string<char,std::char_traits,std::allocator > const &,std::function<void __cdecl(int)>,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Connection,std::_Ph<1> &,std::basic_string<char,std::char_traits,std::allocator > const &,std::function<void __cdecl(int)> const &,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,boost::system::error_code> & function, std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Connection::)(boost::system::error_code const &,std::basic_string<char,std::char_traits,std::allocator > const &,std::function<void __cdecl(int)>),void,maidsafe::rudp::detail::Connection,boost::system::error_code const &,std::basic_string<char,std::char_traits,std::allocator > const &,std::function<void __cdecl(int)>,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Connection,std::_Ph<1> &,std::basic_string<char,std::char_traits,std::allocator > const &,std::function<void __cdecl(int)> const &,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil> & context) Line 41 C++
TESTpd_func.exe!boost::asio::detail::asio_handler_invoke<boost::asio::detail::binder1<std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Connection::
)(boost::system::error_code const & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)>) __ptr64,void,maidsafe::rudp::detail::Connection,boost::system::error_code const & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)>,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Connection,std::_Ph<1> & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)> const & __ptr64,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,boost::system::error_code>,std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Connection::)(boost::system::error_code const & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)>) __ptr64,void,maidsafe::rudp::detail::Connection,boost::system::error_code const & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)>,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Connection,std::_Ph<1> & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)> const & __ptr64,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,boost::system::error_code>(boost::asio::detail::binder1<std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Connection::)(boost::system::error_code const &,std::basic_string<char,std::char_traits,std::allocator > const &,std::function<void __cdecl(int)>),void,maidsafe::rudp::detail::Connection,boost::system::error_code const &,std::basic_string<char,std::char_traits,std::allocator > const &,std::function<void __cdecl(int)>,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Connection,std::_Ph<1> &,std::basic_string<char,std::char_traits,std::allocator > const &,std::function<void __cdecl(int)> const &,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,boost::system::error_code> & function, boost::asio::detail::binder1<std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Connection::)(boost::system::error_code const &,std::basic_string<char,std::char_traits,std::allocator > const &,std::function<void __cdecl(int)>),void,maidsafe::rudp::detail::Connection,boost::system::error_code const &,std::basic_string<char,std::char_traits,std::allocator > const &,std::function<void __cdecl(int)>,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Connection,std::_Ph<1> &,std::basic_string<char,std::char_traits,std::allocator > const &,std::function<void __cdecl(int)> const &,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,boost::system::error_code> * this_handler) Line 81 C++
TESTpd_func.exe!boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder1<std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Connection::
)(boost::system::error_code const & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)>) __ptr64,void,maidsafe::rudp::detail::Connection,boost::system::error_code const & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)>,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Connection,std::_Ph<1> & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)> const & __ptr64,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,boost::system::error_code>,boost::asio::detail::binder1<std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Connection::)(boost::system::error_code const & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)>) __ptr64,void,maidsafe::rudp::detail::Connection,boost::system::error_code const & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)>,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Connection,std::_Ph<1> & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)> const & __ptr64,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,boost::system::error_code> >(boost::asio::detail::binder1<std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Connection::)(boost::system::error_code const &,std::basic_string<char,std::char_traits,std::allocator > const &,std::function<void __cdecl(int)>),void,maidsafe::rudp::detail::Connection,boost::system::error_code const &,std::basic_string<char,std::char_traits,std::allocator > const &,std::function<void __cdecl(int)>,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Connection,std::_Ph<1> &,std::basic_string<char,std::char_traits,std::allocator > const &,std::function<void __cdecl(int)> const &,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,boost::system::error_code> & function, boost::asio::detail::binder1<std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Connection::)(boost::system::error_code const &,std::basic_string<char,std::char_traits,std::allocator > const &,std::function<void __cdecl(int)>),void,maidsafe::rudp::detail::Connection,boost::system::error_code const &,std::basic_string<char,std::char_traits,std::allocator > const &,std::function<void __cdecl(int)>,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Connection,std::_Ph<1> &,std::basic_string<char,std::char_traits,std::allocator > const &,std::function<void __cdecl(int)> const &,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,boost::system::error_code> & context) Line 41 C++
TESTpd_func.exe!boost::asio::detail::strand_service::dispatch<boost::asio::detail::binder1<std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Connection::
)(boost::system::error_code const & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)>) __ptr64,void,maidsafe::rudp::detail::Connection,boost::system::error_code const & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)>,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Connection,std::_Ph<1> & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)> const & __ptr64,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,boost::system::error_code> >(boost::asio::detail::strand_service::strand_impl * & impl, boost::asio::detail::binder1<std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Connection::)(boost::system::error_code const &,std::basic_string<char,std::char_traits,std::allocator > const &,std::function<void __cdecl(int)>),void,maidsafe::rudp::detail::Connection,boost::system::error_code const &,std::basic_string<char,std::char_traits,std::allocator > const &,std::function<void __cdecl(int)>,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Connection,std::_Ph<1> &,std::basic_string<char,std::char_traits,std::allocator > const &,std::function<void __cdecl(int)> const &,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,boost::system::error_code> handler) Line 61 C++
TESTpd_func.exe!boost::asio::io_service::strand::dispatch<boost::asio::detail::binder1<std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Connection::
)(boost::system::error_code const & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)>) __ptr64,void,maidsafe::rudp::detail::Connection,boost::system::error_code const & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)>,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Connection,std::_Ph<1> & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)> const & __ptr64,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,boost::system::error_code> >(const boost::asio::detail::binder1<std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Connection::)(boost::system::error_code const &,std::basic_string<char,std::char_traits,std::allocator > const &,std::function<void __cdecl(int)>),void,maidsafe::rudp::detail::Connection,boost::system::error_code const &,std::basic_string<char,std::char_traits,std::allocator > const &,std::function<void __cdecl(int)>,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Connection,std::_Ph<1> &,std::basic_string<char,std::char_traits,std::allocator > const &,std::function<void __cdecl(int)> const &,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,boost::system::error_code> & handler) Line 150 C++
TESTpd_func.exe!boost::asio::detail::wrapped_handler<boost::asio::io_service::strand,std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Connection::
)(boost::system::error_code const & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)>) __ptr64,void,maidsafe::rudp::detail::Connection,boost::system::error_code const & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)>,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Connection,std::_Ph<1> & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)> const & __ptr64,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil> >::operator()boost::system::error_code(const boost::system::error_code & arg1) Line 67 C++
TESTpd_func.exe!maidsafe::rudp::detail::ConnectOp<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand,std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Connection::)(boost::system::error_code const & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)>) __ptr64,void,maidsafe::rudp::detail::Connection,boost::system::error_code const & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)>,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Connection,std::_Ph<1> & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)> const & __ptr64,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil> > >::operator()(boost::system::error_code __formal) Line 39 C++
TESTpd_func.exe!boost::asio::detail::binder1<maidsafe::rudp::detail::ConnectOp<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand,std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Connection::
)(boost::system::error_code const & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)>) __ptr64,void,maidsafe::rudp::detail::Connection,boost::system::error_code const & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)>,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Connection,std::_Ph<1> & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)> const & __ptr64,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil> > >,boost::system::error_code>::operator()() Line 47 C++
TESTpd_func.exe!boost::asio::detail::rewrapped_handler<boost::asio::detail::binder1<maidsafe::rudp::detail::ConnectOp<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand,std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Connection::)(boost::system::error_code const & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)>) __ptr64,void,maidsafe::rudp::detail::Connection,boost::system::error_code const & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)>,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Connection,std::_Ph<1> & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)> const & __ptr64,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil> > >,boost::system::error_code>,std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Connection::)(boost::system::error_code const & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)>) __ptr64,void,maidsafe::rudp::detail::Connection,boost::system::error_code const & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)>,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Connection,std::_Ph<1> & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)> const & __ptr64,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil> >::operator()() Line 172 C++
TESTpd_func.exe!boost::asio::asio_handler_invoke<boost::asio::detail::rewrapped_handler<boost::asio::detail::binder1<maidsafe::rudp::detail::ConnectOp<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand,std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Connection::)(boost::system::error_code const & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)>) __ptr64,void,maidsafe::rudp::detail::Connection,boost::system::error_code const & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)>,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Connection,std::_Ph<1> & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)> const & __ptr64,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil> > >,boost::system::error_code>,std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Connection::)(boost::system::error_code const & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)>) __ptr64,void,maidsafe::rudp::detail::Connection,boost::system::error_code const & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)>,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Connection,std::_Ph<1> & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)> const & __ptr64,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil> > >(boost::asio::detail::rewrapped_handler<boost::asio::detail::binder1<maidsafe::rudp::detail::ConnectOp<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand,std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Connection::)(boost::system::error_code const &,std::basic_string<char,std::char_traits,std::allocator > const &,std::function<void __cdecl(int)>),void,maidsafe::rudp::detail::Connection,boost::system::error_code const &,std::basic_string<char,std::char_traits,std::allocator > const &,std::function<void __cdecl(int)>,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Connection,std::_Ph<1> &,std::basic_string<char,std::char_traits,std::allocator > const &,std::function<void __cdecl(int)> const &,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil> > >,boost::system::error_code>,std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Connection::)(boost::system::error_code const &,std::basic_string<char,std::char_traits,std::allocator > const &,std::function<void __cdecl(int)>),void,maidsafe::rudp::detail::Connection,boost::system::error_code const &,std::basic_string<char,std::char_traits,std::allocator > const &,std::function<void __cdecl(int)>,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Connection,std::_Ph<1> &,std::basic_string<char,std::char_traits,std::allocator > const &,std::function<void __cdecl(int)> const &,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil> > function, ...) Line 64 C++
TESTpd_func.exe!boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::rewrapped_handler<boost::asio::detail::binder1<maidsafe::rudp::detail::ConnectOp<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand,std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Connection::)(boost::system::error_code const & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)>) __ptr64,void,maidsafe::rudp::detail::Connection,boost::system::error_code const & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)>,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Connection,std::_Ph<1> & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)> const & __ptr64,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil> > >,boost::system::error_code>,std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Connection::)(boost::system::error_code const & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)>) __ptr64,void,maidsafe::rudp::detail::Connection,boost::system::error_code const & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)>,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Connection,std::_Ph<1> & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)> const & __ptr64,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil> >,std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Connection::)(boost::system::error_code const & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)>) __ptr64,void,maidsafe::rudp::detail::Connection,boost::system::error_code const & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)>,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Connection,std::_Ph<1> & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)> const & __ptr64,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil> >(boost::asio::detail::rewrapped_handler<boost::asio::detail::binder1<maidsafe::rudp::detail::ConnectOp<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand,std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Connection::)(boost::system::error_code const &,std::basic_string<char,std::char_traits,std::allocator > const &,std::function<void __cdecl(int)>),void,maidsafe::rudp::detail::Connection,boost::system::error_code const &,std::basic_string<char,std::char_traits,std::allocator > const &,std::function<void __cdecl(int)>,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Connection,std::_Ph<1> &,std::basic_string<char,std::char_traits,std::allocator > const &,std::function<void __cdecl(int)> const &,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil> > >,boost::system::error_code>,std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Connection::)(boost::system::error_code const &,std::basic_string<char,std::char_traits,std::allocator > const &,std::function<void __cdecl(int)>),void,maidsafe::rudp::detail::Connection,boost::system::error_code const &,std::basic_string<char,std::char_traits,std::allocator > const &,std::function<void __cdecl(int)>,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Connection,std::_Ph<1> &,std::basic_string<char,std::char_traits,std::allocator > const &,std::function<void __cdecl(int)> const &,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil> > & function, std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Connection::)(boost::system::error_code const &,std::basic_string<char,std::char_traits,std::allocator > const &,std::function<void __cdecl(int)>),void,maidsafe::rudp::detail::Connection,boost::system::error_code const &,std::basic_string<char,std::char_traits,std::allocator > const &,std::function<void __cdecl(int)>,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Connection,std::_Ph<1> &,std::basic_string<char,std::char_traits,std::allocator > const &,std::function<void __cdecl(int)> const &,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil> & context) Line 41 C++
TESTpd_func.exe!boost::asio::detail::asio_handler_invoke<boost::asio::detail::rewrapped_handler<boost::asio::detail::binder1<maidsafe::rudp::detail::ConnectOp<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand,std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Connection::)(boost::system::error_code const & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)>) __ptr64,void,maidsafe::rudp::detail::Connection,boost::system::error_code const & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)>,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Connection,std::_Ph<1> & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)> const & __ptr64,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil> > >,boost::system::error_code>,std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Connection::)(boost::system::error_code const & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)>) __ptr64,void,maidsafe::rudp::detail::Connection,boost::system::error_code const & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)>,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Connection,std::_Ph<1> & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)> const & __ptr64,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil> >,boost::asio::detail::binder1<maidsafe::rudp::detail::ConnectOp<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand,std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Connection::)(boost::system::error_code const & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)>) __ptr64,void,maidsafe::rudp::detail::Connection,boost::system::error_code const & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)>,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Connection,std::_Ph<1> & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)> const & __ptr64,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil> > >,boost::system::error_code>,std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Connection::)(boost::system::error_code const & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)>) __ptr64,void,maidsafe::rudp::detail::Connection,boost::system::error_code const & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)>,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Connection,std::_Ph<1> & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)> const & __ptr64,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil> >(boost::asio::detail::rewrapped_handler<boost::asio::detail::binder1<maidsafe::rudp::detail::ConnectOp<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand,std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Connection::)(boost::system::error_code const &,std::basic_string<char,std::char_traits,std::allocator > const &,std::function<void __cdecl(int)>),void,maidsafe::rudp::detail::Connection,boost::system::error_code const &,std::basic_string<char,std::char_traits,std::allocator > const &,std::function<void __cdecl(int)>,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Connection,std::_Ph<1> &,std::basic_string<char,std::char_traits,std::allocator > const &,std::function<void __cdecl(int)> const &,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil> > >,boost::system::error_code>,std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Connection::)(boost::system::error_code const &,std::basic_string<char,std::char_traits,std::allocator > const &,std::function<void __cdecl(int)>),void,maidsafe::rudp::detail::Connection,boost::system::error_code const &,std::basic_string<char,std::char_traits,std::allocator > const &,std::function<void __cdecl(int)>,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Connection,std::_Ph<1> &,std::basic_string<char,std::char_traits,std::allocator > const &,std::function<void __cdecl(int)> const &,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil> > & function, boost::asio::detail::rewrapped_handler<boost::asio::detail::binder1<maidsafe::rudp::detail::ConnectOp<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand,std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Connection::)(boost::system::error_code const &,std::basic_string<char,std::char_traits,std::allocator > const &,std::function<void __cdecl(int)>),void,maidsafe::rudp::detail::Connection,boost::system::error_code const &,std::basic_string<char,std::char_traits,std::allocator > const &,std::function<void __cdecl(int)>,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Connection,std::_Ph<1> &,std::basic_string<char,std::char_traits,std::allocator > const &,std::function<void __cdecl(int)> const &,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil> > >,boost::system::error_code>,std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Connection::)(boost::system::error_code const &,std::basic_string<char,std::char_traits,std::allocator > const &,std::function<void __cdecl(int)>),void,maidsafe::rudp::detail::Connection,boost::system::error_code const &,std::basic_string<char,std::char_traits,std::allocator > const &,std::function<void __cdecl(int)>,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Connection,std::_Ph<1> &,std::basic_string<char,std::char_traits,std::allocator > const &,std::function<void __cdecl(int)> const &,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil> > * this_handler) Line 240 C++
TESTpd_func.exe!boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::rewrapped_handler<boost::asio::detail::binder1<maidsafe::rudp::detail::ConnectOp<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand,std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Connection::)(boost::system::error_code const & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)>) __ptr64,void,maidsafe::rudp::detail::Connection,boost::system::error_code const & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)>,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Connection,std::_Ph<1> & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)> const & __ptr64,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil> > >,boost::system::error_code>,std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Connection::)(boost::system::error_code const & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)>) __ptr64,void,maidsafe::rudp::detail::Connection,boost::system::error_code const & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)>,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Connection,std::_Ph<1> & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)> const & __ptr64,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil> >,boost::asio::detail::rewrapped_handler<boost::asio::detail::binder1<maidsafe::rudp::detail::ConnectOp<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand,std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Connection::)(boost::system::error_code const & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)>) __ptr64,void,maidsafe::rudp::detail::Connection,boost::system::error_code const & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)>,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Connection,std::_Ph<1> & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)> const & __ptr64,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil> > >,boost::system::error_code>,std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Connection::)(boost::system::error_code const & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)>) __ptr64,void,maidsafe::rudp::detail::Connection,boost::system::error_code const & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)>,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,std::shared_ptrmaidsafe::rudp::detail::Connection,std::_Ph<1> & __ptr64,std::basic_string<char,std::char_traits,std::allocator > const & __ptr64,std::function<void __cdecl(int)> const & __ptr64,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil> > >(boost::asio::detail::rewrapped_handler<boost::asio::detail::binder1<maidsafe::rudp::detail::ConnectOp<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand,std::_Bind<1,void,std::_Pmf_wrap<void (__cdecl maidsafe::rudp::detail::Connection::*)(boost::system::error_code const &,std::basic_string<char,std::char_traits,std::allocator > const &,std::function<void __cdecl(int)>),void,maidsafe::rudp::detail::Connection,boost::system::error_code const &,std::basic_string<char,std::cha

Uninitialised bounded string in ChunkInfoHandler::SerialiseChunkInfo

I 2990537536 19:04:35.370322 pd/vault/node.cc:691] OnCloseNodeReplaced - 4fb0ec7..c7cafe3 - Synchronising with new node 6ba0424..567f5bc
I 3072326464 19:04:35.417055 pd/vault/node.cc:696] GetSyncDataCallback - 4fb0ec7..c7cafe3 - Got 2 data sets from 6ba0424..567f5bc
S 3072326464 19:04:35.417532 pd/vault/account_handler.cc:441] ParseAccounts - Parsed 10 account records.
S 3072326464 19:04:35.421061 pd/vault/chunk_info_handler.cc:1072] ParseChunkInfo - Parsed 52 chunk info records, 0 transaction records and 0 duplication records.
Init - 4fb0ec7..c7cafe3 - Network health is 23% (was 25%)
terminate called after throwing an instance of 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<std::system_error> >'
  what():  Class is uninitialised.
#0  0xb7fdd424 in __kernel_vsyscall ()
#1  0xb7dd61df in __GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#2  0xb7dd9825 in __GI_abort () at abort.c:91
#3  0x08dba81d in __gnu_cxx::__verbose_terminate_handler() ()
#4  0x08db8933 in __cxxabiv1::__terminate(void (*)()) ()
#5  0x08db896f in std::terminate() ()
#6  0x08db88be in __cxa_throw ()
#7  0x08ba8bde in boost::throw_exception<std::system_error> (e=...)
    at /home/maidsafe/Work/MyMaidSafe-SuperProject/src/third_party_libs/boost/boost/throw_exception.hpp:67
#8  0x08ba80c5 in maidsafe::DoThrowError (code=...)
    at /home/maidsafe/Work/MyMaidSafe-SuperProject/src/common/src/maidsafe/common/error.cc:72
#9  0x087d8a58 in maidsafe::ThrowError (code=...)
    at /home/maidsafe/Work/MyMaidSafe-SuperProject/src/common/include/maidsafe/common/error.h:561
#10 0x0880e946 in maidsafe::detail::BoundedString<24u, 24u>::string (this=0xb71fe178)
    at /home/maidsafe/Work/MyMaidSafe-SuperProject/src/common/include/maidsafe/common/bounded_string.h:122
#11 0x088acf57 in operator() (this=0xb71fe1ac, entry=...)
    at /home/maidsafe/Work/MyMaidSafe-SuperProject/src/pd/src/maidsafe/pd/vault/chunk_info_handler.cc:912
#12 0x088aedc0 in std::for_each<std::_Rb_tree_const_iterator<std::pair<const maidsafe::NodeId, maidsafe::pd::vault::ChunkInfoHandler::ChunkInfo::Instance> >, maidsafe::pd::vault::ChunkInfoHandler::SerialiseChunkInfo()::<lambda(const value_type&)>::<lambda(const std::pair<maidsafe::NodeId, maidsafe::pd::vault::ChunkInfoHandler::ChunkInfo::Instance>&)> >(std::_Rb_tree_const_iterator<std::pair<maidsafe::NodeId const, maidsafe::pd::vault::ChunkInfoHandler::ChunkInfo::Instance> >, std::_Rb_tree_const_iterator<std::pair<maidsafe::NodeId const, maidsafe::pd::vault::ChunkInfoHandler::ChunkInfo::Instance> >, struct {...}) (__first=..., __last=..., __f=...) at /usr/include/c++/4.6/bits/stl_algo.h:4379
#13 0x088ad157 in operator() (this=0xb71fe21c, info=...)
    at /home/maidsafe/Work/MyMaidSafe-SuperProject/src/pd/src/maidsafe/pd/vault/chunk_info_handler.cc:916
#14 0x088aee4f in std::for_each<std::_Rb_tree_iterator<std::pair<const maidsafe::detail::BoundedString<64u, 65u>, maidsafe::pd::vault::ChunkInfoHandler::ChunkInfo> >, maidsafe::pd::vault::ChunkInfoHandler::SerialiseChunkInfo()::<lambda(const value_type&)> >(std::_Rb_tree_iterator<std::pair<maidsafe::detail::BoundedString<64u, 65u> const, maidsafe::pd::vault::ChunkInfoHandler::ChunkInfo> >, std::_Rb_tree_iterator<std::pair<maidsafe::detail::BoundedString<64u, 65u> const, maidsafe::pd::vault::ChunkInfoHandler::ChunkInfo> >, struct {...}) (__first=..., __last=..., __f=...)
    at /usr/include/c++/4.6/bits/stl_algo.h:4379
#15 0x088ad44e in maidsafe::pd::vault::ChunkInfoHandler::SerialiseChunkInfo (this=0x91a6270)
    at /home/maidsafe/Work/MyMaidSafe-SuperProject/src/pd/src/maidsafe/pd/vault/chunk_info_handler.cc:929
#16 0x087f7999 in maidsafe::pd::vault::Node::GetSyncData (this=0x91703f4, response=0xb71fee04)
    at /home/maidsafe/Work/MyMaidSafe-SuperProject/src/pd/src/maidsafe/pd/vault/node.cc:944

Routing - Race condition on Connect request.

When both peers initiate connection request together they disallow each other's request. After the pending list is cleared at one of the node, it tries again and fails to proceed as pending list at other end still had the id. This results in an endless loop of trying to connect.

Rudp crashes on destruction.

message_received_functor_/connection_lost_functor_ functors at rudp are made null in destructor of ManagedConnection. Since there is no locking in destructor, any network activity happening at/after this can have race condition and fail to find the functors.

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

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.

bounded string throw in encrypt

Using drive can result in an invalid attempt to create a bounded string in the DeleteAllChunks method of encrypt. Datamap being passed appears to have 2 chunks with empty hashes.

More detail to follow

Routing crash when tearing down network

Test is completed and shutdown of nodes is being done when this happens. Backtrace:
#0 __pthread_mutex_lock (mutex=0x38) at pthread_mutex_lock.c:51
#1 0x0897e56d in __gthread_mutex_lock (__mutex=0x38) at /usr/lib/gcc/i686-redhat-linux/4.7.2/../../../../include/c++/4.7.2/i686-redhat-linux/bits/gthr-default.h:769
#2 0x08984e71 in std::mutex::lock (this=0x38) at /usr/lib/gcc/i686-redhat-linux/4.7.2/../../../../include/c++/4.7.2/mutex:169
#3 0x0898af0d in std::unique_lockstd::mutex::lock (this=0x9f5e01d8) at /usr/lib/gcc/i686-redhat-linux/4.7.2/../../../../include/c++/4.7.2/mutex:545
#4 0x089895b0 in std::unique_lockstd::mutex::unique_lock (this=0x9f5e01d8, __m=...) at /usr/lib/gcc/i686-redhat-linux/4.7.2/../../../../include/c++/4.7.2/mutex:477
#5 0x0898fbf3 in operator() (__closure=0x9402cf8, network_health=@0x9f5e0264: 87) at /home/Smer/maidsafe/src/lifestuff/src/maidsafe/lifestuff/detail/routings_handler.cc:115
#6 0x089937eb in std::_Function_handler<void(const int&), maidsafe::lifestuff::RoutingsHandler::AddRoutingObject(const maidsafe::rsa::Keys&, const std::vector<std::pair<std::basic_string, short unsigned int> >&, const string&, const RequestPublicKeyFunctor&)::<lambda(const int&)> >::_M_invoke(const std::_Any_data &, const int &) (__functor=..., __args#0=@0x9f5e0264: 87) at /usr/lib/gcc/i686-redhat-linux/4.7.2/../../../../include/c++/4.7.2/functional:1926
#7 0x08ba6718 in std::function<void (int const&)>::operator()(int const&) const (this=0x9421494, __args#0=@0x9f5e0264: 87) at /usr/lib/gcc/i686-redhat-linux/4.7.2/../../../../include/c++/4.7.2/functional:2311
#8 0x08c5d58f in maidsafe::routing::RoutingTable::UpdateNetworkStatus (this=0x942133c, size=@0x9f5e039e: 7) at /home/Smer/maidsafe/src/routing/src/maidsafe/routing/routing_table.cc:460
#9 0x08c5a7fc in maidsafe::routing::RoutingTable::DropNode (this=0x942133c, node_to_drop=..., routing_only=@0x9f5e081b: true) at /home/Smer/maidsafe/src/routing/src/maidsafe/routing/routing_table.cc:133
#10 0x08c41a9d in maidsafe::routing::Routing::DoOnConnectionLost (this=0x9411748, lost_connection_id=..., impl=...) at /home/Smer/maidsafe/src/routing/src/maidsafe/routing/routing_api.cc:583
#11 0x08c41466 in operator() (__closure=0x9f5e0e30) at /home/Smer/maidsafe/src/routing/src/maidsafe/routing/routing_api.cc:562
#12 0x08c48994 in boost::asio::asio_handler_invoke<maidsafe::routing::Routing::OnConnectionLost(const maidsafe::NodeId&, std::weak_ptrmaidsafe::routing::RoutingPrivate)::<lambda()> >(struct {...}, ...) (function=...)

at /home/Smer/maidsafe/src/third_party_libs/boost/boost/asio/handler_invoke_hook.hpp:64

#13 0x08c482dc in boost_asio_handler_invoke_helpers::invoke<maidsafe::routing::Routing::OnConnectionLost(const maidsafe::NodeId&, std::weak_ptrmaidsafe::routing::RoutingPrivate)::<lambda()>, maidsafe::routing::Routing::OnConnectionLost(const maidsafe::NodeId&, std::weak_ptrmaidsafe::routing::RoutingPrivate)::<lambda()> >(struct {...} &, struct {...} &) (function=..., context=...)

at /home/Smer/maidsafe/src/third_party_libs/boost/boost/asio/detail/handler_invoke_helpers.hpp:39

#14 0x08c47946 in boost::asio::detail::completion_handler<maidsafe::routing::Routing::OnConnectionLost(const maidsafe::NodeId&, std::weak_ptrmaidsafe::routing::RoutingPrivate)::<lambda()> >::do_complete(boost::asio::detail::io_service_impl *, boost::asio::detail::operation *, const boost::system::error_code &, std::size_t) (owner=0x9414870, base=0xb32057d0) at /home/Smer/maidsafe/src/third_party_libs/boost/boost/asio/detail/completion_handler.hpp:67
#15 0x08ce78e9 in boost::asio::detail::task_io_service_operation::complete (this=0xb32057d0, owner=..., ec=..., bytes_transferred=0) at /home/Smer/maidsafe/src/third_party_libs/boost/boost/asio/detail/task_io_service_operation.hpp:37
#16 0x08d47e56 in boost::asio::detail::task_io_service::do_run_one (this=0x9414870, lock=..., this_thread=..., ec=...) at /home/Smer/maidsafe/src/third_party_libs/boost/boost/asio/detail/impl/task_io_service.ipp:419
#17 0x08d47ba3 in boost::asio::detail::task_io_service::run (this=0x9414870, ec=...) at /home/Smer/maidsafe/src/third_party_libs/boost/boost/asio/detail/impl/task_io_service.ipp:160
#18 0x08d48012 in boost::asio::io_service::run (this=0x94211f0) at /home/Smer/maidsafe/src/third_party_libs/boost/boost/asio/impl/io_service.ipp:59
#19 0x08d45cc5 in operator() (__closure=0x94032d4) at /home/Smer/maidsafe/src/common/src/maidsafe/common/asio_service.cc:55
#20 0x08d474e6 in boost::detail::thread_datamaidsafe::AsioService::Start()::<lambda() >::run(void) (this=0x94031d0) at /home/Smer/maidsafe/src/third_party_libs/boost/boost/thread/detail/thread.hpp:74
#21 0x08f1a97e in thread_proxy ()
#22 0x4dee7adf in start_thread (arg=0x9f5e1b40) at pthread_create.c:309
#23 0x4dded3ce in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:133

ManagedConnections::OnConnectionLostSlot() crash while running Vaults

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.

Access violation in PD.

Running PdTest, JoinNode, can result in the VaultChunkManager being already destroyed when RpcData callback to DoGet is called.

TESTpd_func.exe!maidsafe::pd::VaultChunkManager::DoGet(const maidsafe::detail::BoundedString<64,65> & chunk_name, const maidsafe::detail::BoundedString<24,24> & local_version, const maidsafe::detail::BoundedString<1,4294967295> & transaction_id, const maidsafe::detail::BoundedString<24,24> & chunk_version, const std::vectormaidsafe::NodeId,std::allocator<maidsafe::NodeId > & instances) Line 148 C++
TESTpd_func.exe!std::_Pmf_wrap<void (__thiscall maidsafe::pd::VaultChunkManager::)(maidsafe::detail::BoundedString<64,65> const &,maidsafe::detail::BoundedString<24,24> const &,maidsafe::detail::BoundedString<1,4294967295> const &,maidsafe::detail::BoundedString<24,24> const &,std::vectormaidsafe::NodeId,std::allocator<maidsafe::NodeId > const &),void,maidsafe::pd::VaultChunkManager,maidsafe::detail::BoundedString<64,65> const &,maidsafe::detail::BoundedString<24,24> const &,maidsafe::detail::BoundedString<1,4294967295> const &,maidsafe::detail::BoundedString<24,24> const &,std::vectormaidsafe::NodeId,std::allocator<maidsafe::NodeId > const &,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>::operator()(maidsafe::pd::VaultChunkManager * _Pfnobj, const maidsafe::detail::BoundedString<64,65> & _V0, const maidsafe::detail::BoundedString<24,24> & _V1, const maidsafe::detail::BoundedString<1,4294967295> & _V2, const maidsafe::detail::BoundedString<24,24> & _V3, const std::vectormaidsafe::NodeId,std::allocator<maidsafe::NodeId > & _V4) Line 1269 C++
TESTpd_func.exe!std::_Bind<1,void,std::_Pmf_wrap<void (__thiscall maidsafe::pd::VaultChunkManager::
)(maidsafe::detail::BoundedString<64,65> const &,maidsafe::detail::BoundedString<24,24> const &,maidsafe::detail::BoundedString<1,4294967295> const &,maidsafe::detail::BoundedString<24,24> const &,std::vectormaidsafe::NodeId,std::allocator<maidsafe::NodeId > const &),void,maidsafe::pd::VaultChunkManager,maidsafe::detail::BoundedString<64,65> const &,maidsafe::detail::BoundedString<24,24> const &,maidsafe::detail::BoundedString<1,4294967295> const &,maidsafe::detail::BoundedString<24,24> const &,std::vectormaidsafe::NodeId,std::allocator<maidsafe::NodeId > const &,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,maidsafe::pd::VaultChunkManager * const,maidsafe::detail::BoundedString<64,65> const &,maidsafe::detail::BoundedString<24,24> const &,maidsafe::detail::BoundedString<1,4294967295>,std::_Ph<2> &,std::_Ph<3> &,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>::operator()<bool,maidsafe::detail::BoundedString<24,24> const &,std::vectormaidsafe::NodeId,std::allocator<maidsafe::NodeId > const &>(bool && _V0, const maidsafe::detail::BoundedString<24,24> & _V1, const std::vectormaidsafe::NodeId,std::allocator<maidsafe::NodeId > & _V2) Line 1152 C++
TESTpd_func.exe!std::_Callable_obj<std::_Bind<1,void,std::_Pmf_wrap<void (__thiscall maidsafe::pd::VaultChunkManager::)(maidsafe::detail::BoundedString<64,65> const &,maidsafe::detail::BoundedString<24,24> const &,maidsafe::detail::BoundedString<1,4294967295> const &,maidsafe::detail::BoundedString<24,24> const &,std::vectormaidsafe::NodeId,std::allocator<maidsafe::NodeId > const &),void,maidsafe::pd::VaultChunkManager,maidsafe::detail::BoundedString<64,65> const &,maidsafe::detail::BoundedString<24,24> const &,maidsafe::detail::BoundedString<1,4294967295> const &,maidsafe::detail::BoundedString<24,24> const &,std::vectormaidsafe::NodeId,std::allocator<maidsafe::NodeId > const &,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,maidsafe::pd::VaultChunkManager * const,maidsafe::detail::BoundedString<64,65> const &,maidsafe::detail::BoundedString<24,24> const &,maidsafe::detail::BoundedString<1,4294967295>,std::_Ph<2> &,std::_Ph<3> &,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,0>::_ApplyX<void,bool,maidsafe::detail::BoundedString<24,24> const &,std::vectormaidsafe::NodeId,std::allocator<maidsafe::NodeId > const &>(bool && _V0, const maidsafe::detail::BoundedString<24,24> & _V1, const std::vectormaidsafe::NodeId,std::allocator<maidsafe::NodeId > & _V2) Line 431 C++
TESTpd_func.exe!std::_Func_impl<std::_Callable_obj<std::_Bind<1,void,std::_Pmf_wrap<void (__thiscall maidsafe::pd::VaultChunkManager::
)(maidsafe::detail::BoundedString<64,65> const &,maidsafe::detail::BoundedString<24,24> const &,maidsafe::detail::BoundedString<1,4294967295> const &,maidsafe::detail::BoundedString<24,24> const &,std::vectormaidsafe::NodeId,std::allocator<maidsafe::NodeId > const &),void,maidsafe::pd::VaultChunkManager,maidsafe::detail::BoundedString<64,65> const &,maidsafe::detail::BoundedString<24,24> const &,maidsafe::detail::BoundedString<1,4294967295> const &,maidsafe::detail::BoundedString<24,24> const &,std::vectormaidsafe::NodeId,std::allocator<maidsafe::NodeId > const &,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,maidsafe::pd::VaultChunkManager * const,maidsafe::detail::BoundedString<64,65> const &,maidsafe::detail::BoundedString<24,24> const &,maidsafe::detail::BoundedString<1,4294967295>,std::_Ph<2> &,std::_Ph<3> &,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>,0>,std::allocatorstd::_Func_class<void,bool,maidsafe::detail::BoundedString<24,24 const &,std::vectormaidsafe::NodeId,std::allocator<maidsafe::NodeId > const &,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil> >,void,bool,maidsafe::detail::BoundedString<24,24> const &,std::vectormaidsafe::NodeId,std::allocator<maidsafe::NodeId > const &,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>::_Do_call(bool && _V0, const maidsafe::detail::BoundedString<24,24> & _V1, const std::vectormaidsafe::NodeId,std::allocator<maidsafe::NodeId > & _V2) Line 239 C++
TESTpd_func.exe!std::_Func_class<void,bool,maidsafe::detail::BoundedString<24,24> const &,std::vectormaidsafe::NodeId,std::allocator<maidsafe::NodeId > const &,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>::operator()(bool _Vx0, const maidsafe::detail::BoundedString<24,24> & _Vx1, const std::vectormaidsafe::NodeId,std::allocator<maidsafe::NodeId > & _Vx2) Line 516 C++
TESTpd_func.exe!maidsafe::pd::RpcHandler::ProcessResponsemaidsafe::pd::chunk_info::GetInstancesType(const int & result, const std::vectorstd::basic_string<char,std::char_traits<char,std::allocator >,std::allocatorstd::basic_string<char,std::char_traits<char,std::allocator > > > & messages, const std::shared_ptrmaidsafe::pd::RpcData<maidsafe::pd::chunk_info::GetInstancesType > & rpc_data) Line 923 C++
TESTpd_func.exe!maidsafe::pd::RpcHandler::CheckResponsemaidsafe::pd::chunk_info::GetInstancesType(int result, const std::vectorstd::basic_string<char,std::char_traits<char,std::allocator >,std::allocatorstd::basic_string<char,std::char_traits<char,std::allocator > > > & messages, const maidsafe::pd::SecurityType & security_type, const std::shared_ptrmaidsafe::pd::RpcData<maidsafe::pd::chunk_info::GetInstancesType > & rpc_data) Line 131 C++
TESTpd_func.exe!<lambda_3c8c0002db373c0170eeb560914c1e5e>::operator()() Line 69 C++
TESTpd_func.exe!std::_Callable_obj<<lambda_3c8c0002db373c0170eeb560914c1e5e>,0>::_ApplyX() Line 431 C++
TESTpd_func.exe!std::_Func_implstd::_Callable_obj<<lambda_3c8c0002db373c0170eeb560914c1e5e,0>,std::allocatorstd::_Func_class<void,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil >,void,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>::_Do_call() Line 239 C++
TESTpd_func.exe!std::_Func_class<void,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>::operator()() Line 514 C++
TESTpd_func.exe!boost::asio::asio_handler_invoke<std::function<void __cdecl(void)> >(std::function<void __cdecl(void)> function, ...) Line 65 C++
TESTpd_func.exe!boost_asio_handler_invoke_helpers::invoke<std::function<void __cdecl(void)>,std::function<void __cdecl(void)> >(std::function<void __cdecl(void)> & function, std::function<void __cdecl(void)> & context) Line 39 C++
TESTpd_func.exe!boost::asio::detail::completion_handler<std::function<void __cdecl(void)> >::do_complete(boost::asio::detail::win_iocp_io_service * owner, boost::asio::detail::win_iocp_operation * base, const boost::system::error_code & __formal, unsigned int __formal) Line 67 C++
TESTpd_func.exe!boost::asio::detail::win_iocp_operation::complete(boost::asio::detail::win_iocp_io_service & owner, const boost::system::error_code & ec, unsigned int bytes_transferred) Line 45 C++
TESTpd_func.exe!boost::asio::detail::win_iocp_io_service::do_one(bool block, boost::system::error_code & ec) Line 397 C++
TESTpd_func.exe!boost::asio::detail::win_iocp_io_service::run(boost::system::error_code & ec) Line 159 C++
TESTpd_func.exe!boost::asio::io_service::run() Line 59 C++
TESTpd_func.exe!<lambda_335afe37aaef659ae1f9e59aedfb6d9a>::operator()() Line 84 C++
TESTpd_func.exe!boost::detail::thread_data<<lambda_335afe37aaef659ae1f9e59aedfb6d9a> >::run() Line 75 C++
TESTpd_func.exe!boost::`anonymous namespace'::thread_start_function(void * param) Line 190 C++

Exception thrown by ChunkIntegrityManager

CIM chokes on an uninitialised bounded string when inserting an object into the multi index.

terminate called after throwing an instance of 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<std::system_error> >'
  what():  Class is uninitialised.

Program received signal SIGABRT, Aborted.
[Switching to Thread 0xb37ffb40 (LWP 14728)]
0xb7fdd424 in __kernel_vsyscall ()
(gdb) bt
#0  0xb7fdd424 in __kernel_vsyscall ()
#1  0xb7dda1df in raise () from /lib/i386-linux-gnu/libc.so.6
#2  0xb7ddd825 in abort () from /lib/i386-linux-gnu/libc.so.6
#3  0x08e40e6d in __gnu_cxx::__verbose_terminate_handler() ()
#4  0x08e3ef83 in __cxxabiv1::__terminate(void (*)()) ()
#5  0x08e3efbf in std::terminate() ()
#6  0x08e3ef64 in __cxa_rethrow ()
#7  0x0890f7b9 in boost::multi_index::multi_index_container<maidsafe::pd::vault::ValidateOp, boost::multi_index::indexed_by<boost::multi_index::ordered_non_unique<boost::multi_index::tag<maidsafe::pd::vault::TagChunkNameChunkHolder, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::multi_index::composite_key<maidsafe::pd::vault::ValidateOp, boost::multi_index::member<maidsafe::pd::vault::ValidateOp, maidsafe::detail::BoundedString<64u, 65u>, &maidsafe::pd::vault::ValidateOp::chunk_name>, boost::multi_index::member<maidsafe::pd::vault::ValidateOp, maidsafe::NodeId, &maidsafe::pd::vault::ValidateOp::chunk_holder>, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>, mpl_::na>, boost::multi_index::ordered_non_unique<boost::multi_index::tag<maidsafe::pd::vault::TagChunkNameOpResult, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::multi_index::composite_key<maidsafe::pd::vault::ValidateOp, boost::multi_index::member<maidsafe::pd::vault::ValidateOp, maidsafe::detail::BoundedString<64u, 65u>, &maidsafe::pd::vault::ValidateOp::chunk_name>, boost::multi_index::member<maidsafe::pd::vault::ValidateOp, bool, &maidsafe::pd::vault::ValidateOp::op_result>, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>, mpl_::na>, boost::multi_index::ordered_non_unique<boost::multi_index::tag<maidsafe::pd::vault::TagValidateChunkName, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::multi_index::member<maidsafe::pd::vault::ValidateOp, maidsafe::detail::BoundedString<64u, 65u>, &maidsafe::pd::vault::ValidateOp::chunk_name>, mpl_::na>, boost::multi_index::ordered_non_unique<boost::multi_index::tag<maidsafe::pd::vault::TagChunkNameData, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::multi_index::composite_key<maidsafe::pd::vault::ValidateOp, boost::multi_index::member<maidsafe::pd::vault::ValidateOp, maidsafe::detail::BoundedString<64u, 65u>, &maidsafe::pd::vault::ValidateOp::chunk_name>, boost::multi_index::member<maidsafe::pd::vault::ValidateOp, maidsafe::detail::BoundedString<64u, 64u>, &maidsafe::pd::vault::ValidateOp::data>, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>, mpl_::na>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, std::allocator<maidsafe::pd::vault::ValidateOp> >::insert_ (this=0x9232a74, v=...) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/multi_index_container.hpp:500
#8  0x0890c617 in boost::multi_index::detail::index_base<maidsafe::pd::vault::ValidateOp, boost::multi_index::indexed_by<boost::multi_index::ordered_non_unique<boost::multi_index::tag<maidsafe::pd::vault::TagChunkNameChunkHolder, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::multi_index::composite_key<maidsafe::pd::vault::ValidateOp, boost::multi_index::member<maidsafe::pd::vault::ValidateOp, maidsafe::detail::BoundedString<64u, 65u>, &maidsafe::pd::vault::ValidateOp::chunk_name>, boost::multi_index::member<maidsafe::pd::vault::ValidateOp, maidsafe::NodeId, &maidsafe::pd::vault::ValidateOp::chunk_holder>, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>, mpl_::na>, boost::multi_index::ordered_non_unique<boost::multi_index::tag<maidsafe::pd::vault::TagChunkNameOpResult, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::multi_index::composite_key<maidsafe::pd::vault::ValidateOp, boost::multi_index::member<maidsafe::pd::vault::ValidateOp, maidsafe::detail::BoundedString<64u, 65u>, &maidsafe::pd::vault::ValidateOp::chunk_name>, boost::multi_index::member<maidsafe::pd::vault::ValidateOp, bool, &maidsafe::pd::vault::ValidateOp::op_result>, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>, mpl_::na>, boost::multi_index::ordered_non_unique<boost::multi_index::tag<maidsafe::pd::vault::TagValidateChunkName, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::multi_index::member<maidsafe::pd::vault::ValidateOp, maidsafe::detail::BoundedString<64u, 65u>, &maidsafe::pd::vault::ValidateOp::chunk_name>, mpl_::na>, boost::multi_index::ordered_non_unique<boost::multi_index::tag<maidsafe::pd::vault::TagChunkNameData, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::multi_index::composite_key<maidsafe::pd::vault::ValidateOp, boost::multi_index::member<maidsafe::pd::vault::ValidateOp, maidsafe::detail::BoundedString<64u, 65u>, &maidsafe::pd::vault::ValidateOp::chunk_name>, boost::multi_index::member<maidsafe::pd::vault::ValidateOp, maidsafe::detail::BoundedString<64u, 64u>, &maidsafe::pd::vault::ValidateOp::data>, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>, mpl_::na>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, std::allocator<maidsafe::pd::vault::ValidateOp> >::final_insert_ (this=0x9232a7c, x=...) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/multi_index/detail/index_base.hpp:150
#9  0x0890a2ff in boost::multi_index::detail::ordered_index<boost::multi_index::composite_key<maidsafe::pd::vault::ValidateOp, boost::multi_index::member<maidsafe::pd::vault::ValidateOp, maidsafe::detail::BoundedString<64u, 65u>, &maidsafe::pd::vault::ValidateOp::chunk_name>, boost::multi_index::member<maidsafe::pd::vault::ValidateOp, maidsafe::NodeId, &maidsafe::pd::vault::ValidateOp::chunk_holder>, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>, std::less<boost::multi_index::composite_key_result<boost::multi_index::composite_key<maidsafe::pd::vault::ValidateOp, boost::multi_index::member<maidsafe::pd::vault::ValidateOp, maidsafe::detail::BoundedString<64u, 65u>, &maidsafe::pd::vault::ValidateOp::chunk_name>, boost::multi_index::member<maidsafe::pd::vault::ValidateOp, maidsafe::NodeId, &maidsafe::pd::vault::ValidateOp::chunk_holder>, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> > >, boost::multi_index::detail::nth_layer<1, maidsafe::pd::vault::ValidateOp, boost::multi_index::indexed_by<boost::multi_index::ordered_non_unique<boost::multi_index::tag<maidsafe::pd::vault::TagChunkNameChunkHolder, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::multi_index::composite_key<maidsafe::pd::vault::ValidateOp, boost::multi_index::member<maidsafe::pd::vault::ValidateOp, maidsafe::detail::BoundedString<64u, 65u>, &maidsafe::pd::vault::ValidateOp::chunk_name>, boost::multi_index::member<maidsafe::pd::vault::ValidateOp, maidsafe::NodeId, &maidsafe::pd::vault::ValidateOp::chunk_holder>, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>, mpl_::na>, boost::multi_index::ordered_non_unique<boost::multi_index::tag<maidsafe::pd::vault::TagChunkNameOpResult, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::multi_index::composite_key<maidsafe::pd::vault::ValidateOp, boost::multi_index::member<maidsafe::pd::vault::ValidateOp, maidsafe::detail::BoundedString<64u, 65u>, &maidsafe::pd::vault::ValidateOp::chunk_name>, boost::multi_index::member<maidsafe::pd::vault::ValidateOp, bool, &maidsafe::pd::vault::ValidateOp::op_result>, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>, mpl_::na>, boost::multi_index::ordered_non_unique<boost::multi_index::tag<maidsafe::pd::vault::TagValidateChunkName, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::multi_index::member<maidsafe::pd::vault::ValidateOp, maidsafe::detail::BoundedString<64u, 65u>, &maidsafe::pd::vault::ValidateOp::chunk_name>, mpl_::na>, boost::multi_index::ordered_non_unique<boost::multi_index::tag<maidsafe::pd::vault::TagChunkNameData, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::multi_index::composite_key<maidsafe::pd::vault::ValidateOp, boost::multi_index::member<maidsafe::pd::vault::ValidateOp, maidsafe::detail::BoundedString<64u, 65u>, &maidsafe::pd::vault::ValidateOp::chunk_name>, boost::multi_index::member<maidsafe::pd::vault::ValidateOp, maidsafe::detail::BoundedString<64u, 64u>, &maidsafe::pd::vault::ValidateOp::data>, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>, mpl_::na>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, std::allocator<maidsafe::pd::vault::ValidateOp> >, boost::mpl::v_item<maidsafe::pd::vault::TagChunkNameChunkHolder, boost::mpl::vector0<mpl_::na>, 0>, boost::multi_index::detail::ordered_non_unique_tag>::insert (this=0x9232a7c, x=...) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/multi_index/ordered_index.hpp:275
#10 0x08902c5d in maidsafe::pd::vault::ChunkIntegrityManager::ChunkRecordOp (this=0x9232a40) at /home/steve/projects/MaidSafe/src/pd/src/maidsafe/pd/vault/chunk_integrity_manager.cc:136
#11 0x08902820 in maidsafe::pd::vault::ChunkIntegrityManager::GetChunkRecord (this=0x9232a40) at /home/steve/projects/MaidSafe/src/pd/src/maidsafe/pd/vault/chunk_integrity_manager.cc:94
#12 0x08902617 in maidsafe::pd::vault::ChunkIntegrityManager::TriggerChecks (this=0x9232a40) at /home/steve/projects/MaidSafe/src/pd/src/maidsafe/pd/vault/chunk_integrity_manager.cc:72
#13 0x08863be1 in maidsafe::pd::vault::Node::PerformMaintenance (this=0x92090e4) at /home/steve/projects/MaidSafe/src/pd/src/maidsafe/pd/vault/node.cc:744
#14 0x0886382f in operator() (this=0xb2400b30) at /home/steve/projects/MaidSafe/src/pd/src/maidsafe/pd/vault/node.cc:751
#15 0x0886a290 in std::_Function_handler<void(), maidsafe::pd::vault::Node::PerformMaintenance()::<lambda()> >::_M_invoke(const std::_Any_data &) (__functor=...) at /usr/include/c++/4.6/functional:1778
#16 0x08a50306 in std::function<void ()>::operator()() const (this=0xb37fef9c) at /usr/include/c++/4.6/functional:2161
#17 0x08a53c6e in maidsafe::pd::TimedEventHandler::HandleEvent(boost::system::error_code const&, unsigned int const&, std::function<void ()>) (this=0x9206e30, error=..., timer_id=@0xb37ff0ec: 1944096741, callback=...)
    at /home/steve/projects/MaidSafe/src/pd/src/maidsafe/pd/common/timed_event_handler.cc:67

CloseNodeReplacedFunctor not always called when health increases to 12%

The particular issue is that if the health goes to 12% (i.e. 8 nodes) and we can consider the node fully joined, the functor is not always called as it should be. It will be called with 7 nodes when the health goes up to 10%, but not with the 8 nodes at 12%.

This can be observed by running TESTpd_func's PdTest.FUNC_SynchronisationAndPruning; verbose logging will help see the callback invocations. This only happens sporadically.

Assertion on re-bootstrap for empty RT

pd-vault: /home/steve/projects/MaidSafe/src/routing/src/maidsafe/routing/routing_private.cc:234: int maidsafe::routing::RoutingPrivate::DoBootstrap(): Assertion `routing_table_.Size() == 0' failed.
Program received signal SIGABRT, Aborted.
[Switching to Thread 0xb19feb40 (LWP 6304)]
0xb7fdd424 in __kernel_vsyscall ()
(gdb) bt
#0  0xb7fdd424 in __kernel_vsyscall ()
#1  0xb7dd91cf in __GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#2  0xb7ddc815 in __GI_abort () at abort.c:91
#3  0xb7dd2075 in __assert_fail_base (fmt=0xb7f0b698 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x8e3d8df "routing_table_.Size() == 0", file=0x8e3d5ac "/home/steve/projects/MaidSafe/src/routing/src/maidsafe/routing/routing_private.cc", line=234, 
    function=0x8e3f100 "int maidsafe::routing::RoutingPrivate::DoBootstrap()") at assert.c:94
#4  0xb7dd2127 in __GI___assert_fail (assertion=0x8e3d8df "routing_table_.Size() == 0", file=0x8e3d5ac "/home/steve/projects/MaidSafe/src/routing/src/maidsafe/routing/routing_private.cc", line=234, 
    function=0x8e3f100 "int maidsafe::routing::RoutingPrivate::DoBootstrap()") at assert.c:103
#5  0x08a16320 in maidsafe::routing::RoutingPrivate::DoBootstrap (this=0x91d51a0) at /home/steve/projects/MaidSafe/src/routing/src/maidsafe/routing/routing_private.cc:234
#6  0x08a15f61 in maidsafe::routing::RoutingPrivate::DoJoin (this=0x91d51a0) at /home/steve/projects/MaidSafe/src/routing/src/maidsafe/routing/routing_private.cc:206
#7  0x08a1ca62 in maidsafe::routing::RoutingPrivate::DoReBootstrap (this=0x91d51a0, error_code=...) at /home/steve/projects/MaidSafe/src/routing/src/maidsafe/routing/routing_private.cc:686
#8  0x08a1c832 in operator() (this=0xb19fe120, error_code_local=...) at /home/steve/projects/MaidSafe/src/routing/src/maidsafe/routing/routing_private.cc:677
#9  0x08a2049a in boost::asio::detail::binder1<maidsafe::routing::RoutingPrivate::ReBootstrap()::<lambda(boost::system::error_code)>, boost::system::error_code>::operator()(void) (this=0xb19fe120)
    at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/detail/bind_handler.hpp:46
#10 0x08a203eb in boost::asio::asio_handler_invoke<boost::asio::detail::binder1<maidsafe::routing::RoutingPrivate::ReBootstrap()::<lambda(boost::system::error_code)>, boost::system::error_code> >(boost::asio::detail::binder1<maidsafe::routing::RoutingPrivate::ReBootstrap()::<lambda(boost::system::error_code)>, boost::system::error_code>, ...) (function=...) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/handler_invoke_hook.hpp:64
#11 0x08a2038c in boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder1<maidsafe::routing::RoutingPrivate::ReBootstrap()::<lambda(boost::system::error_code)>, boost::system::error_code>, maidsafe::routing::RoutingPrivate::ReBootstrap()::<lambda(boost::system::error_code)> >(boost::asio::detail::binder1<maidsafe::routing::RoutingPrivate::ReBootstrap()::<lambda(boost::system::error_code)>, boost::system::error_code> &, struct {...} &) (function=..., context=...)
    at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/detail/handler_invoke_helpers.hpp:39
#12 0x08a2004c in boost::asio::detail::wait_handler<maidsafe::routing::RoutingPrivate::ReBootstrap()::<lambda(boost::system::error_code)> >::do_complete(boost::asio::detail::io_service_impl *, boost::asio::detail::operation *, const boost::system::error_code &, std::size_t) (owner=0x91ad500, base=0xb0800880) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/detail/wait_handler.hpp:69
#13 0x08abbf7f in boost::asio::detail::task_io_service_operation::complete (this=0xb0800880, owner=..., ec=..., bytes_transferred=0) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/detail/task_io_service_operation.hpp:37
#14 0x08bf7b08 in boost::asio::detail::task_io_service::do_run_one (this=0x91ad500, lock=..., this_thread=..., ec=...) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/detail/impl/task_io_service.ipp:419
#15 0x08bf7851 in boost::asio::detail::task_io_service::run (this=0x91ad500, ec=...) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/detail/impl/task_io_service.ipp:160
#16 0x08bf7cbe in boost::asio::io_service::run (this=0x91d5508) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/asio/impl/io_service.ipp:59
#17 0x08bf5b57 in operator() (this=0x91ced7c) at /home/steve/projects/MaidSafe/src/common/src/maidsafe/common/asio_service.cc:78
#18 0x08bf717e in boost::detail::thread_data<maidsafe::AsioService::Start()::<lambda()> >::run(void) (this=0x91cec78) at /home/steve/projects/MaidSafe/src/third_party_libs/boost/boost/thread/detail/thread.hpp:74
#19 0x08d9777e in thread_proxy ()
#20 0xb7faad4c in start_thread (arg=0xb19feb40) at pthread_create.c:308
#21 0xb7e958ae in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

[RUDP] ManagedConnectionsTest.BEH_API_Bootstrap hangs occasionally on Linodes.

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

Vaults crashes on pthread_mutex_lock.

While running PD store chunk, occasionally couple of Vaults crashes on pthread_mutex_lock.
(log below)

E 139651700471552 12:15:20.729188 routing/timer.cc:90] Timed out waiting for task 1788121740
E 139651725649664 12:15:20.729542 pd/common/rpc_handler.cc:125] CheckResponse - f7f4c59..aeb7415 - RPC 1200 to group around f10da62..acc0ec4 failed (-1) after 2 attempts.
E 139651725649664 12:15:20.729686 pd/common/rpc_handler.cc:1164] ProcessResponse - f7f4c59..aeb7415 - Account/Amend RPC failed.
pd-vault: /home/maidsafe/super/MaidSafe/src/third_party_libs/boost/boost/thread/pthread/pthread_mutex_scoped_lock.hpp:26: boost::pthread::pthread_mutex_scoped_lock::pthread_mutex_scoped_lock(pthread_mutex_t*): Assertion `!pthread_mutex_lock(m)' failed.
Aborted (core dumped)

Rudp deadlock at Connection::MarkAsDuplicateAndClose()

#0  __lll_lock_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:132
#1  0x00007ffff7bc7065 in _L_lock_858 () from /lib/x86_64-linux-gnu/libpthread.so.0
#2  0x00007ffff7bc6eba in __pthread_mutex_lock (mutex=0x7fffbc018740) at pthread_mutex_lock.c:61
#3  0x0000000000c919f8 in __gthread_mutex_lock (__mutex=0x7fffbc018740) at /usr/include/c++/4.6/x86_64-linux-gnu/./bits/gthr-default.h:742
#4  0x0000000000ca5060 in std::mutex::lock (this=0x7fffbc018740) at /usr/include/c++/4.6/mutex:90
#5  0x0000000000ca89aa in std::lock_guard<std::mutex>::lock_guard (this=0x7fffecff5fd0, __m=...) at /usr/include/c++/4.6/mutex:445
#6  0x000000000104172d in maidsafe::rudp::detail::Connection::state (this=0x7fffbc017fb0) at /home/maidsafe/super/MaidSafe/src/rudp/src/maidsafe/rudp/connection.cc:146
#7  0x0000000000ff9b88 in maidsafe::rudp::detail::Transport::DoRemoveConnection (this=0x1944c50, connection=..., timed_out=false)
    at /home/maidsafe/super/MaidSafe/src/rudp/src/maidsafe/rudp/transport.cc:388
#8  0x0000000001013ffb 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=0x7fffecff6510, __ptr=..., __args#0=..., __args#1=false) at /usr/include/c++/4.6/functional:536
#9  0x0000000001011de9 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=0x7fffecff6510, __object=..., __args#0=..., __args#1=false) at /usr/include/c++/4.6/functional:559
#10 0x000000000100f216 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=0x7fffecff6510, __args=...) at /usr/include/c++/4.6/functional:1146
#11 0x000000000100c1ee 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=0x7fffecff6510) at /usr/include/c++/4.6/functional:1205
#12 0x00000000010084fd 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/maidsafe/super/MaidSafe/src/third_party_libs/boost/boost/asio/handler_invoke_hook.hpp:64
#13 0x00000000010047e6 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/maidsafe/super/MaidSafe/src/third_party_libs/boost/boost/asio/detail/handler_invoke_helpers.hpp:39
#14 0x0000000001001009 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=0x194f1a0, impl=@0x1944c80: 0x19aa6a0, handler=...) at /home/maidsafe/super/MaidSafe/src/third_party_libs/boost/boost/asio/detail/impl/strand_service.hpp:61
#15 0x0000000000ffe9b0 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=0x1944c78, handler=...)
    at /home/maidsafe/super/MaidSafe/src/third_party_libs/boost/boost/asio/strand.hpp:149
#16 0x0000000000ff9af0 in maidsafe::rudp::detail::Transport::RemoveConnection (this=0x1944c50, connection=..., timed_out=false) at /home/maidsafe/super/MaidSafe/src/rudp/src/maidsafe/rudp/transport.cc:381
#17 0x0000000001041163 in maidsafe::rudp::detail::Connection::DoClose (this=0x7fffbc017fb0, timed_out=false) at /home/maidsafe/super/MaidSafe/src/rudp/src/maidsafe/rudp/connection.cc:97
#18 0x0000000001055dd8 in std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(bool)>::_M_call<std::shared_ptr<maidsafe::rudp::detail::Connection> > (this=0x7fffecff6ad0, __ptr=..., __args#0=false)
    at /usr/include/c++/4.6/functional:536
#19 0x0000000001054c25 in std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(bool)>::operator()<std::shared_ptr<maidsafe::rudp::detail::Connection> > (this=0x7fffecff6ad0, __object=..., 
    __args#0=false) at /usr/include/c++/4.6/functional:559
#20 0x0000000001052ff9 in std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(bool)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, bool)>::__call<void, , 0, 1>(std::tuple<>&&, std::_Index_tuple<0, 1>) (this=0x7fffecff6ad0, __args=...) at /usr/include/c++/4.6/functional:1146
#21 0x0000000001051982 in std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(bool)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, bool)>::operator()<, void>() (
    this=0x7fffecff6ad0) at /usr/include/c++/4.6/functional:1205
#22 0x000000000104fb9d in boost::asio::asio_handler_invoke<std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(bool)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, bool)> >(std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(bool)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, bool)>, ...) (function=...)
    at /home/maidsafe/super/MaidSafe/src/third_party_libs/boost/boost/asio/handler_invoke_hook.hpp:64
#23 0x000000000104cc4f in boost_asio_handler_invoke_helpers::invoke<std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(bool)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, bool)>, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(bool)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, bool)> >(std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(bool)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, bool)>&, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(bool)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, bool)>&) (function=..., context=...) at /home/maidsafe/super/MaidSafe/src/third_party_libs/boost/boost/asio/detail/handler_invoke_helpers.hpp:39
#24 0x000000000104a3a9 in boost::asio::detail::strand_service::dispatch<std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(bool)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, bool)> >(boost::asio::detail::strand_service::strand_impl*&, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(bool)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, bool)>) (
    this=0x194f1a0, impl=@0x7fffbc017fd8: 0x19aa6a0, handler=...) at /home/maidsafe/super/MaidSafe/src/third_party_libs/boost/boost/asio/detail/impl/strand_service.hpp:61
---Type <return> to continue, or q <return> to quit---
#25 0x00000000010481d2 in boost::asio::io_service::strand::dispatch<std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(bool)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, bool)> >(std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(bool)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, bool)>&&) (this=0x7fffbc017fd0, handler=...)
    at /home/maidsafe/super/MaidSafe/src/third_party_libs/boost/boost/asio/strand.hpp:149
#26 0x000000000104194e in maidsafe::rudp::detail::Connection::MarkAsDuplicateAndClose (this=0x7fffbc017fb0) at /home/maidsafe/super/MaidSafe/src/rudp/src/maidsafe/rudp/connection.cc:164
#27 0x0000000000ff9283 in maidsafe::rudp::detail::Transport::DoAddConnection (this=0x1944c50, connection=...) at /home/maidsafe/super/MaidSafe/src/rudp/src/maidsafe/rudp/transport.cc:364
#28 0x00000000010139f5 in std::_Mem_fn<void (maidsafe::rudp::detail::Transport::*)(std::shared_ptr<maidsafe::rudp::detail::Connection>)>::_M_call<std::shared_ptr<maidsafe::rudp::detail::Transport> > (
    this=0x7fffecff7720, __ptr=..., __args#0=...) at /usr/include/c++/4.6/functional:536
#29 0x00000000010119f7 in std::_Mem_fn<void (maidsafe::rudp::detail::Transport::*)(std::shared_ptr<maidsafe::rudp::detail::Connection>)>::operator()<std::shared_ptr<maidsafe::rudp::detail::Transport> > (
    this=0x7fffecff7720, __object=..., __args#0=...) at /usr/include/c++/4.6/functional:559
#30 0x000000000100ede7 in std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Transport::*)(std::shared_ptr<maidsafe::rudp::detail::Connection>)> (std::shared_ptr<maidsafe::rudp::detail::Transport>, std::shared_ptr<maidsafe::rudp::detail::Connection>)>::__call<void, , 0, 1>(std::tuple<>&&, std::_Index_tuple<0, 1>) (this=0x7fffecff7720, __args=...) at /usr/include/c++/4.6/functional:1146
#31 0x000000000100ba9c in std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Transport::*)(std::shared_ptr<maidsafe::rudp::detail::Connection>)> (std::shared_ptr<maidsafe::rudp::detail::Transport>, std::shared_ptr<maidsafe::rudp::detail::Connection>)>::operator()<, void>() (this=0x7fffecff7720) at /usr/include/c++/4.6/functional:1205
#32 0x0000000001007c37 in boost::asio::asio_handler_invoke<std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Transport::*)(std::shared_ptr<maidsafe::rudp::detail::Connection>)> (std::shared_ptr<maidsafe::rudp::detail::Transport>, std::shared_ptr<maidsafe::rudp::detail::Connection>)> >(std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Transport::*)(std::shared_ptr<maidsafe::rudp::detail::Connection>)> (std::shared_ptr<maidsafe::rudp::detail::Transport>, std::shared_ptr<maidsafe::rudp::detail::Connection>)>, ...) (function=...)
    at /home/maidsafe/super/MaidSafe/src/third_party_libs/boost/boost/asio/handler_invoke_hook.hpp:64
#33 0x0000000001003da6 in boost_asio_handler_invoke_helpers::invoke<std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Transport::*)(std::shared_ptr<maidsafe::rudp::detail::Connection>)> (std::shared_ptr<maidsafe::rudp::detail::Transport>, std::shared_ptr<maidsafe::rudp::detail::Connection>)>, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Transport::*)(std::shared_ptr<maidsafe::rudp::detail::Connection>)> (std::shared_ptr<maidsafe::rudp::detail::Transport>, std::shared_ptr<maidsafe::rudp::detail::Connection>)> >(std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Transport::*)(std::shared_ptr<maidsafe::rudp::detail::Connection>)> (std::shared_ptr<maidsafe::rudp::detail::Transport>, std::shared_ptr<maidsafe::rudp::detail::Connection>)>&, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Transport::*)(std::shared_ptr<maidsafe::rudp::detail::Connection>)> (std::shared_ptr<maidsafe::rudp::detail::Transport>, std::shared_ptr<maidsafe::rudp::detail::Connection>)>&) (function=..., context=...)
    at /home/maidsafe/super/MaidSafe/src/third_party_libs/boost/boost/asio/detail/handler_invoke_helpers.hpp:39
#34 0x0000000001000775 in boost::asio::detail::strand_service::dispatch<std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Transport::*)(std::shared_ptr<maidsafe::rudp::detail::Connection>)> (std::shared_ptr<maidsafe::rudp::detail::Transport>, std::shared_ptr<maidsafe::rudp::detail::Connection>)> >(boost::asio::detail::strand_service::strand_impl*&, std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Transport::*)(std::shared_ptr<maidsafe::rudp::detail::Connection>)> (std::shared_ptr<maidsafe::rudp::detail::Transport>, std::shared_ptr<maidsafe::rudp::detail::Connection>)>) (this=0x194f1a0, 
    impl=@0x1944c80: 0x19aa6a0, handler=...) at /home/maidsafe/super/MaidSafe/src/third_party_libs/boost/boost/asio/detail/impl/strand_service.hpp:61
#35 0x0000000000ffe5f4 in boost::asio::io_service::strand::dispatch<std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Transport::*)(std::shared_ptr<maidsafe::rudp::detail::Connection>)> (std::shared_ptr<maidsafe::rudp::detail::Transport>, std::shared_ptr<maidsafe::rudp::detail::Connection>)> >(std::_Bind<std::_Mem_fn<void (maidsafe::rudp::detail::Transport::*)(std::shared_ptr<maidsafe::rudp::detail::Connection>)> (std::shared_ptr<maidsafe::rudp::detail::Transport>, std::shared_ptr<maidsafe::rudp::detail::Connection>)>&&) (this=0x1944c78, handler=...)
    at /home/maidsafe/super/MaidSafe/src/third_party_libs/boost/boost/asio/strand.hpp:149
#36 0x0000000000ff8d30 in maidsafe::rudp::detail::Transport::AddConnection (this=0x1944c50, connection=...) at /home/maidsafe/super/MaidSafe/src/rudp/src/maidsafe/rudp/transport.cc:339
#37 0x0000000001044266 in maidsafe::rudp::detail::Connection::HandleConnect(boost::system::error_code const&, std::string const&, std::function<void (int)>) (this=0x7fffbc017fb0, ec=..., 
    validation_data=..., ping_functor=...) at /home/maidsafe/super/MaidSafe/src/rudp/src/maidsafe/rudp/connection.cc:382
#38 0x000000000106197c in std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&, std::string const&, std::function<void (int)>)>::_M_call<std::shared_ptr<maidsafe::rudp::detail::Connection> >(std::shared_ptr<maidsafe::rudp::detail::Connection>&, void const volatile*, boost::system::error_code const&, std::string const&, std::function<void (int)>) const (
    this=0x7fffecff81e0, __ptr=..., __args#0=..., __args#1=..., __args#2=...) at /usr/include/c++/4.6/functional:536
#39 0x000000000106167a in std::_Mem_fn<void (maidsafe::rudp::detail::Connection::*)(boost::system::error_code const&, std::string const&, std::function<void (int)>)>::operator()<std::shared_ptr<maidsafe::rudp::detail::Connection> >(std::shared_ptr<maidsafe::rudp::detail::Connection>&, boost::system::error_code const&, std::string const&, std::function<void (int)>) const (this=0x7fffecff81e0, __object=..., 
    __args#0=..., __args#1=..., __args#2=...) at /usr/include/c++/4.6/functional:559
#40 0x0000000001061298 in 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)>)>::__call<void, boost::system::error_code const&, 0, 1, 2, 3>(std::tuple<boost::system::error_code const&>&&, std::_Index_tuple<0, 1, 2, 3>) (this=0x7fffecff81e0, __args=...) at /usr/include/c++/4.6/functional:1146
#41 0x0000000001060fa1 in 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)>)>::operator()<boost::system::error_code const&, void>(boost::system::error_code const&) (this=0x7fffecff81e0)
    at /usr/include/c++/4.6/functional:1205
#42 0x0000000001060db7 in boost::asio::detail::binder1<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)>)>, boost::system::error_code>::operator()() (this=0x7fffecff81e0)
    at /home/maidsafe/super/MaidSafe/src/third_party_libs/boost/boost/asio/detail/bind_handler.hpp:46
#43 0x0000000001060a53 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::string const&, std::function<void (int)>)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>, std::string, std::function<void (int)>)>, boost::system::error_code> >(boost::asio::detail::binder1<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)>)>, boost::system::error_code>, ...) (function=...)
    at /home/maidsafe/super/MaidSafe/src/third_party_libs/boost/boost/asio/handler_invoke_hook.hpp:64
#44 0x0000000001060461 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::---Type <return> to continue, or q <return> to quit---
string const&, std::function<void (int)>)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>, std::string, std::function<void (int)>)>, boost::system::error_code>, 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)>)> >(boost::asio::detail::binder1<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)>)>, boost::system::error_code>&, 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)>)>&) (function=..., context=...) at /home/maidsafe/super/MaidSafe/src/third_party_libs/boost/boost/asio/detail/handler_invoke_helpers.hpp:39
#45 0x000000000105fc86 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::string const&, std::function<void (int)>)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>, std::string, std::function<void (int)>)>, boost::system::error_code>, 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)>)>, boost::system::error_code>(boost::asio::detail::binder1<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)>)>, boost::system::error_code>&, boost::asio::detail::binder1<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)>)>, boost::system::error_code>*) (function=..., this_handler=0x7fffecff8370)
    at /home/maidsafe/super/MaidSafe/src/third_party_libs/boost/boost/asio/detail/bind_handler.hpp:79
#46 0x000000000105efaf 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::string const&, std::function<void (int)>)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>, std::string, std::function<void (int)>)>, boost::system::error_code>, boost::asio::detail::binder1<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)>)>, boost::system::error_code> >(boost::asio::detail::binder1<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)>)>, boost::system::error_code>&, boost::asio::detail::binder1<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)>)>, boost::system::error_code>&) (function=..., context=...)
    at /home/maidsafe/super/MaidSafe/src/third_party_libs/boost/boost/asio/detail/handler_invoke_helpers.hpp:39
#47 0x000000000105e067 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::string const&, std::function<void (int)>)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>, std::string, std::function<void (int)>)>, 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::string const&, std::function<void (int)>)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>, std::string, std::function<void (int)>)>, boost::system::error_code>) (this=0x194f1a0, 
    impl=@0x7fffecff8670: 0x19aa6a0, handler=...) at /home/maidsafe/super/MaidSafe/src/third_party_libs/boost/boost/asio/detail/impl/strand_service.hpp:61
#48 0x000000000105d825 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::string const&, std::function<void (int)>)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>, std::string, std::function<void (int)>)>, boost::system::error_code> >(boost::asio::detail::binder1<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)>)>, boost::system::error_code>&&) (this=0x7fffecff8668, handler=...)
    at /home/maidsafe/super/MaidSafe/src/third_party_libs/boost/boost/asio/strand.hpp:149
#49 0x000000000105d195 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::string const&, std::function<void (int)>)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>, std::string, std::function<void (int)>)> >::operator()<boost::system::error_code>(boost::system::error_code const&) (this=0x7fffecff8668, arg1=...) at /home/maidsafe/super/MaidSafe/src/third_party_libs/boost/boost/asio/detail/wrapped_handler.hpp:67
#50 0x000000000105cc51 in maidsafe::rudp::detail::ConnectOp<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)>)> > >::operator()(boost::system::error_code) (this=0x7fffecff8668) at /home/maidsafe/super/MaidSafe/src/rudp/src/maidsafe/rudp/operations/connect_op.h:38
#51 0x000000000105c87b in boost::asio::detail::binder1<maidsafe::rudp::detail::ConnectOp<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)>)> > >, boost::system::error_code>::operator()() (this=0x7fffecff8668) at /home/maidsafe/super/MaidSafe/src/third_party_libs/boost/boost/asio/detail/bind_handler.hpp:46
#52 0x000000000105c6ac in boost::asio::detail::rewrapped_handler<boost::asio::detail::binder1<maidsafe::rudp::detail::ConnectOp<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)>)> > >, boost::system::error_code>, 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)>)> >::operator()() (this=0x7fffecff8620)
    at /home/maidsafe/super/MaidSafe/src/third_party_libs/boost/boost/asio/detail/wrapped_handler.hpp:171
#53 0x000000000105c0aa in boost::asio::asio_handler_invoke<boost::asio::detail::rewrapped_handler<boost::asio::detail::binder1<maidsafe::rudp::detail::ConnectOp<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)>)> > >, boost::system::error_code>, 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)>)> > >(boost::asio::detail::rewrapped_handler<boost::asio::detail::binder1<maidsafe::rudp::detail::ConnectOp<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)>)> > >, boost::system::error_code>, 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)>)> >, ...) (function=...)
    at /home/maidsafe/super/MaidSafe/src/third_party_libs/boost/boost/asio/handler_invoke_hook.hpp:64
---Type <return> to continue, or q <return> to quit---
#54 0x000000000105ba55 in boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::rewrapped_handler<boost::asio::detail::binder1<maidsafe::rudp::detail::ConnectOp<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)>)> > >, boost::system::error_code>, 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)>)> >, 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)>)> >(boost::asio::detail::rewrapped_handler<boost::asio::detail::binder1<maidsafe::rudp::detail::ConnectOp<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)>)> > >, boost::system::error_code>, 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)>)> >&, 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)>)>&) (function=..., context=...) at /home/maidsafe/super/MaidSafe/src/third_party_libs/boost/boost/asio/detail/handler_invoke_helpers.hpp:39
#55 0x000000000105b1b2 in boost::asio::detail::asio_handler_invoke<boost::asio::detail::rewrapped_handler<boost::asio::detail::binder1<maidsafe::rudp::detail::ConnectOp<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)>)> > >, boost::system::error_code>, 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)>)> >, boost::asio::detail::binder1<maidsafe::rudp::detail::ConnectOp<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)>)> > >, boost::system::error_code>, 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)>)> >(boost::asio::detail::rewrapped_handler<boost::asio::detail::binder1<maidsafe::rudp::detail::ConnectOp<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)>)> > >, boost::system::error_code>, 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)>)> >&, boost::asio::detail::rewrapped_handler<boost::asio::detail::binder1<maidsafe::rudp::detail::ConnectOp<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)>)> > >, boost::system::error_code>, 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)>)> >*) (function=..., this_handler=0x7fffecff8790)
    at /home/maidsafe/super/MaidSafe/src/third_party_libs/boost/boost/asio/detail/wrapped_handler.hpp:238
#56 0x000000000105a0e9 in boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::rewrapped_handler<boost::asio::detail::binder1<maidsafe::rudp::detail::ConnectOp<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)>)> > >, boost::system::error_code>, 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)>)> >, boost::asio::detail::rewrapped_handler<boost::asio::detail::binder1<maidsafe::rudp::detail::ConnectOp<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)>)> > >, boost::system::error_code>, 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)>)> > >(boost::asio::detail::rewrapped_handler<boost::asio::detail::binder1<maidsafe::rudp::detail::ConnectOp<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)>)> > >, boost::system::error_code>, 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)>)> >&, boost::asio::detail::rewrapped_handler<boost::asio::detail::binder1<maidsafe::rudp::detail::ConnectOp<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)>)> > >, boost::system::error_code>, 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)>)> >&) (function=..., context=...)
    at /home/maidsafe/super/MaidSafe/src/third_party_libs/boost/boost/asio/detail/handler_invoke_helpers.hpp:39
#57 0x000000000105a2c5 in boost::asio::detail::completion_handler<boost::asio::detail::rewrapped_handler<boost::asio::detail::binder1<maidsafe::rudp::detail::ConnectOp<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)>)> > >, boost::system::error_code>, 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)>)> > >::do_complete(boost::asio::detail::task_io_service*, boost::asio::detail::task_io_service_operation*, boost::system::error_code const&, unsigned long) (owner=0x1987880, base=0x7fffbc00d940)
    at /home/maidsafe/super/MaidSafe/src/third_party_libs/boost/boost/asio/detail/completion_handler.hpp:67
#58 0x0000000001058f70 in boost::asio::detail::strand_service::dispatch<boost::asio::detail::rewrapped_handler<boost::asio::detail::binder1<maidsafe::rudp::detail::ConnectOp<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)>)> > >, boost::system::error_code>, 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)>)> > >(boost::asio::detail::strand_service::strand_impl*&, boost::asio::detail::rewrapped_handler<boost::asio::detail::binder1<maidsafe::rudp::detail::ConnectOp<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::detai---Type <return> to continue, or q <return> to quit---
l::Connection>, std::_Placeholder<1>, std::string, std::function<void (int)>)> > >, boost::system::error_code>, 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)>)> >) (this=0x194f1a0, 
    impl=@0x7fffecff8ba8: 0x19aa6a0, handler=...) at /home/maidsafe/super/MaidSafe/src/third_party_libs/boost/boost/asio/detail/impl/strand_service.hpp:87
#59 0x000000000105817f in boost::asio::io_service::strand::dispatch<boost::asio::detail::rewrapped_handler<boost::asio::detail::binder1<maidsafe::rudp::detail::ConnectOp<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)>)> > >, boost::system::error_code>, 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)>)> > >(boost::asio::detail::rewrapped_handler<boost::asio::detail::binder1<maidsafe::rudp::detail::ConnectOp<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)>)> > >, boost::system::error_code>, 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)>)> >&&) (this=0x7fffecff8ba0, handler=...)
    at /home/maidsafe/super/MaidSafe/src/third_party_libs/boost/boost/asio/strand.hpp:149
#60 0x00000000010573a0 in boost::asio::detail::asio_handler_invoke<boost::asio::detail::binder1<maidsafe::rudp::detail::ConnectOp<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)>)> > >, 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::string const&, std::function<void (int)>)> (std::shared_ptr<maidsafe::rudp::detail::Connection>, std::_Placeholder<1>, std::string, std::function<void (int)>)> >(boost::asio::detail::binder1<maidsafe::rudp::detail::ConnectOp<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)>)> > >, boost::system::error_code> 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)>)> >*) (function=..., this_handler=0x7fffecff8ba0)
    at /home/maidsafe/super/MaidSafe/src/third_party_libs/boost/boost/asio/detail/wrapped_handler.hpp:213
#61 0x000000000105683f in maidsafe::rudp::detail::asio_handler_invoke<boost::asio::detail::binder1<maidsafe::rudp::detail::ConnectOp<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)>)> > >, boost::system::error_code> >(boost::asio::detail::binder1<maidsafe::rudp::detail::ConnectOp<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)>)> > >, boost::system::error_code> const&, maidsafe::rudp::detail::ConnectOp<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)>)> > >*) (f=..., op=0x7fffecff8ba0)
    at /home/maidsafe/super/MaidSafe/src/rudp/src/maidsafe/rudp/operations/connect_op.h:54
#62 0x00000000010559ae in boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder1<maidsafe::rudp::detail::ConnectOp<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)>)> > >, boost::system::error_code>, maidsafe::rudp::detail::ConnectOp<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)>)> > > >(boost::asio::detail::binder1<maidsafe::rudp::detail::ConnectOp<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)>)> > >, boost::system::error_code>&, maidsafe::rudp::detail::ConnectOp<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)>)> > >&) (function=..., context=...) at /home/maidsafe/super/MaidSafe/src/third_party_libs/boost/boost/asio/detail/handler_invoke_helpers.hpp:39
#63 0x00000000010540bb in boost::asio::detail::wait_handler<maidsafe::rudp::detail::ConnectOp<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)>)> > > >::do_complete(boost::asio::detail::task_io_service*, boost::asio::detail::task_io_service_operation*, boost::system::error_code const&, unsigned long) (owner=0x1987880, 
    base=0x7fffbc003540) at /home/maidsafe/super/MaidSafe/src/third_party_libs/boost/boost/asio/detail/wait_handler.hpp:69
#64 0x0000000000f5538e in boost::asio::detail::task_io_service_operation::complete (this=0x7fffbc003540, owner=..., ec=..., bytes_transferred=0)
    at /home/maidsafe/super/MaidSafe/src/third_party_libs/boost/boost/asio/detail/task_io_service_operation.hpp:37
#65 0x0000000001077e33 in boost::asio::detail::task_io_service::do_run_one (this=0x1987880, lock=..., this_thread=..., ec=...)
    at /home/maidsafe/super/MaidSafe/src/third_party_libs/boost/boost/asio/detail/impl/task_io_service.ipp:419
#66 0x0000000001077b37 in boost::asio::detail::task_io_service::run (this=0x1987880, ec=...) at /home/maidsafe/super/MaidSafe/src/third_party_libs/boost/boost/asio/detail/impl/task_io_service.ipp:160
#67 0x0000000001078109 in boost::asio::io_service::run (this=0x1964d58) at /home/maidsafe/super/MaidSafe/src/third_party_libs/boost/boost/asio/impl/io_service.ipp:59
#68 0x0000000001075635 in operator() (this=0x197e668) at /home/maidsafe/super/MaidSafe/src/common/src/maidsafe/common/asio_service.cc:82
#69 0x000000000107705a in boost::detail::thread_data<maidsafe::AsioService::Start()::<lambda()> >::run(void) (this=0x197e4e0)
    at /home/maidsafe/super/MaidSafe/src/third_party_libs/boost/boost/thread/detail/thread.hpp:74
#70 0x000000000122f558 in thread_proxy ()
#71 0x00007ffff7bc4e9a in start_thread (arg=0x7fffecff9700) at pthread_create.c:308
#72 0x00007ffff71d9dbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112

Exception in ActionSynchronisation()

Exception ActionSynchronisation() when standalone pd-vault is running for longer time.

W 140737219917568 21:44:08.282022 pd/client/vault_chunk_manager.cc:157] GetCallback - 79610bb..012e08a - Could not retrieve wnmnu45..pqq73id~SIG in version a316c96..1ef6190 from 564800c..3ec9a5f
E 140737169561344 21:44:08.590665 routing/timer.cc:94] Timed out waiting for task 1663792744
E 140737219917568 21:44:08.590867 pd/common/rpc_handler.cc:125] CheckResponse - 79610bb..012e08a - RPC 1105 to node 564800c..3ec9a5f failed (-1) after 2 attempts.
E 140737219917568 21:44:08.590949 pd/common/rpc_handler.cc:1040] ProcessResponse - 79610bb..012e08a - ChunkInfo/ActionSynchronisation RPC failed.
E 140737219917568 21:44:08.591041 pd/vault/chunk_integrity_manager.cc:259] ActionSynchOp - 79610bb..012e08a - Failed for chunk mdr8xqg..nb3ftsd~SIG on 564800c..3ec9a5f
I 140737219917568 21:44:08.591145 pd/vault/chunk_integrity_manager.cc:245] ActionSynchOp - 79610bb..012e08a - Requesting 1x duplication syncronisation for mgpdiqi..jyfr6ad~SIG on 564800c..3ec9a5f
E 140737169561344 21:44:08.591745 routing/timer.cc:94] Timed out waiting for task 1663792745
E 140737318582016 21:44:08.591939 pd/common/rpc_handler.cc:125] CheckResponse - 79610bb..012e08a - RPC 1105 to node 564800c..3ec9a5f failed (-1) after 2 attempts.
E 140737318582016 21:44:08.592039 pd/common/rpc_handler.cc:1040] ProcessResponse - 79610bb..012e08a - ChunkInfo/ActionSynchronisation RPC failed.
E 140737318582016 21:44:08.592147 pd/vault/chunk_integrity_manager.cc:259] ActionSynchOp - 79610bb..012e08a - Failed for chunk mgi25kn..nt4yd2d~SIG on 564800c..3ec9a5f
I 140737318582016 21:44:08.592266 pd/vault/chunk_integrity_manager.cc:245] ActionSynchOp - 79610bb..012e08a - Requesting 2x duplication syncronisation for mherti8..mg5krid~SIG on 564800c..3ec9a5f
terminate called after throwing an instance of 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<std::system_error> >'
  what():  Class is uninitialised.

Program received signal SIGABRT, Aborted.
[Switching to Thread 0x7fffeffff700 (LWP 25754)]
0x00007ffff711c445 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) 
(gdb) where
#0  0x00007ffff711c445 in __GI_raise (sig=<optimised out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1  0x00007ffff711fbab in __GI_abort () at abort.c:91
#2  0x000000000129234d in __gnu_cxx::__verbose_terminate_handler() ()
#3  0x00000000012902f6 in __cxxabiv1::__terminate(void (*)()) ()
#4  0x0000000001290323 in std::terminate() ()
#5  0x000000000128f1ce in __cxa_throw ()
#6  0x00000000010a1fc9 in boost::throw_exception<std::system_error> (e=...) at /home/maidsafe/super/MaidSafe/src/third_party_libs/boost/boost/throw_exception.hpp:67
#7  0x00000000010a151d in maidsafe::DoThrowError (code=...) at /home/maidsafe/super/MaidSafe/src/common/src/maidsafe/common/error.cc:72
#8  0x0000000000c81a9c in maidsafe::ThrowError (code=...) at /home/maidsafe/super/MaidSafe/src/common/include/maidsafe/common/error.h:561
#9  0x0000000000cbd839 in maidsafe::detail::BoundedString<24ul, 24ul>::string (this=0x7fffdc0113b0) at /home/maidsafe/super/MaidSafe/src/common/include/maidsafe/common/bounded_string.h:139
#10 0x0000000000da0337 in maidsafe::pd::RpcHandler::ActionSynchronisation(maidsafe::NodeId const&, maidsafe::pd::RpcActionType, maidsafe::detail::BoundedString<64ul, 65ul> const&, maidsafe::detail::BoundedString<24ul, 24ul> const&, unsigned int const&, std::function<void (bool)> const&) (this=0x19836e0, receiver=..., action=maidsafe::pd::kDuplicateAction, chunk_name=..., chunk_version=..., 
    iterations=@0x7fffdc0113c0: 1, callback=...) at /home/maidsafe/super/MaidSafe/src/pd/src/maidsafe/pd/common/rpc_handler.cc:1014
#11 0x0000000000cf8aeb in maidsafe::pd::vault::ChunkIntegrityManager::ActionSynchOp (this=0x1953360) at /home/maidsafe/super/MaidSafe/src/pd/src/maidsafe/pd/vault/chunk_integrity_manager.cc:267
#12 0x0000000000cf9095 in operator() (this=0x7fffd0040710, result=false) at /home/maidsafe/super/MaidSafe/src/pd/src/maidsafe/pd/vault/chunk_integrity_manager.cc:266
#13 0x0000000000cfc854 in std::_Function_handler<void(bool), maidsafe::pd::vault::ChunkIntegrityManager::ActionSynchOp()::<lambda(bool)> >::_M_invoke(const std::_Any_data &, bool) (__functor=..., 
    __args#0=false) at /usr/include/c++/4.6/functional:1778
#14 0x0000000000cbd8d4 in std::function<void (bool)>::operator()(bool) const (this=0x7fffd0001b68, __args#0=false) at /usr/include/c++/4.6/functional:2161
#15 0x0000000000da0674 in maidsafe::pd::RpcHandler::ProcessResponse<maidsafe::pd::chunk_info::ActionSynchronisationType> (this=0x19836e0, result=@0x7fffefffdef4: -1, messages=..., rpc_data=...)
    at /home/maidsafe/super/MaidSafe/src/pd/src/maidsafe/pd/common/rpc_handler.cc:1044
#16 0x0000000000dfd6fb in maidsafe::pd::RpcHandler::CheckResponse<maidsafe::pd::chunk_info::ActionSynchronisationType> (this=0x19836e0, result=-1, messages=..., security_type=..., rpc_data=...)
    at /home/maidsafe/super/MaidSafe/src/pd/src/maidsafe/pd/common/rpc_handler.cc:130
#17 0x0000000000daa1d7 in operator() (this=0x7fffdc06ed00) at /home/maidsafe/super/MaidSafe/src/pd/src/maidsafe/pd/common/rpc_handler.cc:68
#18 0x0000000000dac6bb in std::_Function_handler<void(), maidsafe::pd::RpcHandler::Send(const std::shared_ptr<maidsafe::pd::RpcData<RpcType> >&) [with RpcType = maidsafe::pd::chunk_info::ActionSynchronisationType]::<lambda(const int32_t&, const std::vector<std::basic_string<char> >&, const maidsafe::pd::SecurityType&)>::<lambda()> >::_M_invoke(const std::_Any_data &) (__functor=...)
    at /usr/include/c++/4.6/functional:1778
#19 0x0000000000e48900 in std::function<void ()>::operator()() const (this=0x7fffefffeb50) at /usr/include/c++/4.6/functional:2161
#20 0x0000000000e62b3c in boost::asio::asio_handler_invoke<std::function<void ()> >(std::function<void ()>, ...) (function=...)
    at /home/maidsafe/super/MaidSafe/src/third_party_libs/boost/boost/asio/handler_invoke_hook.hpp:64
#21 0x0000000000e62305 in boost_asio_handler_invoke_helpers::invoke<std::function<void ()>, std::function<void ()> >(std::function<void ()>&, std::function<void ()>&) (function=..., context=...)
    at /home/maidsafe/super/MaidSafe/src/third_party_libs/boost/boost/asio/detail/handler_invoke_helpers.hpp:39
#22 0x0000000000e613dd in boost::asio::detail::completion_handler<std::function<void ()> >::do_complete(boost::asio::detail::task_io_service*, boost::asio::detail::task_io_service_operation*, boost::system::error_code const&, unsigned long) (owner=0x187a9b0, base=0x7fffbc00a080) at /home/maidsafe/super/MaidSafe/src/third_party_libs/boost/boost/asio/detail/completion_handler.hpp:67
#23 0x0000000000f61b36 in boost::asio::detail::task_io_service_operation::complete (this=0x7fffbc00a080, owner=..., ec=..., bytes_transferred=0)
    at /home/maidsafe/super/MaidSafe/src/third_party_libs/boost/boost/asio/detail/task_io_service_operation.hpp:37
#24 0x0000000001084313 in boost::asio::detail::task_io_service::do_run_one (this=0x187a9b0, lock=..., this_thread=..., ec=...)
    at /home/maidsafe/super/MaidSafe/src/third_party_libs/boost/boost/asio/detail/impl/task_io_service.ipp:419
#25 0x0000000001084017 in boost::asio::detail::task_io_service::run (this=0x187a9b0, ec=...) at /home/maidsafe/super/MaidSafe/src/third_party_libs/boost/boost/asio/detail/impl/task_io_service.ipp:160
#26 0x00000000010845e9 in boost::asio::io_service::run (this=0x188c8b8) at /home/maidsafe/super/MaidSafe/src/third_party_libs/boost/boost/asio/impl/io_service.ipp:59
#27 0x0000000001081b15 in operator() (this=0x194d838) at /home/maidsafe/super/MaidSafe/src/common/src/maidsafe/common/asio_service.cc:82
#28 0x000000000108353a in boost::detail::thread_data<maidsafe::AsioService::Start()::<lambda()> >::run(void) (this=0x194d6b0)
    at /home/maidsafe/super/MaidSafe/src/third_party_libs/boost/boost/thread/detail/thread.hpp:74
#29 0x000000000123ba28 in thread_proxy ()
#30 0x00007ffff7bc4e9a in start_thread (arg=0x7fffeffff700) at pthread_create.c:308
#31 0x00007ffff71d9dbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#32 0x0000000000000000 in ?? ()
(gdb) 

Group messages not always received by sender if part of group

Sometimes when a node sends a message to a group and itself is part of the group, it does not always receive the message itself. It is unknown whether the sending node is the group leader or not. This happens sporadically.

The issue was observed running TESTpd_func's PdTest.FUNC_SynchronisationAndPruning. The checks for account and chunk info locations will complain that a certain node won't have a particular data item, but three others do. With verbose logging it becomes clear that only 3 of the 4 group members received and responded to the initial RPCs.

Test for joining with a non existing key fails

The test FUNC_JoinWithNonExistingKey in TESTpd_func target fails in mannaged_connections.cc, connection_details.second->GetConnection(connection_details.first)->state() is null

E 2592967488 14:20:25.824014 routing/routing_api.cc:259] This node's [6ab371f..4002b88] failed to get closest node. Reconnecting ....

.
.
.
2886712128 14:20:28.824381 routing/routing_api.cc:214] Removing bootstrap connection to rebootstrap. Connection id : 24f4293..9d3b04e
TESTpd_func: /home/nikola/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.
Aborted (core dumped)

ZeroStateJoin fails with assertion in RoutingTable::InitialiseFunctors on 'network_status_functor'

TESTpd_func: /home/steve/projects/MaidSafe-Test/src/routing/src/maidsafe/routing/routing_table.cc:49: void maidsafe::routing::RoutingTable::InitialiseFunctors(maidsafe::routing::NetworkStatusFunctor, std::function<void(const maidsafe::routing::NodeInfo&, bool)>, maidsafe::routing::CloseNodeReplacedFunctor): Assertion `network_status_functor' failed.
#0  0xb7fdd424 in __kernel_vsyscall ()
#1  0xb7dd41df in __GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#2  0xb7dd7825 in __GI_abort () at abort.c:91
#3  0xb7dcd085 in __assert_fail_base (fmt=0xb7f0ac38 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x8e9b71d "network_status_functor", 
    file=0x8e9b6c8 "/home/steve/projects/MaidSafe-Test/src/routing/src/maidsafe/routing/routing_table.cc", line=49, 
    function=0x8e9c1a0 "void maidsafe::routing::RoutingTable::InitialiseFunctors(maidsafe::routing::NetworkStatusFunctor, std::function<void(const maidsafe::routing::NodeInfo&, bool)>, maidsafe::routing::CloseNodeReplacedFun"...) at assert.c:94
#4  0xb7dcd137 in __GI___assert_fail (assertion=0x8e9b71d "network_status_functor", file=0x8e9b6c8 "/home/steve/projects/MaidSafe-Test/src/routing/src/maidsafe/routing/routing_table.cc", line=49, 
    function=0x8e9c1a0 "void maidsafe::routing::RoutingTable::InitialiseFunctors(maidsafe::routing::NetworkStatusFunctor, std::function<void(const maidsafe::routing::NodeInfo&, bool)>, maidsafe::routing::CloseNodeReplacedFun"...) at assert.c:103
#5  0x089e6bcd in maidsafe::routing::RoutingTable::InitialiseFunctors(std::function<void (int const&)>, std::function<void (maidsafe::routing::NodeInfo const&, bool)>, std::function<void (std::vector<maidsafe::routing::NodeInfo, std::allocator<maidsafe::routing::NodeInfo> >)>) (this=0x9233594, network_status_functor=..., remove_node_functor=..., close_node_replaced_functor=...)
    at /home/steve/projects/MaidSafe-Test/src/routing/src/maidsafe/routing/routing_table.cc:49
#6  0x089c390d in maidsafe::routing::Routing::Impl::ConnectFunctors (this=0x92333a8, functors=...) at /home/steve/projects/MaidSafe-Test/src/routing/src/maidsafe/routing/routing_impl.cc:101
#7  0x089c5423 in maidsafe::routing::Routing::Impl::ZeroStateJoin (this=0x92333a8, functors=..., local_endpoint=..., peer_endpoint=..., peer_info=...)
    at /home/steve/projects/MaidSafe-Test/src/routing/src/maidsafe/routing/routing_impl.cc:238
#8  0x089c22a7 in maidsafe::routing::Routing::ZeroStateJoin (this=0x9230290, functors=..., local_endpoint=..., peer_endpoint=..., peer_info=...)
    at /home/steve/projects/MaidSafe-Test/src/routing/src/maidsafe/routing/routing_api.cc:38

Reconnecting vault stops with assert

The message given is the following:

/home/Smer/maidsafe/src/rudp/src/maidsafe/rudp/core/dispatcher.cc:42: uint32_t maidsafe::rudp::detail::Dispatcher::AddSocket(maidsafe::rudp::detail::Socket*): Assertion `connection_manager_' failed.

Drive creating phantom directories

can be seen by executing the following steps -

  1. copy directory structure to drive
  2. move directory to new position within structure
  3. copy the original directory back onto drive.

Directory structure will now contain non accessible/removable folders within the tree altered in step 2.

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.