Boost C++ Libraries: Ticket #5939: Problems while trying to deserialize an std::string https://svn.boost.org/trac10/ticket/5939 <p> To reproduce: Windows XP Sp3 <a class="missing wiki">QtCreator</a> 2.2.1 mingw440 for windows as the compiler </p> <p> Write a code that serializes then deserializes an std::string. Enter it in debug mode. For each instance of string deserialized you will get: </p> <pre class="wiki">HEAP[SerializationTest.exe]: Invalid Address specified to RtlFreeHeap( 003E0000, 0047AC74 ) </pre><p> and the debugger will stop at: </p> <pre class="wiki"> template&lt;class CharType&gt; bool basic_xml_grammar&lt;CharType&gt;::parse_string(IStream &amp; is, StringType &amp; s){ ... s = rv.contents; </pre><p> It wont halt the application and deserialization seems to work but this completely messes up debug sessions because amount of stops at these alarms quickly gets unbearable. </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/5939 Trac 1.4.3 Robert Ramey Sun, 02 Oct 2011 21:01:13 GMT status changed; resolution set https://svn.boost.org/trac10/ticket/5939#comment:1 https://svn.boost.org/trac10/ticket/5939#comment:1 <ul> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">wontfix</span> </li> </ul> <p> without a suggest patch there's no much I can do about this. Serialization does allocate stuff on the stack for certain circumstances. Maybe the debugger (which one) is overly sensitive to this. The most common problem with serializaton/deserializaiton of string is forgetting to use </p> <p> #include &lt;boost/serialization/string.hpp&gt; </p> <p> RObert Ramey </p> Ticket