Closed GoogleCodeExporter closed 9 years ago
Hmm, weird. tcmalloc should be intercepting new(size, nothrow_t). So frame 6
(in
del_opnt.c) should never be called -- that should be part of tcmalloc.
I'm curious why it's not. I'm able to reproduce the problem, even when linking
in
tcmalloc_debug at link time (rather than using LD_PRELOAD), so I'll see what I
can
track down.
Original comment by csilv...@gmail.com
on 24 Sep 2009 at 8:11
OK, i figured out the issue: the call in <memory> is
return_temporary_buffer(_Tp* __p)
{ ::operator delete(__p, nothrow); }
I've never heard of a nothrow version of delete before. In theory it doesn't
exist.
Some looking on the web indicates it's for internal use. I will have to track this
down more (there's indication operator delete(size, nothrow_t) exists, but not
operator delete[](size, nothrow_t). In any case, I'll look to fix this up for
the
net release.
Original comment by csilv...@gmail.com
on 24 Sep 2009 at 8:25
I verified overriding delete(void*, nothrow_t) in debugallocation fixed the
problem.
I'll have that in the next release.
Original comment by csilv...@gmail.com
on 24 Sep 2009 at 9:03
This should be fixed in perftools 1.5, just released.
Original comment by csilv...@gmail.com
on 20 Jan 2010 at 11:11
Original issue reported on code.google.com by
weidenri...@gmx.de
on 24 Sep 2009 at 10:36Attachments: