添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
爱旅游的茄子  ·  Memory leak in ...·  3 小时前    · 
深情的路灯  ·  illeegal memory ...·  4 天前    · 
行走的眼镜  ·  PyramidCU::GenerateFea ...·  4 天前    · 
冲动的梨子  ·  CUDA kernel failed : ...·  4 天前    · 
愤怒的西瓜  ·  cuda an illegal ...·  4 天前    · 
刚失恋的投影仪  ·  一网通办·  1 月前    · 
闷骚的李子  ·  Filter features with ...·  5 月前    · 
飘逸的热带鱼  ·  Acute Post-Prandial ...·  11 月前    · 

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement . We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Using spdlog 0.16.3.

So I'm aware that memory tracking can get a bit weird with static objects; our memory tracker only tracks memory allocated after tracking is turned on.

Regardless, I'm hitting an issue where we're apparently not freeing 16 bytes allocated by the underlying hash table:

MEMORY ERROR: Undeleted memory at termination.
- 0x249a520 - 16 bytes allocated from:
[01] comn_memorymanager_register(void*, unsigned long) 0x82 code/comn/comn_memorymanager.cpp, line 184
[02] operator new(unsigned long) 0x60 code/comn/comn_newdelete.cpp, line 61
[03] __gnu_cxx::new_allocator<std::__detail::_Hash_node_base*>::allocate(unsigned long, void const*) 0x40 /opt/rh/devtoolset-6/root/usr/include/c  /6.3.1/ext/new_allocator.h, line 105
[04] std::allocator_traits<std::allocator<std::__detail::_Hash_node_base*> >::allocate(std::allocator<std::__detail::_Hash_node_base*>&, unsigned long) 0x28 /opt/rh/devtoolset-6/root/usr/include/c  /6.3.1/bits/alloc_traits.h, line 436
[05] std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<std::string const, std::shared_ptr<spdlog::logger> >, true> > >::_M_allocate_buckets(unsigned long) 0x42 /opt/rh/devtoolset-6/root/usr/include/c  /6.3.1/bits/hashtable_policy.h, line 1994
[06] std::_Hashtable<std::string, std::pair<std::string const, std::shared_ptr<spdlog::logger> >, std::allocator<std::pair<std::string const, std::shared_ptr<spdlog::logger> > >, std::__detail::_Select1st, std::equal_to<std::string>, std::hash<std::string>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_allocate_buckets(unsigned long) 0x49 /opt/rh/devtoolset-6/root/usr/include/c  /6.3.1/bits/hashtable.h, line 347
[07] std::_Hashtable<std::string, std::pair<std::string const, std::shared_ptr<spdlog::logger> >, std::allocator<std::pair<std::string const, std::shared_ptr<spdlog::logger> > >, std::__detail::_Select1st, std::equal_to<std::string>, std::hash<std::string>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_rehash_aux(unsigned long, std::integral_constant<bool, true>) 0x23 /opt/rh/devtoolset-6/root/usr/include/c  /6.3.1/bits/hashtable.h, line 1961
[08] std::_Hashtable<std::string, std::pair<std::string const, std::shared_ptr<spdlog::logger> >, std::allocator<std::pair<std::string const, std::shared_ptr<spdlog::logger> > >, std::__detail::_Select1st, std::equal_to<std::string>, std::hash<std::string>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_rehash(unsigned long, unsigned long const&) 0x2d /opt/rh/devtoolset-6/root/usr/include/c  /6.3.1/bits/hashtable.h, line 1940
[09] std::_Hashtable<std::string, std::pair<std::string const, std::shared_ptr<spdlog::logger> >, std::allocator<std::pair<std::string const, std::shared_ptr<spdlog::logger> > >, std::__detail::_Select1st, std::equal_to<std::string>, std::hash<std::string>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_insert_unique_node(unsigned long, unsigned long, std::__detail::_Hash_node<std::pair<std::string const, std::shared_ptr<spdlog::logger> >, true>*) 0x85 /opt/rh/devtoolset-6/root/usr/include/c  /6.3.1/bits/hashtable.h, line 1588
[10] std::__detail::_Map_base<std::string, std::pair<std::string const, std::shared_ptr<spdlog::logger> >, std::allocator<std::pair<std::string const, std::shared_ptr<spdlog::logger> > >, std::__detail::_Select1st, std::equal_to<std::string>, std::hash<std::string>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true>, true>::operator[](std::string const&) 0xb5 /opt/rh/devtoolset-6/root/usr/include/c  /6.3.1/bits/hashtable_policy.h, line 598
[11] std::unordered_map<std::string, std::shared_ptr<spdlog::logger>, std::hash<std::string>, std::equal_to<std::string>, std::allocator<std::pair<std::string const, std::shared_ptr<spdlog::logger> > > >::operator[](std::string const&) 0x23 /opt/rh/devtoolset-6/root/usr/include/c  /6.3.1/bits/unordered_map.h, line 904
[12] spdlog::details::registry_t<std::mutex>::register_logger(std::shared_ptr<spdlog::logger>) 0x74 /usr/local/include/spdlog/details/registry.h, line 38
[13] spdlog::register_logger(std::shared_ptr<spdlog::logger>) 0x37 /usr/local/include/spdlog/details/spdlog_impl.h, line 37
[14] Library::Library(bool, bool, bool, bool) 0xc8 code/library.cpp, line 57
[15] main 0x48 code/test.cpp,

Is there any way to forcibly free this memory?