Boost logo

Boost Users :

Subject: [Boost-users] boost wave memory leak
From: Rob Conde (rob.conde_at_[hidden])
Date: 2012-10-22 19:31:14


I'm getting a report of a memory leak when using boost wave. I see a similar
problem at:

https://svn.boost.org/trac/boost/ticket/4346

but supposedly that is fixed for a while.

The call stack is:

MyDll.dll!operator new(unsigned int count, const std::nothrow_t & __formal)
Line 18 + 0x9 bytes C++

MyDll.dll!operator new[](unsigned int count, const std::nothrow_t & x) Line
15 + 0xd bytes C++

MyDll.dll!boost::default_user_allocator_new_delete::malloc(const unsigned
int bytes) Line 97 + 0xe bytes C++

MyDll.dll!boost::pool<boost::default_user_allocator_new_delete>::malloc_need
_resize() Line 693 + 0x9 bytes C++

MyDll.dll!boost::pool<boost::default_user_allocator_new_delete>::malloc()
Line 432 C++

MyDll.dll!boost::singleton_pool<boost::fast_pool_allocator_tag,12,boost::def
ault_user_allocator_new_delete,boost::mutex,32,0>::malloc() Line 137 + 0xb
bytes C++

MyDll.dll!boost::fast_pool_allocator<std::_List_nod<boost::wave::cpplexer::l
ex_token<boost::wave::util::file_position<boost::wave::util::flex_string<cha
r,std::char_traits<char>,std::allocator<char>,boost::wave::util::CowString<b
oost::wave::util::AllocatorStringStorage<char,std::allocator<char> >,char *>
> >
>,boost::fast_pool_allocator<boost::wave::cpplexer::lex_token<boost::wave::u
til::file_position<boost::wave::util::flex_string<char,std::char_traits<char
>,std::allocator<char>,boost::wave::util::CowString<boost::wave::util::Alloc
atorStringStorage<char,std::allocator<char> >,char *> > >
>,boost::default_user_allocator_new_delete,boost::mutex,32,0>
>::_Node,boost::default_user_allocator_new_delete,boost::mutex,32,0>::alloca
te(const unsigned int n) Line 419 + 0xb bytes C++
 
MyDll.dll!std::list<boost::wave::cpplexer::lex_token<boost::wave::util::file
_position<boost::wave::util::flex_string<char,std::char_traits<char>,std::al
locator<char>,boost::wave::util::CowString<boost::wave::util::AllocatorStrin
gStorage<char,std::allocator<char> >,char *> > >
>,boost::fast_pool_allocator<boost::wave::cpplexer::lex_token<boost::wave::u
til::file_position<boost::wave::util::flex_string<char,std::char_traits<char
>,std::allocator<char>,boost::wave::util::CowString<boost::wave::util::Alloc
atorStringStorage<char,std::allocator<char> >,char *> > >
>,boost::default_user_allocator_new_delete,boost::mutex,32,0> >::_Buynode()
Line 1172 + 0x7 bytes C++
 
MyDll.dll!std::list<boost::wave::cpplexer::lex_token<boost::wave::util::file
_position<boost::wave::util::flex_string<char,std::char_traits<char>,std::al
locator<char>,boost::wave::util::CowString<boost::wave::util::AllocatorStrin
gStorage<char,std::allocator<char> >,char *> > >
>,boost::fast_pool_allocator<boost::wave::cpplexer::lex_token<boost::wave::u
til::file_position<boost::wave::util::flex_string<char,std::char_traits<char
>,std::allocator<char>,boost::wave::util::CowString<boost::wave::util::Alloc
atorStringStorage<char,std::allocator<char> >,char *> > >
>,boost::default_user_allocator_new_delete,boost::mutex,32,0>
>::list<boost::wave::cpplexer::lex_token<boost::wave::util::file_position<bo
ost::wave::util::flex_string<char,std::char_traits<char>,std::allocator<char
>,boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<cha
r,std::allocator<char> >,char *> > >
>,boost::fast_pool_allocator<boost::wave::cpplexer::lex_token<boost::wave::u
til::file_position<boost::wave::util::flex_string<char,std::char_traits<char
>,std::allocator<char>,boost::wave::util::CowString<boost::wave::util::Alloc
atorStringStorage<char,std::allocator<char> >,char *> > >
>,boost::default_user_allocator_new_delete,boost::mutex,32,0> >() Line 436
+ 0x68 bytes C++

MyDll.dll!`dynamic initializer for
'boost::wave::util::impl::gen_unput_queue_iterator<boost::wave::cpplexer::le
x_iterator<boost::wave::cpplexer::lex_token<boost::wave::util::file_position
<boost::wave::util::flex_string<char,std::char_traits<char>,std::allocator<c
har>,boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<
char,std::allocator<char> >,char *> > > >
>,boost::wave::cpplexer::lex_token<boost::wave::util::file_position<boost::w
ave::util::flex_string<char,std::char_traits<char>,std::allocator<char>,boos
t::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char,std:
:allocator<char> >,char *> > >
>,std::list<boost::wave::cpplexer::lex_token<boost::wave::util::file_positio
n<boost::wave::util::flex_string<char,std::char_traits<char>,std::allocator<
char>,boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage
<char,std::allocator<char> >,char *> > >
>,boost::fast_pool_allocator<boost::wave::cpplexer::lex_token<boost::wave::u
til::file_position<boost::wave::util::flex_string<char,std::char_traits<char
>,std::allocator<char>,boost::wave::util::CowString<boost::wave::util::Alloc
atorStringStorage<char,std::allocator<char> >,char *> > >
>,boost::default_user_allocator_new_delete,boost::mutex,32,0> > >::last''()
Line 155 + 0x28 bytes C++

msvcr90d.dll!__initterm() + 0x1c bytes


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net