maidsafe-archive / MaidSafe

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

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

Closed ghost closed 12 years ago

ghost commented 12 years ago

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++
Fraser999 commented 12 years ago

Bug fixed in commit https://github.com/maidsafe/MaidSafe-RUDP/commit/76c2dd9f9656cd63d760b1ad5decd05d03e07875