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

Vaults in network throw exception when many other vaults are stopped #71

Closed ghost closed 12 years ago

ghost commented 12 years ago

After killing 21 vaults in a network of size 32, 7 of the remaining vaults stop with the following exception:

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 0x7fffe7fff700 (LWP 25841)]
0x00007ffff711a425 in __GI_raise (sig=<optimised out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
64      ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) where
#0  0x00007ffff711a425 in __GI_raise (sig=<optimised out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1  0x00007ffff711db8b in __GI_abort () at abort.c:91
#2  0x00000000011e0d4d in __gnu_cxx::__verbose_terminate_handler() ()
#3  0x00000000011debc6 in __cxxabiv1::__terminate(void (*)()) ()
#4  0x00000000011debf3 in std::terminate() ()
#5  0x00000000011dda9e in __cxa_throw ()
#6  0x0000000000fac265 in boost::throw_exception<std::system_error> (e=...)
    at /home/alison/Development/Workspace/MaidSafe/src/third_party_libs/boost/boost/throw_exception.hpp:67
#7  0x0000000000fab815 in maidsafe::DoThrowError (code=...)
    at /home/alison/Development/Workspace/MaidSafe/src/common/src/maidsafe/common/error.cc:72
#8  0x0000000000bdb2ba in maidsafe::ThrowError (code=...)
    at /home/alison/Development/Workspace/MaidSafe/src/common/include/maidsafe/common/error.h:561
#9  0x0000000000c1a96d in maidsafe::detail::BoundedString<24ul, 24ul>::string (this=0x7fffe7ffcd68)
    at /home/alison/Development/Workspace/MaidSafe/src/common/include/maidsafe/common/bounded_string.h:122
#10 0x0000000000c7a907 in operator() (this=0x7fffe7ffcd10, entry=...)
    at /home/alison/Development/Workspace/MaidSafe/src/pd/src/maidsafe/pd/vault/chunk_info_handler.cc:954
#11 0x0000000000c7cddd 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
#12 0x0000000000c7aaae in operator() (this=0x7fffe7ffce00, info=...)
    at /home/alison/Development/Workspace/MaidSafe/src/pd/src/maidsafe/pd/vault/chunk_info_handler.cc:962
#13 0x0000000000c7ce79 in std::for_each<std::_Rb_tree_iterator<std::pair<const maidsafe::detail::BoundedString<64ul, 65ul>, maidsafe::pd::vault::ChunkInfoHandler::ChunkInfo> >, maidsafe::pd::vault::ChunkInfoHandler::SerialiseChunkInfo()::<lambda(const value_type&)> >(std::_Rb_tree_iterator<std::pair<maidsafe::detail::BoundedString<64ul, 65ul> const, maidsafe::pd::vault::ChunkInfoHandler::ChunkInfo> >, std::_Rb_tree_iterator<std::pair<maidsafe::detail::BoundedString<64ul, 65ul> const, maidsafe::pd::vault::ChunkInfoHandler::ChunkInfo> >, struct {...}) (__first=..., __last=..., __f=...) at /usr/include/c++/4.6/bits/stl_algo.h:4379
#14 0x0000000000c7adbb in maidsafe::pd::vault::ChunkInfoHandler::SerialiseChunkInfo (this=0x17e6a20)
    at /home/alison/Development/Workspace/MaidSafe/src/pd/src/maidsafe/pd/vault/chunk_info_handler.cc:975
#15 0x0000000000c0434f in maidsafe::pd::vault::Node::GetSyncData (this=0x17e0220, response=0x7fffe7ffe230)
    at /home/alison/Development/Workspace/MaidSafe/src/pd/src/maidsafe/pd/vault/node.cc:972
#16 0x0000000000bfc76d 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=0x17e0220, message_type=@0x7fffe7ffe95c: maidsafe::pd::kSyncGetSyncData, message=..., 
    sender=..., group_claim=..., security_type=..., cache_lookup=false, reply_functor=...)
    at /home/alison/Development/Workspace/MaidSafe/src/pd/src/maidsafe/pd/vault/node.cc:555
#17 0x0000000000bf79a0 in operator() (this=0x7fffd4009450)
    at /home/alison/Development/Workspace/MaidSafe/src/pd/src/maidsafe/pd/vault/node.cc:183
#18 0x0000000000c067c6 in std::_Function_handler<void(), maidsafe::pd::vault::Node::Start(const boost::filesystem::path&, const std::vector<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >&)::<lambda(const int32_t&, const string&, const maidsafe::pd::Contact&, const maidsafe::NodeId&, const maidsafe::pd::SecurityType&, bool, const ReplyFunctor&)>::<lambda()> >::_M_invoke(const std::_Any_data &)
    (__functor=...) at /usr/include/c++/4.6/functional:1778
#19 0x0000000000ccb0f6 in std::function<void ()>::operator()() const (this=0x7fffe7ffea90) at /usr/include/c++/4.6/functional:2161
#20 0x0000000000d0cb6e in boost::asio::asio_handler_invoke<std::function<void ()> >(std::function<void ()>, ...) (function=...)
    at /home/alison/Development/Workspace/MaidSafe/src/third_party_libs/boost/boost/asio/handler_invoke_hook.hpp:64
#21 0x0000000000d0c337 in boost_asio_handler_invoke_helpers::invoke<std::function<void ()>, std::function<void ()> >(std::function<void ()>&, std::function<void ()>&) (function=..., context=...)
    at /home/alison/Development/Workspace/MaidSafe/src/third_party_libs/boost/boost/asio/detail/handler_invoke_helpers.hpp:39
#22 0x0000000000d0b40f 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=0x17c5390, 
    base=0x7fffc80052e0)
    at /home/alison/Development/Workspace/MaidSafe/src/third_party_libs/boost/boost/asio/detail/completion_handler.hpp:67
#23 0x0000000000eaca18 in boost::asio::detail::task_io_service_operation::complete (this=0x7fffc80052e0, owner=..., ec=..., 
    bytes_transferred=0)
    at /home/alison/Development/Workspace/MaidSafe/src/third_party_libs/boost/boost/asio/detail/task_io_service_operation.hpp:37
#24 0x0000000000f9f43b in boost::asio::detail::task_io_service::do_run_one (this=0x17c5390, lock=..., this_thread=..., ec=...)
    at /home/alison/Development/Workspace/MaidSafe/src/third_party_libs/boost/boost/asio/detail/impl/task_io_service.ipp:419
#25 0x0000000000f9f13f in boost::asio::detail::task_io_service::run (this=0x17c5390, ec=...)
    at /home/alison/Development/Workspace/MaidSafe/src/third_party_libs/boost/boost/asio/detail/impl/task_io_service.ipp:160
#26 0x0000000000f9f711 in boost::asio::io_service::run (this=0x17e0228)
    at /home/alison/Development/Workspace/MaidSafe/src/third_party_libs/boost/boost/asio/impl/io_service.ipp:59
#27 0x0000000000f9cb7f in operator() (this=0x180d148)
    at /home/alison/Development/Workspace/MaidSafe/src/common/src/maidsafe/common/asio_service.cc:82
muecs commented 12 years ago

maidsafe/MaidSafe-PD@a3fd4bab34fbf8a6247a94208490d67ea08ed0f5 might fix it, let me know if it happens again.