Boost C++ Libraries: Ticket #949: Memory leak in regex_match() with MSVC https://svn.boost.org/trac10/ticket/949 <pre class="wiki">I'm using regex on Windows NT4 SP6 with the MSVC++ v6 compiler. My app is statically linked with the debug multithreaded version of the MS C runtime. I've turned on memory leak checking in the app: int tmpFlag = _CrtSetDbgFlag(_CRTDBG_REPORT_FLAG); tmpFlag |= _CRTDBG_LEAK_CHECK_DF; _CrtSetDbgFlag(tmpFlag); Here's my regex_match() code sample: bool LogStream::Event(const char * subsystem, const char * name, const char * detail) { using namespace std; using namespace boost; bool rc = false; if (regex_match(string(subsystem), regex(mSubsystemFilter)) &amp;&amp; regex_match(string(name), regex(mEventFilter))) { rc = WriteMessage(EVENT, subsystem, name, detail); } return rc; } The leak only occurs if one of the matches fails, and each failure to match generates more leakage. The first buffer leaked contains the string I'm testing against the regular expression. Here's the leaks from a single failed match. ("Proxy" was the term that failed to match the mSubsystemFilter of "Logger" - the mEventFilter was ".*".) Detected memory leaks! Dumping objects -&gt; {363} normal block at 0x00C538C0, 33 bytes long. Data: &lt; Proxy &gt; 00 50 72 6F 78 79 00 CD CD CD CD CD CD CD CD CD {362} normal block at 0x00C53910, 51 bytes long. Data: &lt;3 &lt;9 &gt; 33 00 00 00 06 00 00 00 3C 39 C5 00 FF FF FF FF {360} normal block at 0x00C47E80, 1024 bytes long. Data: &lt; ~ &gt; 02 00 00 00 98 7E C4 00 00 00 00 00 06 00 00 00 {184} normal block at 0x00C52A20, 16 bytes long. Data: &lt; `* G 4 &gt; 90 1C C5 00 60 2A C5 00 47 00 CC CC 34 00 00 00 {182} normal block at 0x00C52A60, 16 bytes long. Data: &lt; * * Z 3 &gt; 20 2A C5 00 A0 2A C5 00 5A 00 CC CC 33 00 00 00 {180} normal block at 0x00C52AA0, 16 bytes long. Data: &lt;`* * C 2 &gt; 60 2A C5 00 E0 2A C5 00 43 00 CC CC 32 00 00 00 {178} normal block at 0x00C52AE0, 16 bytes long. Data: &lt; * + X 1 &gt; A0 2A C5 00 20 2B C5 00 58 00 CC CC 31 00 00 00 {176} normal block at 0x00C52B20, 16 bytes long. Data: &lt; * `+ Q 0 &gt; E0 2A C5 00 60 2B C5 00 51 00 CC CC 30 00 00 00 {174} normal block at 0x00C52B60, 16 bytes long. Data: &lt; + + E / &gt; 20 2B C5 00 A0 2B C5 00 45 00 CC CC 2F 00 00 00 {172} normal block at 0x00C52BA0, 16 bytes long. Data: &lt;`+ + D . &gt; 60 2B C5 00 E0 2B C5 00 44 00 CC CC 2E 00 00 00 {170} normal block at 0x00C52BE0, 16 bytes long. Data: &lt; + , d - &gt; A0 2B C5 00 20 2C C5 00 64 00 CC CC 2D 00 00 00 {168} normal block at 0x00C52C20, 16 bytes long. Data: &lt; + `, S , &gt; E0 2B C5 00 60 2C C5 00 53 00 CC CC 2C 00 00 00 {166} normal block at 0x00C52C60, 16 bytes long. Data: &lt; , , s + &gt; 20 2C C5 00 A0 2C C5 00 73 00 CC CC 2B 00 00 00 {164} normal block at 0x00C52CA0, 16 bytes long. Data: &lt;`, , U * &gt; 60 2C C5 00 E0 2C C5 00 55 00 CC CC 2A 00 00 00 {162} normal block at 0x00C52CE0, 16 bytes long. Data: &lt; , - u ) &gt; A0 2C C5 00 20 2D C5 00 75 00 CC CC 29 00 00 00 {160} normal block at 0x00C52D20, 16 bytes long. Data: &lt; , `- L ( &gt; E0 2C C5 00 60 2D C5 00 4C 00 CC CC 28 00 00 00 {158} normal block at 0x00C52D60, 16 bytes long. Data: &lt; - - l ' &gt; 20 2D C5 00 A0 2D C5 00 6C 00 CC CC 27 00 00 00 {156} normal block at 0x00C52DA0, 16 bytes long. Data: &lt;`- - e &amp; &gt; 60 2D C5 00 E0 2D C5 00 65 00 CC CC 26 00 00 00 {154} normal block at 0x00C52DE0, 16 bytes long. Data: &lt; - . = % &gt; A0 2D C5 00 20 2E C5 00 3D 00 CC CC 25 00 00 00 {152} normal block at 0x00C52E20, 16 bytes long. Data: &lt; - `. : $ &gt; E0 2D C5 00 60 2E C5 00 3A 00 CC CC 24 00 00 00 {150} normal block at 0x00C52E60, 16 bytes long. Data: &lt; . . c # &gt; 20 2E C5 00 A0 2E C5 00 63 00 CC CC 23 00 00 00 {148} normal block at 0x00C52EA0, 16 bytes long. Data: &lt;`. . x " &gt; 60 2E C5 00 E0 2E C5 00 78 00 CC CC 22 00 00 00 {146} normal block at 0x00C52EE0, 16 bytes long. Data: &lt; . / v ! &gt; A0 2E C5 00 20 2F C5 00 76 00 CC CC 21 00 00 00 {144} normal block at 0x00C52F20, 16 bytes long. Data: &lt; . `/ t &gt; E0 2E C5 00 60 2F C5 00 74 00 CC CC 20 00 00 00 {142} normal block at 0x00C52F60, 16 bytes long. Data: &lt; / / r &gt; 20 2F C5 00 A0 2F C5 00 72 00 CC CC 1F 00 00 00 {140} normal block at 0x00C52FA0, 16 bytes long. Data: &lt;`/ / n &gt; 60 2F C5 00 E0 2F C5 00 6E 00 CC CC 1E 00 00 00 {138} normal block at 0x00C52FE0, 16 bytes long. Data: &lt; / P f &gt; A0 2F C5 00 50 10 C5 00 66 00 CC CC 1D 00 00 00 {136} normal block at 0x00C51050, 16 bytes long. Data: &lt; / a &gt; E0 2F C5 00 90 10 C5 00 61 00 CC CC 1C 00 00 00 {134} normal block at 0x00C51090, 16 bytes long. Data: &lt;P , &gt; 50 10 C5 00 D0 10 C5 00 2C 00 CC CC 1B 00 00 00 {132} normal block at 0x00C510D0, 16 bytes long. Data: &lt; &gt; 90 10 C5 00 10 11 C5 00 0A 00 CC CC 1A 00 00 00 {130} normal block at 0x00C51110, 16 bytes long. Data: &lt; P z &gt; D0 10 C5 00 50 11 C5 00 7A 00 CC CC 19 00 00 00 {129} normal block at 0x00C51150, 16 bytes long. Data: &lt; ' &gt; 10 11 C5 00 90 11 C5 00 27 00 CC CC 19 00 00 00 {127} normal block at 0x00C51190, 16 bytes long. Data: &lt;P A &gt; 50 11 C5 00 D0 11 C5 00 41 00 CC CC 18 00 00 00 {126} normal block at 0x00C511D0, 16 bytes long. Data: &lt; ` &gt; 90 11 C5 00 10 12 C5 00 60 00 CC CC 18 00 00 00 {124} normal block at 0x00C51210, 16 bytes long. Data: &lt; P W &gt; D0 11 C5 00 50 12 C5 00 57 00 CC CC 17 00 00 00 {122} normal block at 0x00C51250, 16 bytes long. Data: &lt; w &gt; 10 12 C5 00 90 12 C5 00 77 00 CC CC 16 00 00 00 {120} normal block at 0x00C51290, 16 bytes long. Data: &lt;P &gt; &gt; 50 12 C5 00 D0 12 C5 00 3E 00 CC CC 15 00 00 00 {118} normal block at 0x00C512D0, 16 bytes long. Data: &lt; &lt; &gt; 90 12 C5 00 10 13 C5 00 3C 00 CC CC 14 00 00 00 {116} normal block at 0x00C51310, 16 bytes long. Data: &lt; P B &gt; D0 12 C5 00 50 13 C5 00 42 00 CC CC 13 00 00 00 {114} normal block at 0x00C51350, 16 bytes long. Data: &lt; b &gt; 10 13 C5 00 90 13 C5 00 62 00 CC CC 12 00 00 00 {112} normal block at 0x00C51390, 16 bytes long. Data: &lt;P 9 &gt; 50 13 C5 00 D0 13 C5 00 39 00 CC CC 11 00 00 00 {111} normal block at 0x00C513D0, 16 bytes long. Data: &lt; 8 &gt; 90 13 C5 00 10 14 C5 00 38 00 CC CC 11 00 00 00 {110} normal block at 0x00C51410, 16 bytes long. Data: &lt; P 7 &gt; D0 13 C5 00 50 14 C5 00 37 00 CC CC 11 00 00 00 {109} normal block at 0x00C51450, 16 bytes long. Data: &lt; 6 &gt; 10 14 C5 00 90 14 C5 00 36 00 CC CC 11 00 00 00 {108} normal block at 0x00C51490, 16 bytes long. Data: &lt;P 5 &gt; 50 14 C5 00 D0 14 C5 00 35 00 CC CC 11 00 00 00 {107} normal block at 0x00C514D0, 16 bytes long. Data: &lt; 4 &gt; 90 14 C5 00 10 15 C5 00 34 00 CC CC 11 00 00 00 {106} normal block at 0x00C51510, 16 bytes long. Data: &lt; P 3 &gt; D0 14 C5 00 50 15 C5 00 33 00 CC CC 11 00 00 00 {105} normal block at 0x00C51550, 16 bytes long. Data: &lt; 2 &gt; 10 15 C5 00 90 15 C5 00 32 00 CC CC 11 00 00 00 {104} normal block at 0x00C51590, 16 bytes long. Data: &lt;P 1 &gt; 50 15 C5 00 D0 15 C5 00 31 00 CC CC 11 00 00 00 {103} normal block at 0x00C515D0, 16 bytes long. Data: &lt; 0 &gt; 90 15 C5 00 10 16 C5 00 30 00 CC CC 11 00 00 00 {101} normal block at 0x00C51610, 16 bytes long. Data: &lt; P } &gt; D0 15 C5 00 50 16 C5 00 7D 00 CC CC 10 00 00 00 {99} normal block at 0x00C51650, 16 bytes long. Data: &lt; { &gt; 10 16 C5 00 90 16 C5 00 7B 00 CC CC 0F 00 00 00 {97} normal block at 0x00C51690, 16 bytes long. Data: &lt;P - &gt; 50 16 C5 00 D0 16 C5 00 2D 00 CC CC 0E 00 00 00 {95} normal block at 0x00C516D0, 16 bytes long. Data: &lt; # &gt; 90 16 C5 00 10 17 C5 00 23 00 CC CC 0D 00 00 00 {93} normal block at 0x00C51710, 16 bytes long. Data: &lt; P \ &gt; D0 16 C5 00 50 17 C5 00 5C 00 CC CC 0C 00 00 00 {91} normal block at 0x00C51750, 16 bytes long. Data: &lt; | &gt; 10 17 C5 00 90 17 C5 00 7C 00 CC CC 0B 00 00 00 {89} normal block at 0x00C51790, 16 bytes long. Data: &lt;P ] &gt; 50 17 C5 00 D0 17 C5 00 5D 00 CC CC 0A 00 00 00 {87} normal block at 0x00C517D0, 16 bytes long. Data: &lt; [ &gt; 90 17 C5 00 10 18 C5 00 5B 00 CC CC 09 00 00 00 {85} normal block at 0x00C51810, 16 bytes long. Data: &lt; P ? &gt; D0 17 C5 00 50 18 C5 00 3F 00 CC CC 08 00 00 00 {83} normal block at 0x00C51850, 16 bytes long. Data: &lt; + &gt; 10 18 C5 00 90 18 C5 00 2B 00 CC CC 07 00 00 00 {81} normal block at 0x00C51890, 16 bytes long. Data: &lt;P * &gt; 50 18 C5 00 D0 18 C5 00 2A 00 CC CC 06 00 00 00 {79} normal block at 0x00C518D0, 16 bytes long. Data: &lt; . &gt; 90 18 C5 00 80 19 C5 00 2E 00 CC CC 05 00 00 00 {77} normal block at 0x00C51980, 16 bytes long. Data: &lt; ^ &gt; D0 18 C5 00 C0 19 C5 00 5E 00 CC CC 04 00 00 00 {75} normal block at 0x00C519C0, 16 bytes long. Data: &lt; $ &gt; 80 19 C5 00 00 1A C5 00 24 00 CC CC 03 00 00 00 {73} normal block at 0x00C51A00, 16 bytes long. Data: &lt; ) &gt; C0 19 C5 00 A0 1A C5 00 29 00 CC CC 02 00 00 00 {71} normal block at 0x00C51AA0, 16 bytes long. Data: &lt; ( &gt; 00 1A C5 00 90 1C C5 00 28 00 CC CC 01 00 00 00 {59} normal block at 0x00C51AE0, 40 bytes long. Data: &lt; &gt; E0 1A C5 00 E0 1A C5 00 CD CD CD CD CD CD CD CD {58} normal block at 0x00C51B40, 12 bytes long. Data: &lt; &gt; CC CD CD CD E0 1A C5 00 00 00 00 00 {57} normal block at 0x00C51B80, 228 bytes long. Data: &lt; &gt; 0E 00 00 00 CC CD CD CD 00 00 00 00 00 00 00 00 {56} normal block at 0x00C51C90, 16 bytes long. Data: &lt; * &gt; A0 1A C5 00 20 2A C5 00 CD CD CD CD CD CD CD CD {55} normal block at 0x00C51CD0, 12 bytes long. Data: &lt; ? &gt; CC CD CD CD 90 1C C5 00 3F 00 00 00 {44} normal block at 0x00C51F80, 24 bytes long. Data: &lt; } w &gt; 90 7D FA 77 FF FF FF FF 00 00 00 00 00 00 00 00 </pre> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/949 Trac 1.4.3 nobody Thu, 06 Sep 2001 10:27:45 GMT <link>https://svn.boost.org/trac10/ticket/949#comment:1 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/949#comment:1</guid> <description> <pre class="wiki">Logged In: NO Thanks for the report: however I've been unable to reproduce the problem - here's the test program I used: #include&lt;iostream&gt; #ifdef _MSC_VER #include &lt;crtdbg.h&gt; #endif #include "boost\regex.hpp" using namespace std; using namespace boost; static const unsigned long FLAGS = regbase::normal | regbase::icase; const char* mSubsystemFilter = "Logger"; const char* mEventFilter = ".*"; bool foo(const char * subsystem, const char * name, const char * detail) { using namespace std; using namespace boost; bool rc = false; if (regex_match(string(subsystem), regex (mSubsystemFilter)) &amp;&amp; regex_match(string(name), regex(mEventFilter))) { //rc = WriteMessage(EVENT, subsystem, name, detail); cout &lt;&lt; "match" &lt;&lt; endl; } return rc; } int main() { #ifdef _MSC_VER int tmpFlag = _CrtSetDbgFlag(_CRTDBG_REPORT_FLAG); tmpFlag |= _CRTDBG_LEAK_CHECK_DF; _CrtSetDbgFlag(tmpFlag); #endif foo("System", "foo", ""); new char; // verify leak checking is working return 0; } regards, John Maddock </pre> </description> <category>Ticket</category> </item> <item> <dc:creator>evansls</dc:creator> <pubDate>Fri, 07 Sep 2001 12:53:46 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/949#comment:2 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/949#comment:2</guid> <description> <pre class="wiki">Logged In: YES user_id=316449 Strange! The test program still leaks on my machine. I've attached my leaktest build directory to this report. Here's the Visual Studio debugger output... Loaded 'C:\WINNT\System32\ntdll.dll', no matching symbolic information found. Loaded 'C:\WINNT\system32\KERNEL32.DLL', no matching symbolic information found. Loaded 'C:\WINNT\system32\USER32.DLL', no matching symbolic information found. Loaded 'C:\WINNT\system32\GDI32.DLL', no matching symbolic information found. Loaded 'C:\WINNT\system32\ADVAPI32.DLL', no matching symbolic information found. Loaded 'C:\WINNT\system32\RPCRT4.DLL', no matching symbolic information found. Detected memory leaks! Dumping objects -&gt; {181} normal block at 0x00820200, 1 bytes long. Data: &lt; &gt; CD {178} normal block at 0x00821F90, 33 bytes long. Data: &lt; System &gt; 00 53 79 73 74 65 6D 00 CD CD CD CD CD CD CD CD {177} normal block at 0x00821C40, 51 bytes long. Data: &lt;3 l &gt; 33 00 00 00 06 00 00 00 6C 1C 82 00 FF FF FF FF {175} normal block at 0x00822D60, 16 bytes long. Data: &lt;0 - G 4 &gt; 30 02 82 00 A0 2D 82 00 47 00 CC CC 34 00 00 00 {173} normal block at 0x00822DA0, 16 bytes long. Data: &lt;`- - Z 3 &gt; 60 2D 82 00 E0 2D 82 00 5A 00 CC CC 33 00 00 00 {171} normal block at 0x00822DE0, 16 bytes long. Data: &lt; - . C 2 &gt; A0 2D 82 00 20 2E 82 00 43 00 CC CC 32 00 00 00 {169} normal block at 0x00822E20, 16 bytes long. Data: &lt; - `. X 1 &gt; E0 2D 82 00 60 2E 82 00 58 00 CC CC 31 00 00 00 {167} normal block at 0x00822E60, 16 bytes long. Data: &lt; . . Q 0 &gt; 20 2E 82 00 A0 2E 82 00 51 00 CC CC 30 00 00 00 {165} normal block at 0x00822EA0, 16 bytes long. Data: &lt;`. . E / &gt; 60 2E 82 00 E0 2E 82 00 45 00 CC CC 2F 00 00 00 {163} normal block at 0x00822EE0, 16 bytes long. Data: &lt; . / D . &gt; A0 2E 82 00 20 2F 82 00 44 00 CC CC 2E 00 00 00 {161} normal block at 0x00822F20, 16 bytes long. Data: &lt; . `/ d - &gt; E0 2E 82 00 60 2F 82 00 64 00 CC CC 2D 00 00 00 {159} normal block at 0x00822F60, 16 bytes long. Data: &lt; / / S , &gt; 20 2F 82 00 A0 2F 82 00 53 00 CC CC 2C 00 00 00 {157} normal block at 0x00822FA0, 16 bytes long. Data: &lt;`/ / s + &gt; 60 2F 82 00 E0 2F 82 00 73 00 CC CC 2B 00 00 00 {155} normal block at 0x00822FE0, 16 bytes long. Data: &lt; / 0 U * &gt; A0 2F 82 00 30 10 82 00 55 00 CC CC 2A 00 00 00 {153} normal block at 0x00821030, 16 bytes long. Data: &lt; / p u ) &gt; E0 2F 82 00 70 10 82 00 75 00 CC CC 29 00 00 00 {151} normal block at 0x00821070, 16 bytes long. Data: &lt;0 L ( &gt; 30 10 82 00 B0 10 82 00 4C 00 CC CC 28 00 00 00 {149} normal block at 0x008210B0, 16 bytes long. Data: &lt;p l ' &gt; 70 10 82 00 F0 10 82 00 6C 00 CC CC 27 00 00 00 {147} normal block at 0x008210F0, 16 bytes long. Data: &lt; 0 e &amp; &gt; B0 10 82 00 30 11 82 00 65 00 CC CC 26 00 00 00 {145} normal block at 0x00821130, 16 bytes long. Data: &lt; p = % &gt; F0 10 82 00 70 11 82 00 3D 00 CC CC 25 00 00 00 {143} normal block at 0x00821170, 16 bytes long. Data: &lt;0 : $ &gt; 30 11 82 00 B0 11 82 00 3A 00 CC CC 24 00 00 00 {141} normal block at 0x008211B0, 16 bytes long. Data: &lt;p c # &gt; 70 11 82 00 F0 11 82 00 63 00 CC CC 23 00 00 00 {139} normal block at 0x008211F0, 16 bytes long. Data: &lt; 0 x " &gt; B0 11 82 00 30 12 82 00 78 00 CC CC 22 00 00 00 {137} normal block at 0x00821230, 16 bytes long. Data: &lt; p v ! &gt; F0 11 82 00 70 12 82 00 76 00 CC CC 21 00 00 00 {135} normal block at 0x00821270, 16 bytes long. Data: &lt;0 t &gt; 30 12 82 00 B0 12 82 00 74 00 CC CC 20 00 00 00 {133} normal block at 0x008212B0, 16 bytes long. Data: &lt;p r &gt; 70 12 82 00 F0 12 82 00 72 00 CC CC 1F 00 00 00 {131} normal block at 0x008212F0, 16 bytes long. Data: &lt; 0 n &gt; B0 12 82 00 30 13 82 00 6E 00 CC CC 1E 00 00 00 {129} normal block at 0x00821330, 16 bytes long. Data: &lt; p f &gt; F0 12 82 00 70 13 82 00 66 00 CC CC 1D 00 00 00 {127} normal block at 0x00821370, 16 bytes long. Data: &lt;0 a &gt; 30 13 82 00 B0 13 82 00 61 00 CC CC 1C 00 00 00 {125} normal block at 0x008213B0, 16 bytes long. Data: &lt;p , &gt; 70 13 82 00 F0 13 82 00 2C 00 CC CC 1B 00 00 00 {123} normal block at 0x008213F0, 16 bytes long. Data: &lt; 0 &gt; B0 13 82 00 30 14 82 00 0A 00 CC CC 1A 00 00 00 {121} normal block at 0x00821430, 16 bytes long. Data: &lt; p z &gt; F0 13 82 00 70 14 82 00 7A 00 CC CC 19 00 00 00 {120} normal block at 0x00821470, 16 bytes long. Data: &lt;0 ' &gt; 30 14 82 00 B0 14 82 00 27 00 CC CC 19 00 00 00 {118} normal block at 0x008214B0, 16 bytes long. Data: &lt;p A &gt; 70 14 82 00 F0 14 82 00 41 00 CC CC 18 00 00 00 {117} normal block at 0x008214F0, 16 bytes long. Data: &lt; 0 ` &gt; B0 14 82 00 30 15 82 00 60 00 CC CC 18 00 00 00 {115} normal block at 0x00821530, 16 bytes long. Data: &lt; p W &gt; F0 14 82 00 70 15 82 00 57 00 CC CC 17 00 00 00 {113} normal block at 0x00821570, 16 bytes long. Data: &lt;0 w &gt; 30 15 82 00 B0 15 82 00 77 00 CC CC 16 00 00 00 {111} normal block at 0x008215B0, 16 bytes long. Data: &lt;p &gt; &gt; 70 15 82 00 F0 15 82 00 3E 00 CC CC 15 00 00 00 {109} normal block at 0x008215F0, 16 bytes long. Data: &lt; 0 &lt; &gt; B0 15 82 00 30 16 82 00 3C 00 CC CC 14 00 00 00 {107} normal block at 0x00821630, 16 bytes long. Data: &lt; p B &gt; F0 15 82 00 70 16 82 00 42 00 CC CC 13 00 00 00 {105} normal block at 0x00821670, 16 bytes long. Data: &lt;0 b &gt; 30 16 82 00 B0 16 82 00 62 00 CC CC 12 00 00 00 {103} normal block at 0x008216B0, 16 bytes long. Data: &lt;p 9 &gt; 70 16 82 00 F0 16 82 00 39 00 CC CC 11 00 00 00 {102} normal block at 0x008216F0, 16 bytes long. Data: &lt; 0 8 &gt; B0 16 82 00 30 17 82 00 38 00 CC CC 11 00 00 00 {101} normal block at 0x00821730, 16 bytes long. Data: &lt; p 7 &gt; F0 16 82 00 70 17 82 00 37 00 CC CC 11 00 00 00 {100} normal block at 0x00821770, 16 bytes long. Data: &lt;0 6 &gt; 30 17 82 00 B0 17 82 00 36 00 CC CC 11 00 00 00 {99} normal block at 0x008217B0, 16 bytes long. Data: &lt;p 5 &gt; 70 17 82 00 F0 17 82 00 35 00 CC CC 11 00 00 00 {98} normal block at 0x008217F0, 16 bytes long. Data: &lt; 0 4 &gt; B0 17 82 00 30 18 82 00 34 00 CC CC 11 00 00 00 {97} normal block at 0x00821830, 16 bytes long. Data: &lt; p 3 &gt; F0 17 82 00 70 18 82 00 33 00 CC CC 11 00 00 00 {96} normal block at 0x00821870, 16 bytes long. Data: &lt;0 2 &gt; 30 18 82 00 B0 18 82 00 32 00 CC CC 11 00 00 00 {95} normal block at 0x008218B0, 16 bytes long. Data: &lt;p 1 &gt; 70 18 82 00 F0 18 82 00 31 00 CC CC 11 00 00 00 {94} normal block at 0x008218F0, 16 bytes long. Data: &lt; 0 0 &gt; B0 18 82 00 30 19 82 00 30 00 CC CC 11 00 00 00 {92} normal block at 0x00821930, 16 bytes long. Data: &lt; p } &gt; F0 18 82 00 70 19 82 00 7D 00 CC CC 10 00 00 00 {90} normal block at 0x00821970, 16 bytes long. Data: &lt;0 { &gt; 30 19 82 00 B0 19 82 00 7B 00 CC CC 0F 00 00 00 {88} normal block at 0x008219B0, 16 bytes long. Data: &lt;p - &gt; 70 19 82 00 F0 19 82 00 2D 00 CC CC 0E 00 00 00 {86} normal block at 0x008219F0, 16 bytes long. Data: &lt; 0 # &gt; B0 19 82 00 30 1A 82 00 23 00 CC CC 0D 00 00 00 {84} normal block at 0x00821A30, 16 bytes long. Data: &lt; p \ &gt; F0 19 82 00 70 1A 82 00 5C 00 CC CC 0C 00 00 00 {82} normal block at 0x00821A70, 16 bytes long. Data: &lt;0 | &gt; 30 1A 82 00 B0 1A 82 00 7C 00 CC CC 0B 00 00 00 {80} normal block at 0x00821AB0, 16 bytes long. Data: &lt;p ] &gt; 70 1A 82 00 F0 1A 82 00 5D 00 CC CC 0A 00 00 00 {78} normal block at 0x00821AF0, 16 bytes long. Data: &lt; 0 [ &gt; B0 1A 82 00 30 1B 82 00 5B 00 CC CC 09 00 00 00 {76} normal block at 0x00821B30, 16 bytes long. Data: &lt; p ? &gt; F0 1A 82 00 70 1B 82 00 3F 00 CC CC 08 00 00 00 {74} normal block at 0x00821B70, 16 bytes long. Data: &lt;0 + &gt; 30 1B 82 00 B0 1B 82 00 2B 00 CC CC 07 00 00 00 {72} normal block at 0x00821BB0, 16 bytes long. Data: &lt;p * &gt; 70 1B 82 00 F0 1B 82 00 2A 00 CC CC 06 00 00 00 {70} normal block at 0x00821BF0, 16 bytes long. Data: &lt; . &gt; B0 1B 82 00 A0 1C 82 00 2E 00 CC CC 05 00 00 00 {68} normal block at 0x00821CA0, 16 bytes long. Data: &lt; ^ &gt; F0 1B 82 00 E0 1C 82 00 5E 00 CC CC 04 00 00 00 {66} normal block at 0x00821CE0, 16 bytes long. Data: &lt; $ &gt; A0 1C 82 00 20 1D 82 00 24 00 CC CC 03 00 00 00 {64} normal block at 0x00821D20, 16 bytes long. Data: &lt; ) &gt; E0 1C 82 00 E0 1F 82 00 29 00 CC CC 02 00 00 00 {62} normal block at 0x00821FE0, 16 bytes long. Data: &lt; 0 ( &gt; 20 1D 82 00 30 02 82 00 28 00 CC CC 01 00 00 00 {50} normal block at 0x008200B0, 40 bytes long. Data: &lt; &gt; B0 00 82 00 B0 00 82 00 CD CD CD CD CD CD CD CD {49} normal block at 0x00820110, 12 bytes long. Data: &lt; &gt; CC CD CD CD B0 00 82 00 00 00 00 00 {48} normal block at 0x00821D60, 228 bytes long. Data: &lt; &gt; 0E 00 00 00 CC CD CD CD 00 00 00 00 00 00 00 00 {47} normal block at 0x00820230, 16 bytes long. Data: &lt; `- &gt; E0 1F 82 00 60 2D 82 00 CD CD CD CD CD CD CD CD {46} normal block at 0x00820270, 12 bytes long. Data: &lt; 0 ? &gt; CC CD CD CD 30 02 82 00 3F 00 00 00 {45} normal block at 0x00816E38, 1024 bytes long. Data: &lt; Pn &gt; 02 00 00 00 50 6E 81 00 00 00 00 00 06 00 00 00 {42} normal block at 0x00820040, 24 bytes long. Data: &lt;py w &gt; 70 79 FA 77 FF FF FF FF 00 00 00 00 00 00 00 00 Object dump complete. The thread 0x140 has exited with code 0 (0x0). The program 'D:\downloads\boost\boost_1_24_0 \SteveTest\leaktest\leaktest\Debug\leaktest.exe' has exited with code 0 (0x0). Many thanks for the fast response! Steve </pre> </description> <category>Ticket</category> </item> <item> <dc:creator>John Maddock</dc:creator> <pubDate>Sun, 09 Sep 2001 11:14:02 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/949#comment:3 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/949#comment:3</guid> <description> <pre class="wiki">Logged In: YES user_id=14804 OK, I see the leaks if I run your executable, but if I rebuild it then I don't! two questions: Have you replaced your standard lib with something (STLport, updated dinkum lib)? Have you updated boost recently, but not rebuild *and installed* the regex libs? Try double checking by doing a: nmake -fvc6.mak install from the libs/regex/build directory. </pre> </description> <category>Ticket</category> </item> <item> <dc:creator>evansls</dc:creator> <pubDate>Mon, 10 Sep 2001 09:22:29 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/949#comment:4 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/949#comment:4</guid> <description> <pre class="wiki">Logged In: YES user_id=316449 Morning John! My standard lib is still the MSVC standard (at least I've never knowingly installed anything else). I downloaded boost for the first time less than 2 weeks ago. At first I integrated regex into my own app (BOOST_RE_NO_LIB and all that). When I encountered the leak I assumed it was the fault of my build setup, so I went back to the boost directory and ran nmake -fvc6.mak, followed by nmake -fvc6.mak install. That's the setup I used to compile your test app. I'll try downloading boost again, and rebuild... Steve </pre> </description> <category>Ticket</category> </item> <item> <dc:creator>evansls</dc:creator> <pubDate>Mon, 10 Sep 2001 12:42:52 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/949#comment:5 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/949#comment:5</guid> <description> <pre class="wiki">Logged In: YES user_id=316449 Deleted boost (plus the libs in the MSVC lib directory), re-downloaded, re-installed, created a new, clean project for your test prog... still it leaks. :-( I also tried replacing the regex section of boost with the version I downloaded from your own homepages (it wouldn't build on its own - it needed boost/cregex.hpp). Still no joy. I'll try reinstalling MSVC. </pre> </description> <category>Ticket</category> </item> <item> <dc:creator>evansls</dc:creator> <pubDate>Mon, 10 Sep 2001 14:35:18 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/949#comment:6 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/949#comment:6</guid> <description> <pre class="wiki">Logged In: YES user_id=316449 Complete uninstall/reinstall of Visual Studio 6.0 Enterprise Edition failed to cure the leak. I'll have a look on MSDN for any MSVC++ 6.0 patches to do with memory leaks in the STL. </pre> </description> <category>Ticket</category> </item> <item> <dc:creator>evansls</dc:creator> <pubDate>Mon, 10 Sep 2001 17:12:13 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/949#comment:7 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/949#comment:7</guid> <description> <pre class="wiki">Logged In: YES user_id=316449 Eureka! I applied Service Pack 5 to MSVC 6.0 and the memory leak disappeared. I don't know what SP level I was running before (if any), but it evidently wasn't recent enough! </pre> </description> <category>Ticket</category> </item> <item> <dc:creator>John Maddock</dc:creator> <pubDate>Tue, 11 Sep 2001 11:20:29 GMT</pubDate> <title>status changed https://svn.boost.org/trac10/ticket/949#comment:8 https://svn.boost.org/trac10/ticket/949#comment:8 <ul> <li><strong>status</strong> <span class="trac-field-old">assigned</span> → <span class="trac-field-new">closed</span> </li> </ul> <pre class="wiki">Logged In: YES user_id=14804 Steve, Thanks for taking the time to get to the bottom of that - I'm glad you got there in the end! John Maddock </pre> Ticket