Skip to content

Instantly share code, notes, and snippets.

@msimberg
Created October 25, 2017 08:20
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/c55f8dd8b1870986bb38a52f7716b074 to your computer and use it in GitHub Desktop.
Save msimberg/c55f8dd8b1870986bb38a52f7716b074 to your computer and use it in GitHub Desktop.
HPX asan errors
int hpx_main(int argc, char ** argv)
{
return hpx::finalize();
}
int main(int argc, char ** argv)
{
while (...)
{
hpx::init(argc, argv);
}
}
// Stack trace #1
==32425==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7fe811ac7f60 at pc 0x7fe81ca59370 bp 0x7fe811ac7ef0 sp 0x7fe811ac7ee0
WRITE of size 8 at 0x7fe811ac7f60 thread T4154
#0 0x7fe81ca5936f in hpx::parcelset::parcel::parcel() (/home/simbergm/src/hpx-build-release/lib/libhpx.so.1+0xac536f)
#1 0x7fe81c7f4701 in bool hpx::apply_p_cb<hpx::components::server::runtime_support::call_shutdown_functions_action, hpx::actions::typed_continuation<void, hpx::util::unused_type>, hpx::u
til::detail::bound<void (*(boost::intrusive_ptr<hpx::lcos::detail::promise_data<void> >&, hpx::util::detail::placeholder<1ul> const&, hpx::util::detail::placeholder<2ul> const&))(boost::intr
usive_ptr<hpx::lcos::detail::promise_data<void> >, boost::system::error_code const&, hpx::parcelset::parcel const&)>, bool const&>(hpx::actions::typed_continuation<void, hpx::util::unused_ty
pe>&&, hpx::naming::address&&, hpx::naming::id_type const&, hpx::threads::thread_priority, hpx::util::detail::bound<void (*(boost::intrusive_ptr<hpx::lcos::detail::promise_data<void> >&, hpx
::util::detail::placeholder<1ul> const&, hpx::util::detail::placeholder<2ul> const&))(boost::intrusive_ptr<hpx::lcos::detail::promise_data<void> >, boost::system::error_code const&, hpx::par
celset::parcel const&)>&&, bool const&) (/home/simbergm/src/hpx-build-release/lib/libhpx.so.1+0x860701)
#2 0x7fe81c7f506f in void hpx::lcos::packaged_action<hpx::components::server::runtime_support::call_shutdown_functions_action, void, false>::do_apply<bool const&>(hpx::naming::address&&,
hpx::naming::id_type const&, hpx::threads::thread_priority, bool const&) (/home/simbergm/src/hpx-build-release/lib/libhpx.so.1+0x86106f)
#3 0x7fe81c7f5712 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 const&>(hpx::detail::async_policy, hpx::naming::id_type const&, bool const&) (/home/simbergm/src/hpx
-build-release/lib/libhpx.so.1+0x861712)
#4 0x7fe81c7f7780 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::naming::id_type> > const&, unsigned long, std::integral_constant<bool, true>, bool const&) (/home/sim
bergm/src/hpx-build-release/lib/libhpx.so.1+0x863780)
#5 0x7fe81c79152a 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::c
omponents::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_const
ant<bool, true>, bool const&), &hpx::lcos::detail::broadcast_invoker<hpx::components::server::runtime_support::call_shutdown_functions_action, std::integral_constant<bool, true><bool> >::cal
l, 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&, s
td::vector<hpx::naming::id_type, std::allocator<hpx::naming::id_type> > const&, unsigned long, std::integral_constant<bool, true>, bool const&), hpx::actions::detail::this_type>::invoker, un
signed 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/libhpx.so.1+0x7fd52a)
#6 0x7fe81ca30e3f in hpx::threads::coroutines::detail::coroutine_impl::operator()() (/home/simbergm/src/hpx-build-release/lib/libhpx.so.1+0xa9ce3f)
#7 0x7fe81c8a83a8 in void hpx::threads::coroutines::detail::lx::trampoline<hpx::threads::coroutines::detail::coroutine_impl>(hpx::threads::coroutines::detail::coroutine_impl*) (/home/sim
bergm/src/hpx-build-release/lib/libhpx.so.1+0x9143a8)
AddressSanitizer can not describe address in more detail (wild memory access suspected).
SUMMARY: AddressSanitizer: stack-buffer-overflow ??:0 hpx::parcelset::parcel::parcel()
Shadow bytes around the buggy address:
0x0ffd82350f90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0ffd82350fa0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0ffd82350fb0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0ffd82350fc0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0ffd82350fd0: 00 00 00 00 00 00 00 00 00 00 f2 f2 f2 f2 00 f4
=>0x0ffd82350fe0: f4 f4 f2 f2 f2 f2 00 00 00 00 00 00[f4]f4 f3 f3
0x0ffd82350ff0: f3 f3 00 00 00 00 00 00 00 00 00 00 00 00 f1 f1
0x0ffd82351000: f1 f1 01 f4 f4 f4 f2 f2 f2 f2 04 f4 f4 f4 f2 f2
0x0ffd82351010: f2 f2 00 00 00 00 f2 f2 f2 f2 00 00 00 00 f2 f2
0x0ffd82351020: f2 f2 00 00 00 00 f2 f2 f2 f2 00 00 00 00 f3 f3
0x0ffd82351030: f3 f3 f3 f3 f3 f3 00 00 00 00 00 00 00 00 00 00
Shadow byte legend (one shadow byte represents 8 application bytes):
Addressable: 00
Partially addressable: 01 02 03 04 05 06 07
Heap left redzone: fa
Heap right redzone: fb
Freed heap region: fd
Stack left redzone: f1
Stack mid redzone: f2
Stack right redzone: f3
Stack partial redzone: f4
Stack after return: f5
Stack use after scope: f8
Global redzone: f9
Global init order: f6
Poisoned by user: f7
Container overflow: fc
Array cookie: ac
Intra object redzone: bb
ASan internal: fe
Thread T4154 created by T0 here:
#0 0x7fe81dbc2253 in pthread_create (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x36253)
#1 0x7fe81b626dc2 in std::thread::_M_start_thread(std::shared_ptr<std::thread::_Impl_base>, void (*)()) (/usr/lib/x86_64-linux-gnu/libstdc++.so.6+0xb8dc2)
==32425==ABORTING
Addressable: 00 [506/3711]
Partially addressable: 01 02 03 04 05 06 07
Heap left redzone: fa
Heap right redzone: fb
Freed heap region: fd
Stack left redzone: f1
Stack mid redzone: f2
Stack right redzone: f3
Stack partial redzone: f4
Stack after return: f5
Stack use after scope: f8
Global redzone: f9
Global init order: f6
Poisoned by user: f7
Container overflow: fc
Array cookie: ac
Intra object redzone: bb
ASan internal: fe
Thread T1451 created by T0 here:
#0 0x7f4e27bc1253 in pthread_create (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x36253)
#1 0x7f4e25625dc2 in std::thread::_M_start_thread(std::shared_ptr<std::thread::_Impl_base>, void (*)()) (/usr/lib/x86_64-linux-gnu/libstdc++.so.6+0xb8dc2)
// Stack trace #2
==26440==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7f386b06ef80 at pc 0x7f3875a3ffc4 bp 0x7f386b06edd0 sp 0x7f386b06edc0
WRITE of size 8 at 0x7f386b06ef80 thread T1591
#0 0x7f3875a3ffc3 in hpx::find_here(hpx::error_code&) (/home/simbergm/src/hpx-build-release/lib/libhpx.so.1+0x4cffc3)
#1 0x7f3875d5b3a9 in hpx::components::server::runtime_support::shutdown_all(double) (/home/simbergm/src/hpx-build-release/lib/libhpx.so.1+0x7eb3a9)
#2 0x7f3875a34451 in hpx::util::invoke_result<hpx::actions::basic_action<hpx::components::server::runtime_support, void (double), hpx::components::server::runtime_support::shutdown_all_a
ction>::thread_function<unsigned long, int, double> >::type hpx::util::detail::one_shot_wrapper<hpx::actions::basic_action<hpx::components::server::runtime_support, void (double), hpx::compo
nents::server::runtime_support::shutdown_all_action>::thread_function>::operator()<unsigned long, int, double>(unsigned long&&, int&&, double&&) (/home/simbergm/src/hpx-build-release/lib/lib
hpx.so.1+0x4c4451)
#3 0x7f3875a055fb 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::util::detail::bound<hpx::util::detail::one_shot_wrapper<hpx::actions::basic_action
<hpx::components::server::runtime_support, void (double), hpx::components::server::runtime_support::shutdown_all_action>::thread_function> (unsigned long&, int&, double&)> >(void**, hpx::thr
eads::thread_state_ex_enum&&) (/home/simbergm/src/hpx-build-release/lib/libhpx.so.1+0x4955fb)
#4 0x7f387600ce3f in hpx::threads::coroutines::detail::coroutine_impl::operator()() (/home/simbergm/src/hpx-build-release/lib/libhpx.so.1+0xa9ce3f)
#5 0x7f3875e843a8 in void hpx::threads::coroutines::detail::lx::trampoline<hpx::threads::coroutines::detail::coroutine_impl>(hpx::threads::coroutines::detail::coroutine_impl*) (/home/sim
bergm/src/hpx-build-release/lib/libhpx.so.1+0x9143a8)
AddressSanitizer can not describe address in more detail (wild memory access suspected).
SUMMARY: AddressSanitizer: stack-buffer-overflow ??:0 hpx::find_here(hpx::error_code&)
Shadow bytes around the buggy address:
0x0fe78d605da0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0fe78d605db0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0fe78d605dc0: f1 f1 f1 f1 00 00 00 00 f2 f2 f2 f2 00 00 00 00
0x0fe78d605dd0: f2 f2 f2 f2 f1 f1 04 f4 f3 f3 f3 f3 f3 f3 f3 f3
0x0fe78d605de0: f4 f4 f2 f2 f2 f2 00 00 00 00 00 00 f4 f4 f3 f3
=>0x0fe78d605df0:[f3]f3 f1 f1 f1 f1 01 f4 f4 f4 f2 f2 f2 f2 00 f4
0x0fe78d605e00: f4 f4 f2 f2 f2 f2 00 00 00 f4 f2 f2 f2 f2 00 00
0x0fe78d605e10: 00 f4 f2 f2 f2 f2 00 00 00 00 f2 f2 f2 f2 00 00
0x0fe78d605e20: 00 00 f2 f2 f2 f2 00 00 00 00 f2 f2 f2 f2 00 00
0x0fe78d605e30: 00 00 f2 f2 f2 f2 00 00 00 00 00 00 00 00 00 00
0x0fe78d605e40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Shadow byte legend (one shadow byte represents 8 application bytes):
Addressable: 00
Partially addressable: 01 02 03 04 05 06 07
Heap left redzone: fa
Heap right redzone: fb
Freed heap region: fd
Stack left redzone: f1
Stack mid redzone: f2
Stack right redzone: f3
Stack partial redzone: f4
Stack after return: f5
Stack use after scope: f8
Global redzone: f9
Global init order: f6
Poisoned by user: f7
Container overflow: fc
Array cookie: ac
Intra object redzone: bb
ASan internal: fe
Thread T1591 created by T0 here:
#0 0x7f387719e253 in pthread_create (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x36253)
#1 0x7f3874c02dc2 in std::thread::_M_start_thread(std::shared_ptr<std::thread::_Impl_base>, void (*)()) (/usr/lib/x86_64-linux-gnu/libstdc++.so.6+0xb8dc2)
==26440==ABORTING
// Stack trace #3
==28069==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7fcbde83deb0 at pc 0x7fcbe97572c4 bp 0x7fcbde83ddc0 sp 0x7fcbde83ddb0
WRITE of size 8 at 0x7fcbde83deb0 thread T1581
#0 0x7fcbe97572c3 in boost::function4<bool, __gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >&, __gnu_cxx::__nor
mal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&, boost::spirit::context<boost::fusion::cons<hpx::performance_counters::path
_elements&, boost::fusion::nil_>, boost::fusion::vector<> >&, boost::spirit::unused_type const&>::move_assign(boost::function4<bool, __gnu_cxx::__normal_iterator<char const*, std::__cxx11::b
asic_string<char, std::char_traits<char>, std::allocator<char> > >&, __gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >
> const&, boost::spirit::context<boost::fusion::cons<hpx::performance_counters::path_elements&, boost::fusion::nil_>, boost::fusion::vector<> >&, boost::spirit::unused_type const&>&) (/home
/simbergm/src/hpx-build-release/lib/libhpx.so.1+0xf5c2c3)
#1 0x7fcbe975787c in boost::enable_if_c<!boost::is_integral<boost::spirit::qi::detail::parser_binder<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::optional<boost::sp
irit::qi::literal_string<char const (&) [10], true> >, boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard, true, false>, boost::fusion::cons<boost::sp
irit::qi::plus<boost::spirit::qi::negated_char_parser<boost::spirit::qi::char_set<boost::spirit::char_encoding::standard, false, false> > >, boost::fusion::cons<boost::spirit::qi::optional<b
oost::spirit::qi::reference<boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, hpx::performa
nce_counters::instance_elements (), boost::spirit::unused_type, boost::spirit::unused_type, boost::spirit::unused_type> const> >, boost::fusion::cons<boost::spirit::qi::optional<boost::spiri
t::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard, true, false>, boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::negat
ed_char_parser<boost::spirit::qi::char_set<boost::spirit::char_encoding::standard, false, false> > >, boost::fusion::nil_> > > >, boost::fusion::cons<boost::spirit::qi::optional<boost::spiri
t::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard, true, false>, boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::char_
class<boost::spirit::tag::char_code<boost::spirit::tag::char_, boost::spirit::char_encoding::standard> > >, boost::fusion::nil_> > > >, boost::fusion::nil_> > > > > > >, mpl_::bool_<false> >
>::value, boost::function<bool (__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >&, __gnu_cxx::__normal_iterator<ch
ar const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&, boost::spirit::context<boost::fusion::cons<hpx::performance_counters::path_elements&, boo
st::fusion::nil_>, boost::fusion::vector<> >&, boost::spirit::unused_type const&)>&>::type boost::function<bool (__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, st
d::char_traits<char>, std::allocator<char> > >&, __gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&, boost::sp
irit::context<boost::fusion::cons<hpx::performance_counters::path_elements&, boost::fusion::nil_>, boost::fusion::vector<> >&, boost::spirit::unused_type const&)>::operator=<boost::spirit::q
i::detail::parser_binder<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::literal_string<char const (&) [10], true> >, boost::fusion::cons<boost
::spirit::qi::literal_char<boost::spirit::char_encoding::standard, true, false>, boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::negated_char_parser<boost::spirit::qi::char_se
t<boost::spirit::char_encoding::standard, false, false> > >, boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::reference<boost::spirit::qi::rule<__gnu_cxx::__normal_iterator
<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, hpx::performance_counters::instance_elements (), boost::spirit::unused_type, boost::spirit::u
nused_type, boost::spirit::unused_type> const> >, boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spiri
t::char_encoding::standard, true, false>, boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::negated_char_parser<boost::spirit::qi::char_set<boost::spirit::char_encoding::standar
d, false, false> > >, boost::fusion::nil_> > > >, boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spiri
t::char_encoding::standard, true, false>, boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_, boost::spirit::ch
ar_encoding::standard> > >, boost::fusion::nil_> > > >, boost::fusion::nil_> > > > > > >, mpl_::bool_<false> > >(boost::spirit::qi::detail::parser_binder<boost::spirit::qi::sequence<boost::f
usion::cons<boost::spirit::qi::optional<boost::spirit::qi::literal_string<char const (&) [10], true> >, boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::stan
dard, true, false>, boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::negated_char_parser<boost::spirit::qi::char_set<boost::spirit::char_encoding::standard, false, false> > >,
boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::reference<boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_trai
ts<char>, std::allocator<char> > >, hpx::performance_counters::instance_elements (), boost::spirit::unused_type, boost::spirit::unused_type, boost::spirit::unused_type> const> >, boost::fusi
on::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard, true, false>, boost::fusion::cons
<boost::spirit::qi::plus<boost::spirit::qi::negated_char_parser<boost::spirit::qi::char_set<boost::spirit::char_encoding::standard, false, false> > >, boost::fusion::nil_> > > >, boost::fusi
on::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard, true, false>, boost::fusion::cons
<boost::spirit::qi::plus<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_, boost::spirit::char_encoding::standard> > >, boost::fusion::nil_> > > >, boost
::fusion::nil_> > > > > > >, mpl_::bool_<false> >) (/home/simbergm/src/hpx-build-release/lib/libhpx.so.1+0xf5c87c)
#2 0x7fcbe97a5e57 in hpx::performance_counters::path_parser<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >:
:path_parser() (/home/simbergm/src/hpx-build-release/lib/libhpx.so.1+0xfaae57)
#3 0x7fcbe972a0ad in hpx::performance_counters::get_counter_type_path_elements(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, hpx::performance_co
unters::counter_type_path_elements&, hpx::error_code&) (/home/simbergm/src/hpx-build-release/lib/libhpx.so.1+0xf2f0ad)
#4 0x7fcbe97b88dd in hpx::performance_counters::registry::locate_counter_type(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (/home/simbergm/src/
hpx-build-release/lib/libhpx.so.1+0xfbd8dd)
#5 0x7fcbe97b912c in hpx::performance_counters::registry::add_counter_type(hpx::performance_counters::counter_info const&, hpx::util::function<hpx::naming::gid_type (hpx::performance_cou
nters::counter_info const&, hpx::error_code&), false> const&, hpx::util::function<bool (hpx::performance_counters::counter_info const&, hpx::util::function<bool (hpx::performance_counters::c
ounter_info const&, hpx::error_code&), false> const&, hpx::performance_counters::discover_counters_mode, hpx::error_code&), false> const&, hpx::error_code&) (/home/simbergm/src/hpx-build-rel
ease/lib/libhpx.so.1+0xfbe12c)
#6 0x7fcbe983bccf in hpx::performance_counters::install_counter_type(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, hpx::performance_counters::co
unter_type, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, hpx::util::function<hpx::naming::gid_type (hpx::performance_counters::counter_info const&,
hpx::error_code&), false> const&, hpx::util::function<bool (hpx::performance_counters::counter_info const&, hpx::util::function<bool (hpx::performance_counters::counter_info const&, hpx::er
ror_code&), false> const&, hpx::performance_counters::discover_counters_mode, hpx::error_code&), false> const&, unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::al
locator<char> > const&, hpx::error_code&) (/home/simbergm/src/hpx-build-release/lib/libhpx.so.1+0x1040ccf)
#7 0x7fcbe9624622 in hpx::agas::server::symbol_namespace::register_counter_types(hpx::error_code&) (/home/simbergm/src/hpx-build-release/lib/libhpx.so.1+0xe29622)
#8 0x7fcbe95aee8f in hpx::agas::symbol_namespace::register_counter_types() (/home/simbergm/src/hpx-build-release/lib/libhpx.so.1+0xdb3e8f)
#9 0x7fcbe9345075 in hpx::agas::addressing_service::register_counter_types() (/home/simbergm/src/hpx-build-release/lib/libhpx.so.1+0xb4a075)
#10 0x7fcbe8ce7d11 in hpx::pre_main(hpx::runtime_mode) (/home/simbergm/src/hpx-build-release/lib/libhpx.so.1+0x4ecd11)
#11 0x7fcbe8c3dcb8 in hpx::runtime_impl::run_helper(hpx::util::function<int (), false>, int&) (/home/simbergm/src/hpx-build-release/lib/libhpx.so.1+0x442cb8)
#12 0x7fcbe8c40584 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::util::detail::bound<std::pair<hpx::threads::thread_state_enum, boost::intrusive_p
tr<hpx::threads::thread_data> > (hpx::runtime_impl::*(hpx::runtime_impl*&&, hpx::util::function<int (), false> const&, std::reference_wrapper<int>&&))(hpx::util::function<int (), false>, int
&)> >(void**, hpx::threads::thread_state_ex_enum&&) (/home/simbergm/src/hpx-build-release/lib/libhpx.so.1+0x445584)
#13 0x7fcbe9297e3f in hpx::threads::coroutines::detail::coroutine_impl::operator()() (/home/simbergm/src/hpx-build-release/lib/libhpx.so.1+0xa9ce3f)
#14 0x7fcbe910f3a8 in void hpx::threads::coroutines::detail::lx::trampoline<hpx::threads::coroutines::detail::coroutine_impl>(hpx::threads::coroutines::detail::coroutine_impl*) (/home/si
mbergm/src/hpx-build-release/lib/libhpx.so.1+0x9143a8)
AddressSanitizer can not describe address in more detail (wild memory access suspected).
SUMMARY: AddressSanitizer: stack-buffer-overflow ??:0 boost::function4<bool, __gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator
<char> > >&, __gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&, boost::spirit::context<boost::fusion::cons<hp
x::performance_counters::path_elements&, boost::fusion::nil_>, boost::fusion::vector<> >&, boost::spirit::unused_type const&>::move_assign(boost::function4<bool, __gnu_cxx::__normal_iterator
<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >&, __gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<
char>, std::allocator<char> > > const&, boost::spirit::context<boost::fusion::cons<hpx::performance_counters::path_elements&, boost::fusion::nil_>, boost::fusion::vector<> >&, boost::spirit:
:unused_type const&>&)
Shadow bytes around the buggy address:
0x0fe12eba9580: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0fe12eba9590: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0fe12eba95a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0fe12eba95b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0fe12eba95c0: 00 00 00 00 00 00 00 00 00 00 f1 f1 f1 f1 00 00
=>0x0fe12eba95d0: 00 00 f2 f2 f2 f2[04]f4 f4 f4 f2 f2 f2 f2 00 00
0x0fe12eba95e0: 00 00 00 00 00 00 00 00 00 00 00 00 f4 f4 f2 f2
0x0fe12eba95f0: f2 f2 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0fe12eba9600: f4 f4 f2 f2 f2 f2 00 00 00 00 00 00 00 00 00 00
0x0fe12eba9610: 00 00 00 00 f4 f4 f2 f2 f2 f2 00 00 00 00 00 00
0x0fe12eba9620: 00 00 00 00 00 00 00 00 f4 f4 f2 f2 f2 f2 00 00
Shadow byte legend (one shadow byte represents 8 application bytes):
Addressable: 00
Partially addressable: 01 02 03 04 05 06 07
Heap left redzone: fa
Heap right redzone: fb
Freed heap region: fd
Stack left redzone: f1
Stack mid redzone: f2
Stack right redzone: f3
Stack partial redzone: f4
Stack after return: f5
Stack use after scope: f8
Global redzone: f9
Global init order: f6
Poisoned by user: f7
Container overflow: fc
Array cookie: ac
Intra object redzone: bb
ASan internal: fe
Thread T1382 created by T0 here:
#0 0x7f058166e253 in pthread_create (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x36253)
#1 0x7f057f0d2dc2 in std::thread::_M_start_thread(std::shared_ptr<std::thread::_Impl_base>, void (*)()) (/usr/lib/x86_64-linux-gnu/libstdc++.so.6+0xb8dc2)
==30728==ABORTING
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment