Hi there,
I use boost version 1.49.0. I meet a memory leak for below sentences:
boost::filesystem::path tmp = input.stem();
string strDir = tmp.normalize().string();
Valgrind report memory leak as below:
==18299== 56 bytes in 1 blocks are still reachable in loss record 26 of 61
==18299== at 0x16DF68B8: malloc (vg_replace_malloc.c:270)
==18299== by 0x3F64FEC: operator new(unsigned long) (in
/home/lixin/work/prj/hotfix/13q2_ehf1/src/prosim/dist/Debug_64/GNU-Linux-x86/nanospice)
==18299== by 0x3F5B8F1: stlp_std::priv::__acquire_category(char const*&,
char*, _Locale_name_hint*, char const* (*)(char const*, char*,
_Locale_name_hint*, int*), void* (*)(char const*, _Locale_name_hint*,
int*), char const* (*)(char*),
stlp_std::hash_map,
stlp_std::pair,
stlp_std::hash >,
stlp_std::equal_to >,
stlp_std::allocator const,
stlp_std::pair > > >**, int*) (in
/home/lixin/work/prj/hotfix/13q2_ehf1/src/prosim/dist/Debug_64/GNU-Linux-x86/nanospice)
==18299== by 0x3F5BD04: stlp_std::priv::__acquire_ctype(char const*&,
char*, _Locale_name_hint*, int*) (in
/home/lixin/work/prj/hotfix/13q2_ehf1/src/prosim/dist/Debug_64/GNU-Linux-x86/nanospice)
==18299== by 0x3F3F502: stlp_std::_Locale_impl::insert_ctype_facets(char
const*&, char*, _Locale_name_hint*) (in
/home/lixin/work/prj/hotfix/13q2_ehf1/src/prosim/dist/Debug_64/GNU-Linux-x86/nanospice)
==18299== by 0x3F3DC3C: stlp_std::locale::locale(char const*) (in
/home/lixin/work/prj/hotfix/13q2_ehf1/src/prosim/dist/Debug_64/GNU-Linux-x86/nanospice)
==18299== by 0x458FFFE:
boost::filesystem3::path::wchar_t_codecvt_facet() (in
/home/lixin/work/prj/hotfix/13q2_ehf1/src/prosim/dist/Debug_64/GNU-Linux-x86/nanospice)
==18299== by 0x4591806: boost::filesystem3::path::begin() const (in
/home/lixin/work/prj/hotfix/13q2_ehf1/src/prosim/dist/Debug_64/GNU-Linux-x86/nanospice)
==18299== by 0x4592844: boost::filesystem3::path::m_normalize() (in
/home/lixin/work/prj/hotfix/13q2_ehf1/src/prosim/dist/Debug_64/GNU-Linux-x86/nanospice)
==18299== by 0x21019EB: boost::filesystem3::path::normalize()
(path.hpp:430)
Because my program need run thousands of time and very sensitive for the
memory leak. Could anyone help to suggest one way to avoid such memory leak?
Thanks a lot!
Best wishes,
Andy Li