Status: Started Owner: [EMAIL PROTECTED] Labels: Type-Bug Pri-2 OS-All Area-Misc
New issue 5108 by [EMAIL PROTECTED]: unit_tests.exe - purify reports occasional memory leak in setlocale http://code.google.com/p/chromium/issues/detail?id=5108 This leak appears to show up non-deterministically (but frequently) in a couple of unit tests. It started showing up a few weeks ago. It's unclear what changed to cause it to start happening. Most commonly, it appears in the BookmarkContextMenu test, but occasionally shows up in one of the IPC tests (hard to say which). Here's a stack from the BookmarkContextMenu version: [W] MLK: Memory leak of 216 bytes from 1 block allocated in setlocale [unit_tests.exe] Distribution of leaked blocks 216 bytes from 1 block of 216 bytes (0x0a91ab20) Allocation location calloc_crt [f:\sp\vctools\crt_bld\self_x86\crt\src\crtheap.c:54] setlocale [f:\sp\vctools\crt_bld\self_x86\crt\src\setlocal.c:808] std::_Locinfo::_Locinfo_dtor(_Locinfo::std *) [f:\sp\vctools\crt_bld\self_x86\crt\src\locale0.cpp:203] std::_Locinfo::~_Locinfo(void) [c:\b\slave\pc\build\src\third_party\platformsdk_vista_6_0\files\vc\include \xlocinfo.:93] std::numpunct<char>::numpunct<char>(UINT) [c:\b\slave\pc\build\src\third_party\platformsdk_vista_6_0\files\vc\include \xlocnum.:91] std::numpunct<char>::_Getcat(facet::locale::std const* *) [c:\b\slave\pc\build\src\third_party\platformsdk_vista_6_0\files\vc\include \xlocnum.:103] [EMAIL PROTECTED]@[EMAIL PROTECTED]@@@std@@YAABV? [EMAIL PROTECTED]@[EMAIL PROTECTED]@0@@Z [c:\b\slave\pc\build\src\third_party\platformsdk_vista_6_0\files\vc\include \xlocale.:478] std::num_put<char,ostreambuf_iterator<char,char_traits<char>::std>::std>::_ Iput(ostreambuf_iterator<char,char_traits<char>::std>::std,ios_base::std&,c har,char *,UINT)const [c:\b\slave\pc\build\src\third_party\platformsdk_vista_6_0\files\vc\include \xlocnum.:1267] std::num_put<char,ostreambuf_iterator<char,char_traits<char>::std>::std>::d o_put(ostreambuf_iterator<char,char_traits<char>::std>::std,ios_base::std&, char,long)const [c:\b\slave\pc\build\src\third_party\platformsdk_vista_6_0\files\vc\include \xlocnum.:967] std::num_put<char,ostreambuf_iterator<char,char_traits<char>::std>::std>::p ut(ostreambuf_iterator<char,char_traits<char>::std>::std,ios_base::std&,cha r,long)const [c:\b\slave\pc\build\src\third_party\platformsdk_vista_6_0\files\vc\include \xlocnum.:888] std::basic_ostream<char,char_traits<char>::std>::<<(int) [c:\b\slave\pc\build\src\third_party\platformsdk_vista_6_0\files\vc\include \ostream.:283] logging::LogMessage::Init(char const*,int) [c:\b\slave\pc\build\src\base\logging.cc:390] logging::LogMessage::LogMessage(char const*,int) [c:\b\slave\pc\build\src\base\logging.cc:352] ... and a simplified stack from the IPC example: Memory Leak: (216 bytes, 1 blocks) setlocale [unit_tests.exe] Alloc Location ... chrome/common/ipc_channel.cc:105 IPC::Channel::PipeName(class std::basic_string const &)const chrome/common/ipc_channel.cc:113 IPC::Channel::CreatePipe(class std::basic_string const &,enum IPC::Channel::Mode) chrome/common/ipc_channel.cc:42 IPC::Channel::Channel(class std::basic_string const &,enum Channel::Channel::Mode,class Channel::Channel::Listener *) chrome/common/ipc_channel_proxy.cc:30 IPC::ChannelProxy::Context::CreateChannel(class std::basic_string const &,enum IPC::Channel::Mode const &) chrome/common/ipc_channel_proxy.cc:217 IPC::ChannelProxy::Init(class std::basic_string const &,enum IPC::Channel::Mode,class MessageLoop *,bool) chrome/common/ipc_channel_proxy.cc:207 IPC::ChannelProxy::ChannelProxy(class std::basic_string const &,enum ChannelProxy::Channel::Mode,class MessageLoop *,class ChannelProxy::ChannelProxy::Context *,bool) chrome/common/ipc_sync_channel.cc:382 IPC::SyncChannel::SyncChannel(class std::basic_string const &,enum SyncChannel::Channel::Mode,class SyncChannel::Mode::Listener *,class SyncChannel::ChannelProxy::MessageFilter *,class MessageLoop *,bool,void *) chrome/common/ipc_sync_channel_unittest.cc:174 Worker::OnStart(void) base/tuple.h:383 [EMAIL PROTECTED]@? A0x29e2b86d@@[EMAIL PROTECTED]@@[EMAIL PROTECTED]@@[EMAIL PROTECTED]@@@Z ^^^ The line in ipc_channel.cc is another case using the << operator on an ostream, so presumably the omitted part of the stack is similar to the previous Bookmark example. -- You received this message because you are listed in the owner or CC fields of this issue, or because you starred this issue. You may adjust your issue notification preferences at: http://code.google.com/hosting/settings --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Chromium-bugs" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/chromium-bugs?hl=en -~----------~----~----~----~------~----~------~--~---
