Skip to content

Instantly share code, notes, and snippets.

@msimberg
Created October 25, 2017 12:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save msimberg/6572fe3bf99bd3d3508db7aed64823c1 to your computer and use it in GitHub Desktop.
Save msimberg/6572fe3bf99bd3d3508db7aed64823c1 to your computer and use it in GitHub Desktop.
==2464==ERROR: AddressSanitizer: stack-buffer-underflow on address 0x7fbd72771e50 at pc 0x7fbd7f6ca3bd bp 0x7fbd72771e10 sp 0x7fbd72771e00
WRITE of size 8 at 0x7fbd72771e50 thread T612
#0 0x7fbd7f6ca3bc in std::_Rb_tree_iterator<std::pair<void const* const, hpx::util::detail::lock_data> >::_Rb_tree_iterator(std::_Rb_tree_node_base*) /usr/include/c++/5/bits/stl_tree.h:192
#1 0x7fbd7f6c9a53 in std::_Rb_tree<void const*, std::pair<void const* const, hpx::util::detail::lock_data>, std::_Select1st<std::pair<void const* const, hpx::util::detail::lock_data> >, std::less<void const*>, std::allocator<std::pair<void const* const, hpx::util::detail::lock_d
ata> > >::end() /usr/include/c++/5/bits/stl_tree.h:878
#2 0x7fbd7f6c9359 in std::map<void const*, hpx::util::detail::lock_data, std::less<void const*>, std::allocator<std::pair<void const* const, hpx::util::detail::lock_data> > >::end() /usr/include/c++/5/bits/stl_map.h:357
#3 0x7fbd7f6c7559 in hpx::util::register_lock(void const*, hpx::util::register_lock_data*) /home/simbergm/src/hpx/src/util/register_locks.cpp:188
#4 0x7fbd7e29381e in hpx::lcos::local::spinlock::lock() /home/simbergm/src/hpx/hpx/lcos/local/spinlock.hpp:152
#5 0x7fbd7e29b29a in std::lock_guard<hpx::lcos::local::spinlock>::lock_guard(hpx::lcos::local::spinlock&) /usr/include/c++/5/mutex:386
#6 0x7fbd7ed4187c in hpx::agas::addressing_service::is_local_address_cached(hpx::naming::gid_type const&, hpx::naming::address&, hpx::error_code&) /home/simbergm/src/hpx/src/runtime/agas/addressing_service.cpp:866
#7 0x7fbd7f1cbb3a in hpx::agas::is_local_address_cached(hpx::naming::gid_type const&, hpx::naming::address&, hpx::error_code&) /home/simbergm/src/hpx/src/runtime/agas/interface.cpp:223
#8 0x7fbd7e2967b0 in hpx::agas::is_local_address_cached(hpx::naming::id_type const&, hpx::naming::address&, hpx::error_code&) /home/simbergm/src/hpx/hpx/runtime/agas/interface.hpp:274
#9 0x7fbd7e8fff19 in hpx::lcos::future<hpx::traits::extract_action<hpx::components::server::runtime_support::call_shutdown_functions_action, void>::type::local_result_type> hpx::detail::async_impl<hpx::components::server::runtime_support::call_shutdown_functions_action, bool con
st&>(hpx::detail::async_policy, hpx::naming::id_type const&, bool const&) /home/simbergm/src/hpx/hpx/lcos/detail/async_implementations.hpp:253
#10 0x7fbd7e8d59fe in hpx::lcos::future<void> hpx::detail::async_action_dispatch<hpx::components::server::runtime_support::call_shutdown_functions_action, hpx::detail::async_policy, void>::call<hpx::detail::async_policy const&, bool const&>(hpx::detail::async_policy const&, hpx:
:naming::id_type const&, bool const&) /home/simbergm/src/hpx/hpx/lcos/async.hpp:78
#11 0x7fbd7e8d59fe in decltype (hpx::detail::async_action_dispatch<hpx::components::server::runtime_support::call_shutdown_functions_action, hpx::util::decay<hpx::detail::async_policy const&>::type, void>::call((forward<hpx::detail::async_policy const&>)({parm#1}), (forward<hpx:
:naming::id_type const&>)({parm#2}), (forward<bool const&>)({parm#2}))) hpx::async<hpx::components::server::runtime_support::call_shutdown_functions_action, hpx::detail::async_policy const&, hpx::naming::id_type const&, bool const&>(hpx::detail::async_policy const&, hpx::naming::id_
type const&, bool const&) /home/simbergm/src/hpx/hpx/lcos/async.hpp:243
#12 0x7fbd7e8d59fe in hpx::lcos::future<hpx::traits::promise_local_result<hpx::traits::extract_action<hpx::components::server::runtime_support::call_shutdown_functions_action, void>::remote_result_type, void>::type> hpx::detail::async_dispatch<hpx::components::server::runtime_su
pport::call_shutdown_functions_action, void>::call<hpx::components::server::runtime_support, void (bool), hpx::components::server::runtime_support::call_shutdown_functions_action, bool const&>(hpx::actions::basic_action<hpx::components::server::runtime_support, void (bool), hpx::com
ponents::server::runtime_support::call_shutdown_functions_action> const&, hpx::naming::id_type const&, bool const&) /home/simbergm/src/hpx/hpx/lcos/async.hpp:270
#13 0x7fbd7e8d59fe in decltype (hpx::detail::async_dispatch<hpx::util::decay<hpx::components::server::runtime_support::call_shutdown_functions_action&>::type, void>::call((forward<hpx::components::server::runtime_support::call_shutdown_functions_action&>)({parm#1}), (forward<hpx
::naming::id_type const&>)({parm#2}), (forward<bool const&>)({parm#2}))) hpx::async<hpx::components::server::runtime_support::call_shutdown_functions_action&, hpx::naming::id_type const&, bool const&>(hpx::components::server::runtime_support::call_shutdown_functions_action&, hpx::na
ming::id_type const&, bool const&) /home/simbergm/src/hpx/hpx/async.hpp:350
#14 0x7fbd7e8d59fe in void hpx::lcos::detail::broadcast_invoke<hpx::components::server::runtime_support::call_shutdown_functions_action, std::vector<hpx::lcos::future<void>, std::allocator<hpx::lcos::future<void> > >, bool>(hpx::components::server::runtime_support::call_shutdown
_functions_action, std::vector<hpx::lcos::future<void>, std::allocator<hpx::lcos::future<void> > >&, hpx::naming::id_type const&, unsigned long, bool const&) /home/simbergm/src/hpx/hpx/lcos/broadcast.hpp:253
#15 0x7fbd7e8be7b3 in void hpx::lcos::detail::broadcast_impl<hpx::components::server::runtime_support::call_shutdown_functions_action, bool>(hpx::components::server::runtime_support::call_shutdown_functions_action const&, std::vector<hpx::naming::id_type, std::allocator<hpx::nam
ing::id_type> > const&, unsigned long, std::integral_constant<bool, true>, bool const&) /home/simbergm/src/hpx/hpx/lcos/broadcast.hpp:560
#16 0x7fbd7e8a3571 in hpx::lcos::detail::broadcast_invoker<hpx::components::server::runtime_support::call_shutdown_functions_action, std::integral_constant<bool, true>, bool>::call(hpx::components::server::runtime_support::call_shutdown_functions_action const&, std::vector<hpx::
naming::id_type, std::allocator<hpx::naming::id_type> > const&, unsigned long, std::integral_constant<bool, true>, bool const&) (/home/simbergm/src/hpx-build-release/lib/libhpxd.so.1+0x1149571)
#17 0x7fbd7e96a1ad in void hpx::actions::basic_action_impl<void (*)(hpx::components::server::runtime_support::call_shutdown_functions_action const&, std::vector<hpx::naming::id_type, std::allocator<hpx::naming::id_type> > const&, unsigned long, std::integral_constant<bool, true>
, bool const&), void (*)(hpx::components::server::runtime_support::call_shutdown_functions_action const&, std::vector<hpx::naming::id_type, std::allocator<hpx::naming::id_type> > const&, unsigned long, std::integral_constant<bool, true>, bool const&), &hpx::lcos::detail::broadcast_i
nvoker<hpx::components::server::runtime_support::call_shutdown_functions_action, std::integral_constant<bool, true>, bool>::call, hpx::actions::action<void (*)(hpx::components::server::runtime_support::call_shutdown_functions_action const&, std::vector<hpx::naming::id_type, std::all
ocator<hpx::naming::id_type> > const&, unsigned long, std::integral_constant<bool, true>, bool const&), &hpx::lcos::detail::broadcast_invoker<hpx::components::server::runtime_support::call_shutdown_functions_action, std::integral_constant<bool, true>, bool>::call, hpx::actions::deta
il::this_type> >::invoke<hpx::components::server::runtime_support::call_shutdown_functions_action, std::vector<hpx::naming::id_type, std::allocator<hpx::naming::id_type> >, unsigned long, std::is_void<void>, bool>(unsigned long, int, hpx::components::server::runtime_support::call_sh
utdown_functions_action&&, std::vector<hpx::naming::id_type, std::allocator<hpx::naming::id_type> >&&, unsigned long&&, std::is_void<void>&&, bool&&) /home/simbergm/src/hpx/hpx/runtime/actions/plain_action.hpp:81
#18 0x7fbd7e969084 in hpx::util::unused_type hpx::util::detail::invoke_fused_impl<hpx::util::unused_type, hpx::actions::basic_action<hpx::actions::detail::plain_function, void (hpx::components::server::runtime_support::call_shutdown_functions_action const&, std::vector<hpx::naming::id_type, std::allocator<hpx::naming::id_type> > const&, unsigned long, std::integral_constant<bool, true>, bool const&), hpx::actions::action<void (*)(hpx::components::server::runtime_support::call_shutdown_functions_action const&, std::vector<hpx::naming::id_type, std::allocator<hpx::naming::id_type> > const&, unsigned long, std::integral_constant<bool, true>, bool const&), &hpx::lcos::detail::broadcast_invoker<hpx::components::server::runtime_support::call_shutdown_functions_action, std::integral_constant<bool, true><bool> >::call, hpx::actions::detail::this_type> >::invoker, hpx::util::tuple<unsigned long, int, hpx::components::server::runtime_support::call_shutdown_functions_action, std::vector<hpx::naming::id_type, std::allocator<hpx::naming::id_type> >, unsigned long, std::is_void<void>, bool>, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>(hpx::actions::basic_action<hpx::actions::detail::plain_function, void (hpx::components::server::runtime_support::call_shutdown_functions_action const&, std::vector<hpx::naming::id_type, std::allocator<hpx::naming::id_type> > const&, unsigned long, std::integral_constant<bool, true>, bool const&), hpx::actions::action<void (*)(hpx::components::server::runtime_support::call_shutdown_functions_action const&, std::vector<hpx::naming::id_type, std::allocator<hpx::naming::id_type> > const&, unsigned long, std::integral_constant<bool, true>, bool const&), &hpx::lcos::detail::broadcast_invoker<hpx::components::server::runtime_support::call_shutdown_functions_action, std::integral_constant<bool, true><bool> >::call, hpx::actions::detail::this_type> >::invoker&&, hpx::util::tuple<unsigned long, int, hpx::components::server::runtime_support::call_shutdown_functions_action, std::vector<hpx::naming::id_type, std::allocator<hpx::naming::id_type> >, unsigned long, std::is_void<void>, bool>&&, hpx::util::detail::pack_c<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul>) (/home/simbergm/src/hpx-build-release/lib/libhpxd.so.1+0x120
f084)
#19 0x7fbd7e963fe1 in void hpx::actions::detail::trigger_impl<void, hpx::util::unused_type, hpx::util::detail::deferred<hpx::actions::basic_action<hpx::actions::detail::plain_function, void (hpx::components::server::runtime_support::call_shutdown_functions_action const&, std::vector<hpx::naming::id_type, std::allocator<hpx::naming::id_type> > const&, unsigned long, std::integral_constant<bool, true>, bool const&), hpx::actions::action<void (*)(hpx::components::server::runtime_support::call_shutdown_functions_action const&, std::vector<hpx::naming::id_type, std::allocator<hpx::naming::id_type> > const&, unsigned long, std::integral_constant<bool, true>, bool const&), &hpx::lcos::detail::broadcast_invoker<hpx::components::server::runtime_support::call_shutdown_functions_action, std::integral_constant<bool, true>, bool>::call, hpx::actions::detail::this_type> >::invoker (unsigned long&, int&, hpx::components::server::runtime_support::call_shutdown_functions_action const&, std::vector<hpx::naming::id_type, std::allocator<hpx::naming::id_type> > const&, unsigned long const&, std::is_void<void> const&, bool const&)>&>(std::integral_constant<bool, true>, hpx::actions::typed_continuation<void, hpx::util::unused_type>&&, hpx::util::detail::deferred<hpx::actions::basic_action<hpx::actions::detail::plain_function, void (hpx::components::server::runtime_support::call_shutdown_functions_action const&, std::vector<hpx::naming::id_type, std::allocator<hpx::naming::id_type> > const&, unsigned long, std::integral_constant<bool, true>, bool const&), hpx::actions::action<void (*)(hpx::components::server::runtime_support::call_shutdown_functions_action const&, std::vector<hpx::naming::id_type, std::allocator<hpx::naming::id_type> > const&, unsigned long, std::integral_constant<bool, true>, bool const&), &hpx::lcos::detail::broadcast_invoker<hpx::components::server::runtime_support::call_shutdown_functions_action, std::integral_constant<bool, true>, bool>::call, hpx::actions::detail::this_type> >::invoker (unsigned long&, int&, hpx::components::server::runtime_support::call_shutdown_functions_action const&, std::vector<hpx::naming::id_type, std::allocator<hpx::naming::id_type> > const&, unsigned long const&, std::is_void<void> const&, bool c
onst&)>&) (/home/simbergm/src/hpx-build-release/lib/libhpxd.so.1+0x1209fe1)
#20 0x7fbd7e96280e in void hpx::actions::trigger<void, hpx::util::unused_type, hpx::util::detail::deferred<hpx::actions::basic_action<hpx::actions::detail::plain_function, void (hpx::components::server::runtime_support::call_shutdown_functions_action const&, std::vector<hpx::naming::id_type, std::allocator<hpx::naming::id_type> > const&, unsigned long, std::integral_constant<bool, true>, bool const&), hpx::actions::action<void (*)(hpx::components::server::runtime_support::call_shutdown_functions_action const&, std::vector<hpx::naming::id_type, std::allocator<hpx::naming::id_type> > const&, unsigned long, std::integral_constant<bool, true>, bool const&), &hpx::lcos::detail::broadcast_invoker<hpx::components::server::runtime_support::call_shutdown_functions_action, std::integral_constant<bool, true>, bool>::call, hpx::actions::detail::this_type> >::invoker (unsigned long&, int&, hpx::components::server::runtime_support::call_shutdown_functions_action const&, std::vector<hpx::naming::id_type, std::allocator<hpx::naming::id_type> > const&, unsigned long const&, std::is_void<void> const&, bool const&)>&>(hpx::actions::typed_continuation<void, hpx::util::unused_type>&&, hpx::util::detail::deferred<hpx::actions::basic_action<hpx::actions::detail::plain_function, void (hpx::components::server::runtime_support::call_shutdown_functions_action const&, std::vector<hpx::naming::id_type, std::allocator<hpx::naming::id_type> > const&, unsigned long, std::integral_constant<bool, true>, bool const&), hpx::actions::action<void (*)(hpx::components::server::runtime_support::call_shutdown_functions_action const&, std::vector<hpx::naming::id_type, std::allocator<hpx::naming::id_type> > const&, unsigned long, std::integral_constant<bool, true>, bool const&), &hpx::lcos::detail::broadcast_invoker<hpx::components::server::runtime_support::call_shutdown_functions_action, std::integral_constant<bool, true>, bool>::call, hpx::actions::detail::this_type> >::invoker (unsigned long&, int&, hpx::components::server::runtime_support::call_shutdown_functions_action const&, std::vector<hpx::naming::id_type, std::allocator<hpx::naming::id_type> > const&, unsigned long const&, std::is_void<void> const&, bool const&)>&) /home/simbergm/src/hpx/hpx/runtime/acti
ons/trigger.hpp:68
#21 0x7fbd7e95b0c9 in std::pair<hpx::threads::thread_state_enum, boost::intrusive_ptr<hpx::threads::thread_data> > hpx::util::detail::callable_vtable<std::pair<hpx::threads::thread_state_enum, boost::intrusive_ptr<hpx::threads::thread_data> > (hpx::threads::thread_state_ex_enum)>::_invoke<hpx::actions::detail::continuation_thread_function<hpx::actions::action<void (*)(hpx::components::server::runtime_support::call_shutdown_functions_action const&, std::vector<hpx::naming::id_type, std::allocator<hpx::naming::id_type> > const&, unsigned long, std::integral_constant<bool, true>, bool const&), &hpx::lcos::detail::broadcast_invoker<hpx::components::server::runtime_support::call_shutdown_functions_action, std::integral_constant<bool, true>, bool>::call, hpx::actions::detail::this_type>, hpx::actions::basic_action<hpx::actions::detail::plain_function, void (hpx::components::server::runtime_support::call_shutdown_functions_action const&, std::vector<hpx::naming::id_type, std::allocator<hpx::naming::id_type> > const&, unsigned long, std::integral_constant<bool, true>, bool const&), hpx::actions::action<void (*)(hpx::components::server::runtime_support::call_shutdown_functions_action const&, std::vector<hpx::naming::id_type, std::allocator<hpx::naming::id_type> > const&, unsigned long, std::integral_constant<bool, true>, bool const&), &hpx::lcos::detail::broadcast_invoker<hpx::components::server::runtime_support::call_shutdown_functions_action, std::integral_constant<bool, true>, bool>::call, hpx::actions::detail::this_type> >::invoker, unsigned long&, int&, hpx::components::server::runtime_support::call_shutdown_functions_action const&, std::vector<hpx::naming::id_type, std
::allocator<hpx::naming::id_type> > const&, unsigned long const&, std::is_void<void> const&, bool const&> >(void**, hpx::threads::thread_state_ex_enum&&) (/home/simbergm/src/hpx-build-release/lib/libhpxd.so.1+0x12010c9)
#22 0x7fbd7ec68355 in hpx::util::detail::function_base<hpx::util::detail::unique_function_vtable<std::pair<hpx::threads::thread_state_enum, boost::intrusive_ptr<hpx::threads::thread_data> > (hpx::threads::thread_state_ex_enum)>, std::pair<hpx::threads::thread_state_enum, boost::
intrusive_ptr<hpx::threads::thread_data> > (hpx::threads::thread_state_ex_enum)>::operator()(hpx::threads::thread_state_ex_enum) const /home/simbergm/src/hpx/hpx/util/detail/basic_function.hpp:196
#23 0x7fbd7ec68355 in hpx::threads::coroutines::detail::coroutine_impl::operator()() /home/simbergm/src/hpx/src/runtime/threads/coroutines/detail/coroutine_impl.cpp:96
#24 0x7fbd7ea77c3e in void hpx::threads::coroutines::detail::lx::trampoline<hpx::threads::coroutines::detail::coroutine_impl>(hpx::threads::coroutines::detail::coroutine_impl*) /home/simbergm/src/hpx/hpx/runtime/threads/coroutines/detail/context_linux_x86.hpp:102
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment