Boost C++ Libraries: Ticket #3976: [pool] Modifications to allow Boost.Pool uses to be checked by Valgrind https://svn.boost.org/trac10/ticket/3976 <p> The attached patch uses Valgrind client requests to mark chunks allocated and freed from Boost.Pool pools correctly, plus to mark unallocated space in a pool as non-accessible. The patched code requires the preprocessor symbol VALGRIND to be defined to add the extra requests. </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/3976 Trac 1.4.3 Jeremiah Willcock Wed, 03 Mar 2010 18:01:04 GMT attachment set https://svn.boost.org/trac10/ticket/3976 https://svn.boost.org/trac10/ticket/3976 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">pool_valgrind.patch</span> </li> </ul> <p> Patch for Valgrind support </p> Ticket Jeremiah Willcock Wed, 03 Mar 2010 18:33:29 GMT attachment set https://svn.boost.org/trac10/ticket/3976 https://svn.boost.org/trac10/ticket/3976 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">pool_valgrind_2.patch</span> </li> </ul> <p> Version of patch that removes spurious Valgrind errors in pool internals </p> Ticket Jeremiah Willcock Wed, 03 Mar 2010 18:34:39 GMT attachment set https://svn.boost.org/trac10/ticket/3976 https://svn.boost.org/trac10/ticket/3976 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">bogus_pool_test.cpp</span> </li> </ul> <p> Test code (run under Valgrind with modified pool) </p> Ticket Jeremiah Willcock Wed, 03 Mar 2010 19:54:37 GMT attachment set https://svn.boost.org/trac10/ticket/3976 https://svn.boost.org/trac10/ticket/3976 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">pool_valgrind_3.patch</span> </li> </ul> <p> Removed more warnings in pool internals </p> Ticket Steven Watanabe Thu, 10 Jun 2010 01:40:15 GMT <link>https://svn.boost.org/trac10/ticket/3976#comment:1 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/3976#comment:1</guid> <description> <p> Is the use of VALGRIND a convention? Otherwise, I would much prefer using BOOST_POOL_VALGRIND. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>John Maddock</dc:creator> <pubDate>Fri, 07 Jan 2011 11:24:37 GMT</pubDate> <title>cc set https://svn.boost.org/trac10/ticket/3976#comment:2 https://svn.boost.org/trac10/ticket/3976#comment:2 <ul> <li><strong>cc</strong> <span class="trac-author">boostpool@…</span> added </li> </ul> Ticket John Maddock Thu, 03 Mar 2011 18:25:23 GMT status changed; resolution set https://svn.boost.org/trac10/ticket/3976#comment:3 https://svn.boost.org/trac10/ticket/3976#comment:3 <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> I've played around with this, but: </p> <p> 1) This results in a blizzard of warnings from valgrind (still). 2) The code is way too slow to be useful with valgrind integration enabled (some of our tests take "forever" to run in that case. 3) Unless I'm missing something, some of the warning suppressions result in functions being called twice, even when no Valgrind integration is enabled. </p> <p> So... I'm closing as "won't fix". </p> Ticket edupuis Fri, 04 May 2012 20:51:58 GMT <link>https://svn.boost.org/trac10/ticket/3976#comment:4 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/3976#comment:4</guid> <description> <p> John, </p> <p> On July 18 2011, revision 73210, was commited with following log message : "Merge updated Boost.Pool from sandbox.". It added a second implementation of boost::pool, guarded by </p> <pre class="wiki">#ifdef BOOST_POOL_VALGRIND #endif </pre><p> This second implementation does not have at all the same behavior than the main one; if I understand correctly this implementation was the "playing around" mentionned above. </p> <p> As I am currently fixing tickets related to Boost.Pool, I was wondering if I can delete this code which seems useless. </p> <p> Regards </p> </description> <category>Ticket</category> </item> <item> <dc:creator>anonymous</dc:creator> <pubDate>Sat, 05 May 2012 08:47:27 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/3976#comment:5 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/3976#comment:5</guid> <description> <p> I'm not sure it's useless - if you want to test your code under valgrind then you have to do *something* to stop the blizzard of messages that would otherwise result - that was the best I could come up with at the time - it's tested in the Jamfile as well, but apparently I forgot to document it :-( </p> <p> It does disable pooling, but the alternative (using the valgrind API's to mark up the blocks) is so incredibly slow as to be completely useless. So if you have a better idea then great.... but I think it needs something like this? </p> </description> <category>Ticket</category> </item> </channel> </rss>