Boost C++ Libraries: Ticket #8410: lockfree 1.53.0: queue.cpp: push is broken if tail_.compare_exchange_strong returns false https://svn.boost.org/trac10/ticket/8410 <p> see line 299, queue.hpp, in lockfree, boost version 1.53.0 </p> <p> the implementation of compare_exchange_strong on x86 may return false; see line 320, boost/atomic/detail/gcc-x86.hpp however that isn't checked in push() of queue.hpp; </p> <p> proof: add an assert to the code, line 299 in queue.hpp: assert (tail_.compare_exchange_strong(tail, new_tail) &amp;&amp; "ERROR: broken"); return true; </p> <p> and run a stress test with lots of pthreads pushing and popping data. I can provide the test code on demand. </p> <p> Follow up: maybe this issue applies also to other parts of the lockfree code ? </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/8410 Trac 1.4.3 timblechmann Sat, 06 Apr 2013 19:51:57 GMT status changed; resolution set https://svn.boost.org/trac10/ticket/8410#comment:1 https://svn.boost.org/trac10/ticket/8410#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">invalid</span> </li> </ul> <p> read the paper: <a class="ext-link" href="http://www.research.ibm.com/people/m/michael/podc-1996.pdf"><span class="icon">​</span>http://www.research.ibm.com/people/m/michael/podc-1996.pdf</a> </p> Ticket robert.hranitzky@… Sun, 07 Apr 2013 13:51:09 GMT <link>https://svn.boost.org/trac10/ticket/8410#comment:2 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/8410#comment:2</guid> <description> <p> Replying to <a class="ticket" href="https://svn.boost.org/trac10/ticket/8410#comment:1" title="Comment 1">timblechmann</a>: </p> <blockquote class="citation"> <p> read the paper: <a class="ext-link" href="http://www.research.ibm.com/people/m/michael/podc-1996.pdf"><span class="icon">​</span>http://www.research.ibm.com/people/m/michael/podc-1996.pdf</a> </p> </blockquote> <p> thanks for the paper, I see now that I need to change my benchmarking-code for this algorithm. </p> </description> <category>Ticket</category> </item> </channel> </rss>