STEllAR-GROUP / hpx

The C++ Standard Library for Parallelism and Concurrency
https://hpx.stellar-group.org
Boost Software License 1.0
2.53k stars 435 forks source link

Invalid component exception raised by AGAS when running marduk #88

Closed brycelelbach closed 12 years ago

brycelelbach commented 12 years ago

[reported by nalex] [Trac time Tue Aug 16 17:08:40 2011] After latest changes with throttle component, marduk crashes with this:

(T00000001/----------------.--/----------------) P--------/----------------.-- 12:04.30 [1]   <fatal> [ERR] tfunc(2): caught hpx::exception: attempt to insert a GVA with an invalid type, gid({0000000100000001, 000000000004ffff}), gva((tcpip 127.0.0.1:7910 component_invalid[-1] 65535 0x7fba3803f340 0x8)): HPX(bad parameter), aborted thread execution
[stack_trace]: 35 frames:
0x7fba55e09fd9  : boost::stack_trace::trace(void**, int) + 0x9 in /root/hpx-install/lib/libhpx.so.0
0x7fba559ac0ef  : boost::backtrace::backtrace(unsigned long) + 0x5f in /root/hpx-install/lib/libhpx.so.0
0x7fba559ac1b4  : boost::trace() + 0x24 in /root/hpx-install/lib/libhpx.so.0
0x7fba55982ae1  : hpx::detail::backtrace() + 0x11 in /root/hpx-install/lib/libhpx.so.0
0x7fba559ac257  : void hpx::detail::throw_exception<hpx::exception>(hpx::exception const&, std::string const&, std::string const&, int) + 0x67 in /root/hpx-install/lib/libhpx.so.0
0x7fba55b94c6d  : hpx::agas::server::primary_namespace<hpx::agas::tag::database::stdmap, hpx::agas::tag::network::tcpip>::bind_gid(hpx::naming::gid_type const&, hpx::agas::gva<hpx::agas::tag::network::tcpip> const&) + 0x95d in /root/hpx-install/lib/libhpx.so.0
0x7fba55b5cd2a  : hpx::agas::legacy_router::bind_range(hpx::naming::gid_type const&, unsigned long, hpx::naming::address const&, unsigned long, hpx::error_code&) + 0xba in /root/hpx-install/lib/libhpx.so.0
0x7fba55c38a3f  : hpx::applier::bind_range(hpx::naming::gid_type const&, unsigned long, hpx::naming::address const&, unsigned long, hpx::error_code&) + 0x4f in /root/hpx-install/lib/libhpx.so.0
0x6a0f91        : hpx::components::detail::wrapper_heap<hpx::components::managed_component<hpx::lcos::detail::future_value<boost::shared_ptr<std::vector<hpx::naming::id_type, std::allocator<hpx::naming::id_type> > >, boost::shared_ptr<std::vector<hpx::naming::id_type, std::allocator<hpx::naming::id_type> > >, 1>, hpx::components::detail::this_type>, hpx::components::detail::one_size_heap_allocators::fixed_mallocator>::get_gid(hpx::util::unique_id_ranges&, void*) + 0x171 in ./marduk
0x6a1115        : hpx::components::detail::wrapper_heap_list<hpx::components::detail::fixed_wrapper_heap<hpx::components::managed_component<hpx::lcos::detail::future_value<boost::shared_ptr<std::vector<hpx::naming::id_type, std::allocator<hpx::naming::id_type> > >, boost::shared_ptr<std::vector<hpx::naming::id_type, std::allocator<hpx::naming::id_type> > >, 1>, hpx::components::detail::this_type> > >::get_gid(void*) + 0x115 in ./marduk
0x6a116c        : hpx::components::heap_factory<hpx::lcos::detail::future_value<boost::shared_ptr<std::vector<hpx::naming::id_type, std::allocator<hpx::naming::id_type> > >, boost::shared_ptr<std::vector<hpx::naming::id_type, std::allocator<hpx::naming::id_type> > >, 1>, hpx::components::managed_component<hpx::lcos::detail::future_value<boost::shared_ptr<std::vector<hpx::naming::id_type, std::allocator<hpx::naming::id_type> > >, boost::shared_ptr<std::vector<hpx::naming::id_type, std::allocator<hpx::naming::id_type> > >, 1>, hpx::components::detail::this_type> >::get_gid(void*) + 0x1c in ./marduk
0x6a118d        : hpx::components::managed_component<hpx::lcos::detail::future_value<boost::shared_ptr<std::vector<hpx::naming::id_type, std::allocator<hpx::naming::id_type> > >, boost::shared_ptr<std::vector<hpx::naming::id_type, std::allocator<hpx::naming::id_type> > >, 1>, hpx::components::detail::this_type>::get_base_gid() const + 0xd in ./marduk
0x6a164c        : hpx::naming::id_type const& hpx::lcos::detail::future_value<boost::shared_ptr<std::vector<hpx::naming::id_type, std::allocator<hpx::naming::id_type> > >, boost::shared_ptr<std::vector<hpx::naming::id_type, std::allocator<hpx::naming::id_type> > >, 1>::get_gid<hpx::components::managed_component<hpx::lcos::detail::future_value<boost::shared_ptr<std::vector<hpx::naming::id_type, std::allocator<hpx::naming::id_type> > >, boost::shared_ptr<std::vector<hpx::naming::id_type, std::allocator<hpx::naming::id_type> > >, 1>, hpx::components::detail::this_type> >(hpx::components::managed_component<hpx::lcos::detail::future_value<boost::shared_ptr<std::vector<hpx::naming::id_type, std::allocator<hpx::naming::id_type> > >, boost::shared_ptr<std::vector<hpx::naming::id_type, std::allocator<hpx::naming::id_type> > >, 1>, hpx::components::detail::this_type>*) const + 0x5c in ./marduk
0x6a1896        : hpx::lcos::future_value<boost::shared_ptr<std::vector<hpx::naming::id_type, std::allocator<hpx::naming::id_type> > >, boost::shared_ptr<std::vector<hpx::naming::id_type, std::allocator<hpx::naming::id_type> > >, 1>::get_gid() const + 0x36 in ./marduk
0x6a18f8        : void hpx::lcos::eager_future<hpx::actions::result_action7<hpx::components::amr::server::unigrid_mesh, boost::shared_ptr<std::vector<hpx::naming::id_type, std::allocator<hpx::naming::id_type> > >, 0, std::vector<hpx::naming::id_type, std::allocator<hpx::naming::id_type> > const&, double, hpx::components::component_type, unsigned long, unsigned long, hpx::components::component_type, hpx::components::amr::parameter const&, &(hpx::components::amr::server::unigrid_mesh::init_execute(std::vector<hpx::naming::id_type, std::allocator<hpx::naming::id_type> > const&, double, hpx::components::component_type, unsigned long, unsigned long, hpx::components::component_type, hpx::components::amr::parameter const&)), (hpx::threads::thread_priority)0, hpx::actions::detail::this_type>, boost::shared_ptr<std::vector<hpx::naming::id_type, std::allocator<hpx::naming::id_type> > >, mpl_::bool_<false> >::apply<std::vector<hpx::naming::id_type, std::allocator<hpx::naming::id_type> >, double, hpx::components::component_type, unsigned long, unsigned long, hpx::components::component_type, hpx::components::amr::parameter>(hpx::naming::id_type const&, std::vector<hpx::naming::id_type, std::allocator<hpx::naming::id_type> > const&, double const&, hpx::components::component_type const&, unsigned long const&, unsigned long const&, hpx::components::component_type const&, hpx::components::amr::parameter const&) + 0x48 in ./marduk
0x6a1ae6        : hpx::lcos::eager_future<hpx::actions::result_action7<hpx::components::amr::server::unigrid_mesh, boost::shared_ptr<std::vector<hpx::naming::id_type, std::allocator<hpx::naming::id_type> > >, 0, std::vector<hpx::naming::id_type, std::allocator<hpx::naming::id_type> > const&, double, hpx::components::component_type, unsigned long, unsigned long, hpx::components::component_type, hpx::components::amr::parameter const&, &(hpx::components::amr::server::unigrid_mesh::init_execute(std::vector<hpx::naming::id_type, std::allocator<hpx::naming::id_type> > const&, double, hpx::components::component_type, unsigned long, unsigned long, hpx::components::component_type, hpx::components::amr::parameter const&)), (hpx::threads::thread_priority)0, hpx::actions::detail::this_type>, boost::shared_ptr<std::vector<hpx::naming::id_type, std::allocator<hpx::naming::id_type> > >, mpl_::bool_<false> >::eager_future<std::vector<hpx::naming::id_type, std::allocator<hpx::naming::id_type> >, double, hpx::components::component_type, unsigned long, unsigned long, hpx::components::component_type, hpx::components::amr::parameter>(hpx::naming::id_type const&, std::vector<hpx::naming::id_type, std::allocator<hpx::naming::id_type> > const&, double const&, hpx::components::component_type const&, unsigned long const&, unsigned long const&, hpx::components::component_type const&, hpx::components::amr::parameter const&) + 0x186 in ./marduk
0x6a1b90        : hpx::components::amr::stubs::unigrid_mesh::init_execute_async(hpx::naming::id_type const&, std::vector<hpx::naming::id_type, std::allocator<hpx::naming::id_type> > const&, double, hpx::components::component_type, unsigned long, unsigned long, hpx::components::component_type, hpx::components::amr::parameter const&) + 0x50 in ./marduk
0x6a1c59        : hpx::components::amr::stubs::unigrid_mesh::init_execute(hpx::naming::id_type const&, std::vector<hpx::naming::id_type, std::allocator<hpx::naming::id_type> > const&, double, hpx::components::component_type, unsigned long, unsigned long, hpx::components::component_type, hpx::components::amr::parameter const&) + 0x29 in ./marduk
0x6a1cb0        : hpx::components::amr::unigrid_mesh::init_execute(std::vector<hpx::naming::id_type, std::allocator<hpx::naming::id_type> > const&, double, hpx::components::component_type, unsigned long, unsigned long, hpx::components::component_type, hpx::components::amr::parameter const&) + 0x20 in ./marduk
0x637ff2        : hpx_main(boost::program_options::variables_map&) + 0x1b72 in ./marduk
0x6c0508        : int boost::_bi::list1<boost::_bi::value<boost::program_options::variables_map> >::operator()<int, int (*)(boost::program_options::variables_map&), boost::_bi::list0>(boost::_bi::type<int>, int (*&)(boost::program_options::variables_map&), boost::_bi::list0&, long) + 0x38 in ./marduk
0x6c0554        : boost::_bi::bind_t<int, int (*)(boost::program_options::variables_map&), boost::_bi::list1<boost::_bi::value<boost::program_options::variables_map> > >::operator()() + 0x34 in ./marduk
0x6c0fcc        : boost::detail::function::function_obj_invoker0<boost::_bi::bind_t<int, int (*)(boost::program_options::variables_map&), boost::_bi::list1<boost::_bi::value<boost::program_options::variables_map> > >, int>::invoke(boost::detail::function::function_buffer&) + 0xc in ./marduk
0x7fba559f83e4  : boost::function0<int>::operator()() const + 0x24 in /root/hpx-install/lib/libhpx.so.0
0x7fba55a06ce4  : hpx::runtime_impl<hpx::threads::policies::local_priority_queue_scheduler, hpx::threads::policies::callback_notifier>::run_helper(boost::function<int ()()>, int&) + 0x54 in /root/hpx-install/lib/libhpx.so.0
0x7fba559ebc4b  : boost::_mfi::mf2<hpx::threads::detail::tagged_thread_state<hpx::threads::thread_state_enum>, hpx::runtime_impl<hpx::threads::policies::local_priority_queue_scheduler, hpx::threads::policies::callback_notifier>, boost::function<int ()()>, int&>::operator()(hpx::runtime_impl<hpx::threads::policies::local_priority_queue_scheduler, hpx::threads::policies::callback_notifier>*, boost::function<int ()()>, int&) const + 0x5b in /root/hpx-install/lib/libhpx.so.0
0x7fba559ebd09  : hpx::threads::detail::tagged_thread_state<hpx::threads::thread_state_enum> boost::_bi::list3<boost::_bi::value<hpx::runtime_impl<hpx::threads::policies::local_priority_queue_scheduler, hpx::threads::policies::callback_notifier>*>, boost::_bi::value<boost::function<int ()()> >, boost::reference_wrapper<int> >::operator()<hpx::threads::detail::tagged_thread_state<hpx::threads::thread_state_enum>, boost::_mfi::mf2<hpx::threads::detail::tagged_thread_state<hpx::threads::thread_state_enum>, hpx::runtime_impl<hpx::threads::policies::local_priority_queue_scheduler, hpx::threads::policies::callback_notifier>, boost::function<int ()()>, int&>, boost::_bi::list1<hpx::threads::thread_state_ex_enum&> >(boost::_bi::type<hpx::threads::detail::tagged_thread_state<hpx::threads::thread_state_enum> >, boost::_mfi::mf2<hpx::threads::detail::tagged_thread_state<hpx::threads::thread_state_enum>, hpx::runtime_impl<hpx::threads::policies::local_priority_queue_scheduler, hpx::threads::policies::callback_notifier>, boost::function<int ()()>, int&>&, boost::_bi::list1<hpx::threads::thread_state_ex_enum&>&, long) + 0x79 in /root/hpx-install/lib/libhpx.so.0
0x7fba559ebd74  : hpx::threads::detail::tagged_thread_state<hpx::threads::thread_state_enum> boost::_bi::bind_t<hpx::threads::detail::tagged_thread_state<hpx::threads::thread_state_enum>, boost::_mfi::mf2<hpx::threads::detail::tagged_thread_state<hpx::threads::thread_state_enum>, hpx::runtime_impl<hpx::threads::policies::local_priority_queue_scheduler, hpx::threads::policies::callback_notifier>, boost::function<int ()()>, int&>, boost::_bi::list3<boost::_bi::value<hpx::runtime_impl<hpx::threads::policies::local_priority_queue_scheduler, hpx::threads::policies::callback_notifier>*>, boost::_bi::value<boost::function<int ()()> >, boost::reference_wrapper<int> > >::operator()<hpx::threads::thread_state_ex_enum>(hpx::threads::thread_state_ex_enum&) + 0x34 in /root/hpx-install/lib/libhpx.so.0
0x7fba559ebd97  : boost::detail::function::function_obj_invoker1<boost::_bi::bind_t<hpx::threads::detail::tagged_thread_state<hpx::threads::thread_state_enum>, boost::_mfi::mf2<hpx::threads::detail::tagged_thread_state<hpx::threads::thread_state_enum>, hpx::runtime_impl<hpx::threads::policies::local_priority_queue_scheduler, hpx::threads::policies::callback_notifier>, boost::function<int ()()>, int&>, boost::_bi::list3<boost::_bi::value<hpx::runtime_impl<hpx::threads::policies::local_priority_queue_scheduler, hpx::threads::policies::callback_notifier>*>, boost::_bi::value<boost::function<int ()()> >, boost::reference_wrapper<int> > >, hpx::threads::thread_state_enum, hpx::threads::thread_state_ex_enum>::invoke(boost::detail::function::function_buffer&, hpx::threads::thread_state_ex_enum) + 0x17 in /root/hpx-install/lib/libhpx.so.0
0x7fba55b11c01  : boost::function1<hpx::threads::thread_state_enum, hpx::threads::thread_state_ex_enum>::operator()(hpx::threads::thread_state_ex_enum) const + 0x31 in /root/hpx-install/lib/libhpx.so.0
0x7fba55d8c59e  : boost::coroutines::detail::unpacker_n<boost::coroutines::tuple_traits<hpx::threads::thread_state_ex_enum, boost::tuples::null_type>, 1>::result<boost::function<hpx::threads::thread_state_enum ()(hpx::threads::thread_state_ex_enum)>, boost::tuples::tuple<hpx::threads::thread_state_ex_enum, 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::tuples::null_type> >::type boost::coroutines::detail::unpacker_n<boost::coroutines::tuple_traits<hpx::threads::thread_state_ex_enum, boost::tuples::null_type>, 1>::operator()<boost::function<hpx::threads::thread_state_enum ()(hpx::threads::thread_state_ex_enum)>, boost::tuples::tuple<hpx::threads::thread_state_ex_enum, 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::tuples::null_type> >(boost::function<hpx::threads::thread_state_enum ()(hpx::threads::thread_state_ex_enum)>&, boost::tuples::tuple<hpx::threads::thread_state_ex_enum, 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::tuples::null_type>&) + 0x1e in /root/hpx-install/lib/libhpx.so.0
0x7fba55d8c5ca  : boost::coroutines::detail::unpacker_n<boost::coroutines::tuple_traits<hpx::threads::thread_state_ex_enum, boost::tuples::null_type>, boost::coroutines::tuple_traits<hpx::threads::thread_state_ex_enum, boost::tuples::null_type>::length>::result<boost::function<hpx::threads::thread_state_enum ()(hpx::threads::thread_state_ex_enum)>, boost::tuples::tuple<hpx::threads::thread_state_ex_enum, 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::tuples::null_type> >::type boost::coroutines::detail::unpack<boost::coroutines::tuple_traits<hpx::threads::thread_state_ex_enum, boost::tuples::null_type>, boost::function<hpx::threads::thread_state_enum ()(hpx::threads::thread_state_ex_enum)>, boost::tuples::tuple<hpx::threads::thread_state_ex_enum, 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::tuples::null_type> >(boost::function<hpx::threads::thread_state_enum ()(hpx::threads::thread_state_ex_enum)>, boost::tuples::tuple<hpx::threads::thread_state_ex_enum, 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::tuples::null_type>&, boost::coroutines::detail::trait_tag<boost::coroutines::tuple_traits<hpx::threads::thread_state_ex_enum, boost::tuples::null_type> >) + 0x1a in /root/hpx-install/lib/libhpx.so.0
0x7fba55da2b1b  : boost::disable_if<boost::is_void<hpx::threads::thread_state_enum>, void>::type boost::coroutines::detail::coroutine_impl_wrapper<boost::function<hpx::threads::thread_state_enum ()(hpx::threads::thread_state_ex_enum)>, boost::coroutines::coroutine<hpx::threads::thread_state_enum ()(hpx::threads::thread_state_ex_enum), hpx::threads::detail::coroutine_allocator, boost::coroutines::detail::oslinux64::x86_64_linux_context_impl>, boost::coroutines::detail::oslinux64::x86_64_linux_context_impl, hpx::threads::detail::coroutine_allocator>::do_call<hpx::threads::thread_state_enum>(boost::coroutines::detail::coroutine_impl_wrapper<boost::function<hpx::threads::thread_state_enum ()(hpx::threads::thread_state_ex_enum)>, boost::coroutines::coroutine<hpx::threads::thread_state_enum ()(hpx::threads::thread_state_ex_enum), hpx::threads::detail::coroutine_allocator, boost::coroutines::detail::oslinux64::x86_64_linux_context_impl>, boost::coroutines::detail::oslinux64::x86_64_linux_context_impl, hpx::threads::detail::coroutine_allocator>::dummy<1>) + 0x7b in /root/hpx-install/lib/libhpx.so.0
0x7fba55da2db9  : boost::coroutines::detail::coroutine_impl_wrapper<boost::function<hpx::threads::thread_state_enum ()(hpx::threads::thread_state_ex_enum)>, boost::coroutines::coroutine<hpx::threads::thread_state_enum ()(hpx::threads::thread_state_ex_enum), hpx::threads::detail::coroutine_allocator, boost::coroutines::detail::oslinux64::x86_64_linux_context_impl>, boost::coroutines::detail::oslinux64::x86_64_linux_context_impl, hpx::threads::detail::coroutine_allocator>::operator()() + 0x79 in /root/hpx-install/lib/libhpx.so.0
0x7fba55da2f99  : void boost::coroutines::detail::oslinux64::trampoline<boost::coroutines::detail::coroutine_impl_wrapper<boost::function<hpx::threads::thread_state_enum ()(hpx::threads::thread_state_ex_enum)>, boost::coroutines::coroutine<hpx::threads::thread_state_enum ()(hpx::threads::thread_state_ex_enum), hpx::threads::detail::coroutine_allocator, boost::coroutines::detail::oslinux64::x86_64_linux_context_impl>, boost::coroutines::detail::oslinux64::x86_64_linux_context_impl, hpx::threads::detail::coroutine_allocator> >(boost::coroutines::detail::coroutine_impl_wrapper<boost::function<hpx::threads::thread_state_enum ()(hpx::threads::thread_state_ex_enum)>, boost::coroutines::coroutine<hpx::threads::thread_state_enum ()(hpx::threads::thread_state_ex_enum), hpx::threads::detail::coroutine_allocator, boost::coroutines::detail::oslinux64::x86_64_linux_context_impl>, boost::coroutines::detail::oslinux64::x86_64_linux_context_impl, hpx::threads::detail::coroutine_allocator>*) + 0x9 in /root/hpx-install/lib/libhpx.so.0
[what]: attempt to insert a GVA with an invalid type, gid({0000000100000001, 000000000004ffff}), gva((tcpip 127.0.0.1:7910 component_invalid[-1] 65535 0x7fba3803f340 0x8)): HPX(bad parameter)
[locality]: 1
[function]: hpx::agas::response<Protocol> hpx::agas::server::primary_namespace<Database, Protocol>::bind_gid(const hpx::naming::gid_type&, const hpx::agas::gva<Protocol>&) [with Database = hpx::agas::tag::database::stdmap, Protocol = hpx::agas::tag::network::tcpip]
[file]: /root/trunk/hpx/hpx/runtime/agas/namespace/server/primary.hpp
[line]: 370
[shepherd]: 2
[thread_id]: 00007fba587bf010
[thread_name]: run_helper
brycelelbach commented 12 years ago

[comment by nalex] [Trac time Tue Aug 16 17:11:20 2011] ran with: ./marduk --app-config ~/trunk/hpx/examples/marduk/idmarduk -t 8

brycelelbach commented 12 years ago

[comment by blelbach] [Trac time Tue Aug 16 17:18:50 2011] This means that marduk isn't properly registering all it's components.

brycelelbach commented 12 years ago

[comment by blelbach] [Trac time Tue Aug 16 18:17:58 2011] Fixed in cf9e4dd31ea817804d6f4723430db93e1982a768.