================================================================= ==1773==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60d00011d098 at pc 0x7f961ce3074e bp 0x7f9613e8b730 sp 0x7f9613e8b728 READ of size 8 at 0x60d00011d098 thread T6 #0 0x7f961ce3074d in unsigned long phmap::container_internal::raw_hash_set, phmap::Hash, phmap::EqualTo, std::allocator > >::HashElement::operator(), std::tuple >(unsigned long const&, std::piecewise_construct_t const&, std::tuple&&, std::tuple&&) const (/home/chybz/dev/timevault/build/lib/libtv_types.so.2+0x45f74d) #1 0x7f961ce3013f in decltype (((declval, phmap::Hash, phmap::EqualTo, std::allocator > >::HashElement>)())((declval)(), std::piecewise_construct, (declval >)(), (declval >)())) phmap::container_internal::memory_internal::DecomposePairImpl, phmap::Hash, phmap::EqualTo, std::allocator > >::HashElement, unsigned long const&, std::tuple >(phmap::container_internal::raw_hash_set, phmap::Hash, phmap::EqualTo, std::allocator > >::HashElement&&, std::pair, std::tuple >) (/home/chybz/dev/timevault/build/lib/libtv_types.so.2+0x45f13f) #2 0x7f961ce2fb09 in decltype (DecomposePairImpl((forward, phmap::Hash, phmap::EqualTo, std::allocator > >::HashElement>)({parm#1}), PairArgs((forward&>)({parm#2})))) phmap::container_internal::DecomposePair, phmap::Hash, phmap::EqualTo, std::allocator > >::HashElement, std::pair&>(phmap::container_internal::raw_hash_set, phmap::Hash, phmap::EqualTo, std::allocator > >::HashElement&&, std::pair&) (/home/chybz/dev/timevault/build/lib/libtv_types.so.2+0x45eb09) #3 0x7f961ce2f516 in decltype (DecomposePair((declval, phmap::Hash, phmap::EqualTo, std::allocator > >::HashElement>)(), (declval&>)())) phmap::container_internal::FlatHashMapPolicy::apply, phmap::Hash, phmap::EqualTo, std::allocator > >::HashElement, std::pair&>(phmap::container_internal::raw_hash_set, phmap::Hash, phmap::EqualTo, std::allocator > >::HashElement&&, std::pair&) (/home/chybz/dev/timevault/build/lib/libtv_types.so.2+0x45e516) #4 0x7f961ce2ed15 in decltype (phmap::container_internal::FlatHashMapPolicy::apply((forward, phmap::Hash, phmap::EqualTo, std::allocator > >::HashElement>)({parm#1}), (forward&>)({parm#2}))) phmap::container_internal::hash_policy_traits, void>::apply, phmap::Hash, phmap::EqualTo, std::allocator > >::HashElement, std::pair&, phmap::container_internal::FlatHashMapPolicy >(phmap::container_internal::raw_hash_set, phmap::Hash, phmap::EqualTo, std::allocator > >::HashElement&&, std::pair&) (/home/chybz/dev/timevault/build/lib/libtv_types.so.2+0x45dd15) #5 0x7f961ce2df46 in phmap::container_internal::raw_hash_set, phmap::Hash, phmap::EqualTo, std::allocator > >::drop_deletes_without_resize() (/home/chybz/dev/timevault/build/lib/libtv_types.so.2+0x45cf46) #6 0x7f961ce2cf60 in phmap::container_internal::raw_hash_set, phmap::Hash, phmap::EqualTo, std::allocator > >::rehash_and_grow_if_necessary() (/home/chybz/dev/timevault/build/lib/libtv_types.so.2+0x45bf60) #7 0x7f961ce2c401 in phmap::container_internal::raw_hash_set, phmap::Hash, phmap::EqualTo, std::allocator > >::prepare_insert(unsigned long) (/home/chybz/dev/timevault/build/lib/libtv_types.so.2+0x45b401) #8 0x7f961ce2ad96 in std::pair phmap::container_internal::raw_hash_set, phmap::Hash, phmap::EqualTo, std::allocator > >::find_or_prepare_insert(unsigned long const&, unsigned long) (/home/chybz/dev/timevault/build/lib/libtv_types.so.2+0x459d96) #9 0x7f961ce29ac3 in std::pair, phmap::Hash, phmap::EqualTo, std::allocator > >::iterator, bool> phmap::container_internal::raw_hash_set, phmap::Hash, phmap::EqualTo, std::allocator > >::emplace_decomposable, std::tuple >(unsigned long const&, unsigned long, std::piecewise_construct_t const&, std::tuple&&, std::tuple&&) (/home/chybz/dev/timevault/build/lib/libtv_types.so.2+0x458ac3) #10 0x7f961ce28688 in std::pair, phmap::Hash, phmap::EqualTo, std::allocator > >::iterator, bool> phmap::container_internal::parallel_hash_set<4ul, phmap::container_internal::raw_hash_set, phmap::NullMutex, phmap::container_internal::FlatHashMapPolicy, phmap::Hash, phmap::EqualTo, std::allocator > >::emplace_decomposable, std::tuple >(unsigned long const&, std::piecewise_construct_t const&, std::tuple&&, std::tuple&&) (/home/chybz/dev/timevault/build/lib/libtv_types.so.2+0x457688) #11 0x7f961ce26c9e in std::pair, phmap::Hash, phmap::EqualTo, std::allocator > >::iterator, bool> phmap::container_internal::parallel_hash_set<4ul, phmap::container_internal::raw_hash_set, phmap::NullMutex, phmap::container_internal::FlatHashMapPolicy, phmap::Hash, phmap::EqualTo, std::allocator > >::EmplaceDecomposable::operator(), std::tuple >(unsigned long const&, std::piecewise_construct_t const&, std::tuple&&, std::tuple&&) const (/home/chybz/dev/timevault/build/lib/libtv_types.so.2+0x455c9e) #12 0x7f961ce24f7f in decltype (((declval, phmap::Hash, phmap::EqualTo, std::allocator > >::EmplaceDecomposable>)())((declval)(), std::piecewise_construct, (declval >)(), (declval >)())) phmap::container_internal::memory_internal::DecomposePairImpl, phmap::Hash, phmap::EqualTo, std::allocator > >::EmplaceDecomposable, unsigned long const&&, std::tuple >(phmap::container_internal::parallel_hash_set<4ul, phmap::container_internal::raw_hash_set, phmap::NullMutex, phmap::container_internal::FlatHashMapPolicy, phmap::Hash, phmap::EqualTo, std::allocator > >::EmplaceDecomposable&&, std::pair, std::tuple >) (/home/chybz/dev/timevault/build/lib/libtv_types.so.2+0x453f7f) #13 0x7f961ce2308d in decltype (DecomposePairImpl((forward, phmap::Hash, phmap::EqualTo, std::allocator > >::EmplaceDecomposable>)({parm#1}), PairArgs((forward >)({parm#2})))) phmap::container_internal::DecomposePair, phmap::Hash, phmap::EqualTo, std::allocator > >::EmplaceDecomposable, std::pair >(phmap::container_internal::parallel_hash_set<4ul, phmap::container_internal::raw_hash_set, phmap::NullMutex, phmap::container_internal::FlatHashMapPolicy, phmap::Hash, phmap::EqualTo, std::allocator > >::EmplaceDecomposable&&, std::pair&&) (/home/chybz/dev/timevault/build/lib/libtv_types.so.2+0x45208d) #14 0x7f961ce205ad in decltype (DecomposePair((declval, phmap::Hash, phmap::EqualTo, std::allocator > >::EmplaceDecomposable>)(), (declval >)())) phmap::container_internal::FlatHashMapPolicy::apply, phmap::Hash, phmap::EqualTo, std::allocator > >::EmplaceDecomposable, std::pair >(phmap::container_internal::parallel_hash_set<4ul, phmap::container_internal::raw_hash_set, phmap::NullMutex, phmap::container_internal::FlatHashMapPolicy, phmap::Hash, phmap::EqualTo, std::allocator > >::EmplaceDecomposable&&, std::pair&&) (/home/chybz/dev/timevault/build/lib/libtv_types.so.2+0x44f5ad) #15 0x7f961ce1d361 in decltype (phmap::container_internal::FlatHashMapPolicy::apply((forward, phmap::Hash, phmap::EqualTo, std::allocator > >::EmplaceDecomposable>)({parm#1}), (forward >)({parm#2}))) phmap::container_internal::hash_policy_traits, void>::apply, phmap::Hash, phmap::EqualTo, std::allocator > >::EmplaceDecomposable, std::pair, phmap::container_internal::FlatHashMapPolicy >(phmap::container_internal::parallel_hash_set<4ul, phmap::container_internal::raw_hash_set, phmap::NullMutex, phmap::container_internal::FlatHashMapPolicy, phmap::Hash, phmap::EqualTo, std::allocator > >::EmplaceDecomposable&&, std::pair&&) (/home/chybz/dev/timevault/build/lib/libtv_types.so.2+0x44c361) #16 0x7f961ce18ce8 in std::pair, phmap::Hash, phmap::EqualTo, std::allocator > >::iterator, bool> phmap::container_internal::parallel_hash_set<4ul, phmap::container_internal::raw_hash_set, phmap::NullMutex, phmap::container_internal::FlatHashMapPolicy, phmap::Hash, phmap::EqualTo, std::allocator > >::emplace, 0>(std::pair&&) (/home/chybz/dev/timevault/build/lib/libtv_types.so.2+0x447ce8) #17 0x7f961ce15b23 in std::pair, phmap::Hash, phmap::EqualTo, std::allocator > >::iterator, bool> phmap::container_internal::parallel_hash_set<4ul, phmap::container_internal::raw_hash_set, phmap::NullMutex, phmap::container_internal::FlatHashMapPolicy, phmap::Hash, phmap::EqualTo, std::allocator > >::insert, 0, 0, (std::pair*)0>(std::pair&&) (/home/chybz/dev/timevault/build/lib/libtv_types.so.2+0x444b23) #18 0x7f961ce0bc58 in tv::group_info::update_group(unsigned long, unsigned long, unsigned long, unsigned int, unsigned int) (/home/chybz/dev/timevault/build/lib/libtv_types.so.2+0x43ac58) #19 0x7f961ce0ebbe in auto tv::group_info::update_groups(tv::buffer const&)::{lambda(auto:1&)#1}::operator()(tv::parallel::context&) const (/home/chybz/dev/timevault/build/lib/libtv_types.so.2+0x43dbbe) #20 0x7f961ce0ee6e in tv::parallel::make_task_handler const&)::{lambda(auto:1&)#1}&>(tv::group_info::update_groups(tv::buffer const&)::{lambda(auto:1&)#1}&)::{lambda(tv::parallel::context&, void*)#1}::operator()(tv::parallel::context, tv::parallel::context&) const (/home/chybz/dev/timevault/build/lib/libtv_types.so.2+0x43de6e) #21 0x7f961ce0eeca in tv::parallel::make_task_handler const&)::{lambda(auto:1&)#1}&>(tv::group_info::update_groups(tv::buffer const&)::{lambda(auto:1&)#1}&)::{lambda(tv::parallel::context&, void*)#1}::_FUN(tv::parallel::context, tv::parallel::context&) (/home/chybz/dev/timevault/build/lib/libtv_types.so.2+0x43deca) #22 0x7f961bd5672b in tv::parallel::task::run() (/home/chybz/dev/timevault/build/lib/libtv_base.so.2+0x17672b) #23 0x7f961bd59b01 in tv::parallel::worker::run_until_idle() (/home/chybz/dev/timevault/build/lib/libtv_base.so.2+0x179b01) #24 0x7f961bd590f5 in tv::parallel::worker::run() (/home/chybz/dev/timevault/build/lib/libtv_base.so.2+0x1790f5) #25 0x7f961bd580f8 in tv::parallel::worker::start(tv::parallel::hwloc&)::{lambda()#1}::operator()() const (/home/chybz/dev/timevault/build/lib/libtv_base.so.2+0x1780f8) #26 0x7f961bd5ab39 in void std::__invoke_impl(std::__invoke_other, tv::parallel::worker::start(tv::parallel::hwloc&)::{lambda()#1}&&) (/home/chybz/dev/timevault/build/lib/libtv_base.so.2+0x17ab39) #27 0x7f961bd5a4f4 in std::__invoke_result::type std::__invoke(std::__invoke_result&&, (tv::parallel::worker::start(tv::parallel::hwloc&)::{lambda()#1}&&)...) (/home/chybz/dev/timevault/build/lib/libtv_base.so.2+0x17a4f4) #28 0x7f961bd5bdde in decltype (__invoke((_S_declval<0ul>)())) std::thread::_Invoker >::_M_invoke<0ul>(std::_Index_tuple<0ul>) (/home/chybz/dev/timevault/build/lib/libtv_base.so.2+0x17bdde) #29 0x7f961bd5bd79 in std::thread::_Invoker >::operator()() (/home/chybz/dev/timevault/build/lib/libtv_base.so.2+0x17bd79) #30 0x7f961bd5bd29 in std::thread::_State_impl > >::_M_run() (/home/chybz/dev/timevault/build/lib/libtv_base.so.2+0x17bd29) #31 0x7f9621b20b2e (/usr/lib/x86_64-linux-gnu/libstdc++.so.6+0xbbb2e) #32 0x7f9621a31fa2 in start_thread /build/glibc-vjB4T1/glibc-2.28/nptl/pthread_create.c:486 #33 0x7f96219624ce in clone (/lib/x86_64-linux-gnu/libc.so.6+0xf94ce) 0x60d00011d098 is located 16 bytes to the right of 136-byte region [0x60d00011d000,0x60d00011d088) freed by thread T4 (TV/proj) here: #0 0x7f9623146aa0 in operator delete(void*) ../../../../src/libsanitizer/asan/asan_new_delete.cc:135 #1 0x7f961ce25803 in __gnu_cxx::new_allocator > >(std::allocator >*, void*, unsigned long)::M>::deallocate(phmap::container_internal::Deallocate<8ul, std::allocator > >(std::allocator >*, void*, unsigned long)::M*, unsigned long) (/home/chybz/dev/timevault/build/lib/libtv_types.so.2+0x454803) #2 0x7f961ce23b85 in phmap::allocator_traits > >(std::allocator >*, void*, unsigned long)::M> >::deallocate(std::allocator > >(std::allocator >*, void*, unsigned long)::M>&, phmap::container_internal::Deallocate<8ul, std::allocator > >(std::allocator >*, void*, unsigned long)::M*, unsigned long) (/home/chybz/dev/timevault/build/lib/libtv_types.so.2+0x452b85) #3 0x7f961ce2191f in void phmap::container_internal::Deallocate<8ul, std::allocator > >(std::allocator >*, void*, unsigned long) (/home/chybz/dev/timevault/build/lib/libtv_types.so.2+0x45091f) #4 0x7f961ce2d92e in phmap::container_internal::raw_hash_set, phmap::Hash, phmap::EqualTo, std::allocator > >::resize(unsigned long) (/home/chybz/dev/timevault/build/lib/libtv_types.so.2+0x45c92e) #5 0x7f961ce2cfa5 in phmap::container_internal::raw_hash_set, phmap::Hash, phmap::EqualTo, std::allocator > >::rehash_and_grow_if_necessary() (/home/chybz/dev/timevault/build/lib/libtv_types.so.2+0x45bfa5) #6 0x7f961ce2c401 in phmap::container_internal::raw_hash_set, phmap::Hash, phmap::EqualTo, std::allocator > >::prepare_insert(unsigned long) (/home/chybz/dev/timevault/build/lib/libtv_types.so.2+0x45b401) #7 0x7f961ce2ad96 in std::pair phmap::container_internal::raw_hash_set, phmap::Hash, phmap::EqualTo, std::allocator > >::find_or_prepare_insert(unsigned long const&, unsigned long) (/home/chybz/dev/timevault/build/lib/libtv_types.so.2+0x459d96) #8 0x7f961ce29ac3 in std::pair, phmap::Hash, phmap::EqualTo, std::allocator > >::iterator, bool> phmap::container_internal::raw_hash_set, phmap::Hash, phmap::EqualTo, std::allocator > >::emplace_decomposable, std::tuple >(unsigned long const&, unsigned long, std::piecewise_construct_t const&, std::tuple&&, std::tuple&&) (/home/chybz/dev/timevault/build/lib/libtv_types.so.2+0x458ac3) #9 0x7f961ce28688 in std::pair, phmap::Hash, phmap::EqualTo, std::allocator > >::iterator, bool> phmap::container_internal::parallel_hash_set<4ul, phmap::container_internal::raw_hash_set, phmap::NullMutex, phmap::container_internal::FlatHashMapPolicy, phmap::Hash, phmap::EqualTo, std::allocator > >::emplace_decomposable, std::tuple >(unsigned long const&, std::piecewise_construct_t const&, std::tuple&&, std::tuple&&) (/home/chybz/dev/timevault/build/lib/libtv_types.so.2+0x457688) #10 0x7f961ce26c9e in std::pair, phmap::Hash, phmap::EqualTo, std::allocator > >::iterator, bool> phmap::container_internal::parallel_hash_set<4ul, phmap::container_internal::raw_hash_set, phmap::NullMutex, phmap::container_internal::FlatHashMapPolicy, phmap::Hash, phmap::EqualTo, std::allocator > >::EmplaceDecomposable::operator(), std::tuple >(unsigned long const&, std::piecewise_construct_t const&, std::tuple&&, std::tuple&&) const (/home/chybz/dev/timevault/build/lib/libtv_types.so.2+0x455c9e) #11 0x7f961ce24f7f in decltype (((declval, phmap::Hash, phmap::EqualTo, std::allocator > >::EmplaceDecomposable>)())((declval)(), std::piecewise_construct, (declval >)(), (declval >)())) phmap::container_internal::memory_internal::DecomposePairImpl, phmap::Hash, phmap::EqualTo, std::allocator > >::EmplaceDecomposable, unsigned long const&&, std::tuple >(phmap::container_internal::parallel_hash_set<4ul, phmap::container_internal::raw_hash_set, phmap::NullMutex, phmap::container_internal::FlatHashMapPolicy, phmap::Hash, phmap::EqualTo, std::allocator > >::EmplaceDecomposable&&, std::pair, std::tuple >) (/home/chybz/dev/timevault/build/lib/libtv_types.so.2+0x453f7f) #12 0x7f961ce2308d in decltype (DecomposePairImpl((forward, phmap::Hash, phmap::EqualTo, std::allocator > >::EmplaceDecomposable>)({parm#1}), PairArgs((forward >)({parm#2})))) phmap::container_internal::DecomposePair, phmap::Hash, phmap::EqualTo, std::allocator > >::EmplaceDecomposable, std::pair >(phmap::container_internal::parallel_hash_set<4ul, phmap::container_internal::raw_hash_set, phmap::NullMutex, phmap::container_internal::FlatHashMapPolicy, phmap::Hash, phmap::EqualTo, std::allocator > >::EmplaceDecomposable&&, std::pair&&) (/home/chybz/dev/timevault/build/lib/libtv_types.so.2+0x45208d) #13 0x7f961ce205ad in decltype (DecomposePair((declval, phmap::Hash, phmap::EqualTo, std::allocator > >::EmplaceDecomposable>)(), (declval >)())) phmap::container_internal::FlatHashMapPolicy::apply, phmap::Hash, phmap::EqualTo, std::allocator > >::EmplaceDecomposable, std::pair >(phmap::container_internal::parallel_hash_set<4ul, phmap::container_internal::raw_hash_set, phmap::NullMutex, phmap::container_internal::FlatHashMapPolicy, phmap::Hash, phmap::EqualTo, std::allocator > >::EmplaceDecomposable&&, std::pair&&) (/home/chybz/dev/timevault/build/lib/libtv_types.so.2+0x44f5ad) #14 0x7f961ce1d361 in decltype (phmap::container_internal::FlatHashMapPolicy::apply((forward, phmap::Hash, phmap::EqualTo, std::allocator > >::EmplaceDecomposable>)({parm#1}), (forward >)({parm#2}))) phmap::container_internal::hash_policy_traits, void>::apply, phmap::Hash, phmap::EqualTo, std::allocator > >::EmplaceDecomposable, std::pair, phmap::container_internal::FlatHashMapPolicy >(phmap::container_internal::parallel_hash_set<4ul, phmap::container_internal::raw_hash_set, phmap::NullMutex, phmap::container_internal::FlatHashMapPolicy, phmap::Hash, phmap::EqualTo, std::allocator > >::EmplaceDecomposable&&, std::pair&&) (/home/chybz/dev/timevault/build/lib/libtv_types.so.2+0x44c361) #15 0x7f961ce18ce8 in std::pair, phmap::Hash, phmap::EqualTo, std::allocator > >::iterator, bool> phmap::container_internal::parallel_hash_set<4ul, phmap::container_internal::raw_hash_set, phmap::NullMutex, phmap::container_internal::FlatHashMapPolicy, phmap::Hash, phmap::EqualTo, std::allocator > >::emplace, 0>(std::pair&&) (/home/chybz/dev/timevault/build/lib/libtv_types.so.2+0x447ce8) #16 0x7f961ce15b23 in std::pair, phmap::Hash, phmap::EqualTo, std::allocator > >::iterator, bool> phmap::container_internal::parallel_hash_set<4ul, phmap::container_internal::raw_hash_set, phmap::NullMutex, phmap::container_internal::FlatHashMapPolicy, phmap::Hash, phmap::EqualTo, std::allocator > >::insert, 0, 0, (std::pair*)0>(std::pair&&) (/home/chybz/dev/timevault/build/lib/libtv_types.so.2+0x444b23) #17 0x7f961ce0bc58 in tv::group_info::update_group(unsigned long, unsigned long, unsigned long, unsigned int, unsigned int) (/home/chybz/dev/timevault/build/lib/libtv_types.so.2+0x43ac58) #18 0x7f961ce0ebbe in auto tv::group_info::update_groups(tv::buffer const&)::{lambda(auto:1&)#1}::operator()(tv::parallel::context&) const (/home/chybz/dev/timevault/build/lib/libtv_types.so.2+0x43dbbe) #19 0x7f961ce0ee6e in tv::parallel::make_task_handler const&)::{lambda(auto:1&)#1}&>(tv::group_info::update_groups(tv::buffer const&)::{lambda(auto:1&)#1}&)::{lambda(tv::parallel::context&, void*)#1}::operator()(tv::parallel::context, tv::parallel::context&) const (/home/chybz/dev/timevault/build/lib/libtv_types.so.2+0x43de6e) #20 0x7f961ce0eeca in tv::parallel::make_task_handler const&)::{lambda(auto:1&)#1}&>(tv::group_info::update_groups(tv::buffer const&)::{lambda(auto:1&)#1}&)::{lambda(tv::parallel::context&, void*)#1}::_FUN(tv::parallel::context, tv::parallel::context&) (/home/chybz/dev/timevault/build/lib/libtv_types.so.2+0x43deca) #21 0x7f961bd5672b in tv::parallel::task::run() (/home/chybz/dev/timevault/build/lib/libtv_base.so.2+0x17672b) #22 0x7f961bd59b01 in tv::parallel::worker::run_until_idle() (/home/chybz/dev/timevault/build/lib/libtv_base.so.2+0x179b01) #23 0x7f961bd590f5 in tv::parallel::worker::run() (/home/chybz/dev/timevault/build/lib/libtv_base.so.2+0x1790f5) #24 0x7f961bd59c1d in tv::parallel::worker::new_worker_fiber()::{lambda()#1}::operator()() const (/home/chybz/dev/timevault/build/lib/libtv_base.so.2+0x179c1d) #25 0x7f961bd5b45e in std::_Function_handler::_M_invoke(std::_Any_data const&) (/home/chybz/dev/timevault/build/lib/libtv_base.so.2+0x17b45e) #26 0x7f962299525f in std::function::operator()() const (/home/chybz/dev/timevault/build/lib/libtv.so.2+0x2b225f) #27 0x7f961bd53c69 in tv::parallel::fiber::run(void*) (/home/chybz/dev/timevault/build/lib/libtv_base.so.2+0x173c69) #28 0x7f9622443e77 in coro_init (/home/chybz/dev/timevault/build/lib/libtv_utils.so.2+0x858e77) previously allocated by thread T6 here: #0 0x7f9623145d30 in operator new(unsigned long) ../../../../src/libsanitizer/asan/asan_new_delete.cc:90 #1 0x7f961ce30098 in __gnu_cxx::new_allocator > >(std::allocator >*, unsigned long)::M>::allocate(unsigned long, void const*) (/home/chybz/dev/timevault/build/lib/libtv_types.so.2+0x45f098) #2 0x7f961ce2f9ea in phmap::allocator_traits > >(std::allocator >*, unsigned long)::M> >::allocate(std::allocator > >(std::allocator >*, unsigned long)::M>&, unsigned long) (/home/chybz/dev/timevault/build/lib/libtv_types.so.2+0x45e9ea) #3 0x7f961ce2f36a in void* phmap::container_internal::Allocate<8ul, std::allocator > >(std::allocator >*, unsigned long) (/home/chybz/dev/timevault/build/lib/libtv_types.so.2+0x45e36a) #4 0x7f961ce2eb1e in phmap::container_internal::raw_hash_set, phmap::Hash, phmap::EqualTo, std::allocator > >::initialize_slots() (/home/chybz/dev/timevault/build/lib/libtv_types.so.2+0x45db1e) #5 0x7f961ce2d687 in phmap::container_internal::raw_hash_set, phmap::Hash, phmap::EqualTo, std::allocator > >::resize(unsigned long) (/home/chybz/dev/timevault/build/lib/libtv_types.so.2+0x45c687) #6 0x7f961ce2cfa5 in phmap::container_internal::raw_hash_set, phmap::Hash, phmap::EqualTo, std::allocator > >::rehash_and_grow_if_necessary() (/home/chybz/dev/timevault/build/lib/libtv_types.so.2+0x45bfa5) #7 0x7f961ce2c401 in phmap::container_internal::raw_hash_set, phmap::Hash, phmap::EqualTo, std::allocator > >::prepare_insert(unsigned long) (/home/chybz/dev/timevault/build/lib/libtv_types.so.2+0x45b401) #8 0x7f961ce2ad96 in std::pair phmap::container_internal::raw_hash_set, phmap::Hash, phmap::EqualTo, std::allocator > >::find_or_prepare_insert(unsigned long const&, unsigned long) (/home/chybz/dev/timevault/build/lib/libtv_types.so.2+0x459d96) #9 0x7f961ce29ac3 in std::pair, phmap::Hash, phmap::EqualTo, std::allocator > >::iterator, bool> phmap::container_internal::raw_hash_set, phmap::Hash, phmap::EqualTo, std::allocator > >::emplace_decomposable, std::tuple >(unsigned long const&, unsigned long, std::piecewise_construct_t const&, std::tuple&&, std::tuple&&) (/home/chybz/dev/timevault/build/lib/libtv_types.so.2+0x458ac3) #10 0x7f961ce28688 in std::pair, phmap::Hash, phmap::EqualTo, std::allocator > >::iterator, bool> phmap::container_internal::parallel_hash_set<4ul, phmap::container_internal::raw_hash_set, phmap::NullMutex, phmap::container_internal::FlatHashMapPolicy, phmap::Hash, phmap::EqualTo, std::allocator > >::emplace_decomposable, std::tuple >(unsigned long const&, std::piecewise_construct_t const&, std::tuple&&, std::tuple&&) (/home/chybz/dev/timevault/build/lib/libtv_types.so.2+0x457688) #11 0x7f961ce26c9e in std::pair, phmap::Hash, phmap::EqualTo, std::allocator > >::iterator, bool> phmap::container_internal::parallel_hash_set<4ul, phmap::container_internal::raw_hash_set, phmap::NullMutex, phmap::container_internal::FlatHashMapPolicy, phmap::Hash, phmap::EqualTo, std::allocator > >::EmplaceDecomposable::operator(), std::tuple >(unsigned long const&, std::piecewise_construct_t const&, std::tuple&&, std::tuple&&) const (/home/chybz/dev/timevault/build/lib/libtv_types.so.2+0x455c9e) #12 0x7f961ce24f7f in decltype (((declval, phmap::Hash, phmap::EqualTo, std::allocator > >::EmplaceDecomposable>)())((declval)(), std::piecewise_construct, (declval >)(), (declval >)())) phmap::container_internal::memory_internal::DecomposePairImpl, phmap::Hash, phmap::EqualTo, std::allocator > >::EmplaceDecomposable, unsigned long const&&, std::tuple >(phmap::container_internal::parallel_hash_set<4ul, phmap::container_internal::raw_hash_set, phmap::NullMutex, phmap::container_internal::FlatHashMapPolicy, phmap::Hash, phmap::EqualTo, std::allocator > >::EmplaceDecomposable&&, std::pair, std::tuple >) (/home/chybz/dev/timevault/build/lib/libtv_types.so.2+0x453f7f) #13 0x7f961ce2308d in decltype (DecomposePairImpl((forward, phmap::Hash, phmap::EqualTo, std::allocator > >::EmplaceDecomposable>)({parm#1}), PairArgs((forward >)({parm#2})))) phmap::container_internal::DecomposePair, phmap::Hash, phmap::EqualTo, std::allocator > >::EmplaceDecomposable, std::pair >(phmap::container_internal::parallel_hash_set<4ul, phmap::container_internal::raw_hash_set, phmap::NullMutex, phmap::container_internal::FlatHashMapPolicy, phmap::Hash, phmap::EqualTo, std::allocator > >::EmplaceDecomposable&&, std::pair&&) (/home/chybz/dev/timevault/build/lib/libtv_types.so.2+0x45208d) #14 0x7f961ce205ad in decltype (DecomposePair((declval, phmap::Hash, phmap::EqualTo, std::allocator > >::EmplaceDecomposable>)(), (declval >)())) phmap::container_internal::FlatHashMapPolicy::apply, phmap::Hash, phmap::EqualTo, std::allocator > >::EmplaceDecomposable, std::pair >(phmap::container_internal::parallel_hash_set<4ul, phmap::container_internal::raw_hash_set, phmap::NullMutex, phmap::container_internal::FlatHashMapPolicy, phmap::Hash, phmap::EqualTo, std::allocator > >::EmplaceDecomposable&&, std::pair&&) (/home/chybz/dev/timevault/build/lib/libtv_types.so.2+0x44f5ad) #15 0x7f961ce1d361 in decltype (phmap::container_internal::FlatHashMapPolicy::apply((forward, phmap::Hash, phmap::EqualTo, std::allocator > >::EmplaceDecomposable>)({parm#1}), (forward >)({parm#2}))) phmap::container_internal::hash_policy_traits, void>::apply, phmap::Hash, phmap::EqualTo, std::allocator > >::EmplaceDecomposable, std::pair, phmap::container_internal::FlatHashMapPolicy >(phmap::container_internal::parallel_hash_set<4ul, phmap::container_internal::raw_hash_set, phmap::NullMutex, phmap::container_internal::FlatHashMapPolicy, phmap::Hash, phmap::EqualTo, std::allocator > >::EmplaceDecomposable&&, std::pair&&) (/home/chybz/dev/timevault/build/lib/libtv_types.so.2+0x44c361) #16 0x7f961ce18ce8 in std::pair, phmap::Hash, phmap::EqualTo, std::allocator > >::iterator, bool> phmap::container_internal::parallel_hash_set<4ul, phmap::container_internal::raw_hash_set, phmap::NullMutex, phmap::container_internal::FlatHashMapPolicy, phmap::Hash, phmap::EqualTo, std::allocator > >::emplace, 0>(std::pair&&) (/home/chybz/dev/timevault/build/lib/libtv_types.so.2+0x447ce8) #17 0x7f961ce15b23 in std::pair, phmap::Hash, phmap::EqualTo, std::allocator > >::iterator, bool> phmap::container_internal::parallel_hash_set<4ul, phmap::container_internal::raw_hash_set, phmap::NullMutex, phmap::container_internal::FlatHashMapPolicy, phmap::Hash, phmap::EqualTo, std::allocator > >::insert, 0, 0, (std::pair*)0>(std::pair&&) (/home/chybz/dev/timevault/build/lib/libtv_types.so.2+0x444b23) #18 0x7f961ce0bc58 in tv::group_info::update_group(unsigned long, unsigned long, unsigned long, unsigned int, unsigned int) (/home/chybz/dev/timevault/build/lib/libtv_types.so.2+0x43ac58) #19 0x7f961ce0ebbe in auto tv::group_info::update_groups(tv::buffer const&)::{lambda(auto:1&)#1}::operator()(tv::parallel::context&) const (/home/chybz/dev/timevault/build/lib/libtv_types.so.2+0x43dbbe) #20 0x7f961ce0ee6e in tv::parallel::make_task_handler const&)::{lambda(auto:1&)#1}&>(tv::group_info::update_groups(tv::buffer const&)::{lambda(auto:1&)#1}&)::{lambda(tv::parallel::context&, void*)#1}::operator()(tv::parallel::context, tv::parallel::context&) const (/home/chybz/dev/timevault/build/lib/libtv_types.so.2+0x43de6e) #21 0x7f961ce0eeca in tv::parallel::make_task_handler const&)::{lambda(auto:1&)#1}&>(tv::group_info::update_groups(tv::buffer const&)::{lambda(auto:1&)#1}&)::{lambda(tv::parallel::context&, void*)#1}::_FUN(tv::parallel::context, tv::parallel::context&) (/home/chybz/dev/timevault/build/lib/libtv_types.so.2+0x43deca) #22 0x7f961bd5672b in tv::parallel::task::run() (/home/chybz/dev/timevault/build/lib/libtv_base.so.2+0x17672b) #23 0x7f961bd59b01 in tv::parallel::worker::run_until_idle() (/home/chybz/dev/timevault/build/lib/libtv_base.so.2+0x179b01) #24 0x7f961bd590f5 in tv::parallel::worker::run() (/home/chybz/dev/timevault/build/lib/libtv_base.so.2+0x1790f5) #25 0x7f961bd580f8 in tv::parallel::worker::start(tv::parallel::hwloc&)::{lambda()#1}::operator()() const (/home/chybz/dev/timevault/build/lib/libtv_base.so.2+0x1780f8) #26 0x7f961bd5ab39 in void std::__invoke_impl(std::__invoke_other, tv::parallel::worker::start(tv::parallel::hwloc&)::{lambda()#1}&&) (/home/chybz/dev/timevault/build/lib/libtv_base.so.2+0x17ab39) #27 0x7f961bd5a4f4 in std::__invoke_result::type std::__invoke(std::__invoke_result&&, (tv::parallel::worker::start(tv::parallel::hwloc&)::{lambda()#1}&&)...) (/home/chybz/dev/timevault/build/lib/libtv_base.so.2+0x17a4f4) #28 0x7f961bd5bdde in decltype (__invoke((_S_declval<0ul>)())) std::thread::_Invoker >::_M_invoke<0ul>(std::_Index_tuple<0ul>) (/home/chybz/dev/timevault/build/lib/libtv_base.so.2+0x17bdde) #29 0x7f961bd5bd79 in std::thread::_Invoker >::operator()() (/home/chybz/dev/timevault/build/lib/libtv_base.so.2+0x17bd79) Thread T6 created by T0 here: GIP 0x62a00000e600 START UG #0 0x7f96230abdb0 in __interceptor_pthread_create ../../../../src/libsanitizer/asan/asan_interceptors.cc:202 #1 0x7f9621b20db4 in std::thread::_M_start_thread(std::unique_ptr >, void (*)()) (/usr/lib/x86_64-linux-gnu/libstdc++.so.6+0xbbdb4) #2 0x7f961bd58263 in tv::parallel::worker::start(tv::parallel::hwloc&) (/home/chybz/dev/timevault/build/lib/libtv_base.so.2+0x178263) #3 0x7f961bd2dc7c in tv::parallel::scheduler::scheduler(std::thread::id, tv::parallel::hwloc&, tv::parallel::node const&) (/home/chybz/dev/timevault/build/lib/libtv_base.so.2+0x14dc7c) #4 0x7f961bd4ebde in std::_MakeUniq::__single_object std::make_unique(std::thread::id&, tv::parallel::hwloc&, tv::parallel::node const&) (/home/chybz/dev/timevault/build/lib/libtv_base.so.2+0x16ebde) #5 0x7f961bd4da9e in std::unique_ptr > tv::parallel::new_scheduler(std::thread::id&, tv::parallel::hwloc&, tv::parallel::node const&) (/home/chybz/dev/timevault/build/lib/libtv_base.so.2+0x16da9e) #6 0x7f961bd4bd41 in tv::parallel::executor::executor() (/home/chybz/dev/timevault/build/lib/libtv_base.so.2+0x16bd41) #7 0x7f9622cc2cb7 in std::_MakeUniq::__single_object std::make_unique() (/home/chybz/dev/timevault/build/lib/libtv.so.2+0x5dfcb7) #8 0x7f9622cbea63 in void tv::init_service(std::unique_ptr >&, tv::parallel::executor*&) (/home/chybz/dev/timevault/build/lib/libtv.so.2+0x5dba63) #9 0x7f9622cb04be in tv::kernel::init_services() (/home/chybz/dev/timevault/build/lib/libtv.so.2+0x5cd4be) #10 0x7f9622cad86e in tv::kernel::init(tv::options const&) (/home/chybz/dev/timevault/build/lib/libtv.so.2+0x5ca86e) #11 0x7f9622cddb93 in tv::init(tv::options const&) (/home/chybz/dev/timevault/build/lib/libtv.so.2+0x5fab93) #12 0x555ddd51e495 in main (/home/chybz/dev/timevault/build/bin/tv+0x84495) #13 0x7f962188d09a in __libc_start_main ../csu/libc-start.c:308 Thread T4 (TV/proj) created by T0 here: #0 0x7f96230abdb0 in __interceptor_pthread_create ../../../../src/libsanitizer/asan/asan_interceptors.cc:202 #1 0x7f9621b20db4 in std::thread::_M_start_thread(std::unique_ptr >, void (*)()) (/usr/lib/x86_64-linux-gnu/libstdc++.so.6+0xbbdb4) #2 0x7f961bd58263 in tv::parallel::worker::start(tv::parallel::hwloc&) (/home/chybz/dev/timevault/build/lib/libtv_base.so.2+0x178263) #3 0x7f961bd2dc7c in tv::parallel::scheduler::scheduler(std::thread::id, tv::parallel::hwloc&, tv::parallel::node const&) (/home/chybz/dev/timevault/build/lib/libtv_base.so.2+0x14dc7c) #4 0x7f961bd4ebde in std::_MakeUniq::__single_object std::make_unique(std::thread::id&, tv::parallel::hwloc&, tv::parallel::node const&) (/home/chybz/dev/timevault/build/lib/libtv_base.so.2+0x16ebde) #5 0x7f961bd4da9e in std::unique_ptr > tv::parallel::new_scheduler(std::thread::id&, tv::parallel::hwloc&, tv::parallel::node const&) (/home/chybz/dev/timevault/build/lib/libtv_base.so.2+0x16da9e) #6 0x7f961bd4bd41 in tv::parallel::executor::executor() (/home/chybz/dev/timevault/build/lib/libtv_base.so.2+0x16bd41) #7 0x7f9622cc2cb7 in std::_MakeUniq::__single_object std::make_unique() (/home/chybz/dev/timevault/build/lib/libtv.so.2+0x5dfcb7) #8 0x7f9622cbea63 in void tv::init_service(std::unique_ptr >&, tv::parallel::executor*&) (/home/chybz/dev/timevault/build/lib/libtv.so.2+0x5dba63) #9 0x7f9622cb04be in tv::kernel::init_services() (/home/chybz/dev/timevault/build/lib/libtv.so.2+0x5cd4be) #10 0x7f9622cad86e in tv::kernel::init(tv::options const&) (/home/chybz/dev/timevault/build/lib/libtv.so.2+0x5ca86e) #11 0x7f9622cddb93 in tv::init(tv::options const&) (/home/chybz/dev/timevault/build/lib/libtv.so.2+0x5fab93) #12 0x555ddd51e495 in main (/home/chybz/dev/timevault/build/bin/tv+0x84495) #13 0x7f962188d09a in __libc_start_main ../csu/libc-start.c:308 SUMMARY: AddressSanitizer: heap-buffer-overflow (/home/chybz/dev/timevault/build/lib/libtv_types.so.2+0x45f74d) in unsigned long phmap::container_internal::raw_hash_set, phmap::Hash, phmap::EqualTo, std::allocator > >::HashElement::operator(), std::tuple >(unsigned long const&, std::piecewise_construct_t const&, std::tuple&&, std::tuple&&) const Shadow bytes around the buggy address: 0x0c1a8001b9c0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c1a8001b9d0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c1a8001b9e0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c1a8001b9f0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c1a8001ba00: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd =>0x0c1a8001ba10: fd fa fa[fa]fa fa fa fa fa fa fd fd fd fd fd fd 0x0c1a8001ba20: fd fd fd fd fd fd fd fd fd fd fd fa fa fa fa fa 0x0c1a8001ba30: fa fa fa fa fd fd fd fd fd fd fd fd fd fd fd fd 0x0c1a8001ba40: fd fd fd fd fd fa fa fa fa fa fa fa fa fa fd fd 0x0c1a8001ba50: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fa 0x0c1a8001ba60: fa fa fa fa fa fa fa fa fd fd fd fd fd fd fd fd 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 Freed heap region: fd Stack left redzone: f1 Stack mid redzone: f2 Stack right redzone: f3 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 Left alloca redzone: ca Right alloca redzone: cb ==1773==ABORTING