Boost C++ Libraries: Ticket #2713: Crash in perl_matcher::match_all_states() method - race condition https://svn.boost.org/trac10/ticket/2713 <p> In file perl_matcher_non_recursive.hpp is method perl_matcher::match_all_states() which contain static table 's_match_vtable'. If this method is called at first time, from more threads, table created in one thread can be skipped in other (due to dynamic code in table initialization), it causing crash of the following code: </p> <blockquote> <p> matcher_proc_type proc = s_match_vtable[pstate-&gt;type];<br /> ...<br /> if(!(this-&gt;*proc)()) {<br /> </p> </blockquote> <p> because 'proc' is NULL </p> <p> Tested with Visual Studio 2005 </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/2713 Trac 1.4.3 John Maddock Sun, 08 Feb 2009 16:30:46 GMT status changed; resolution set https://svn.boost.org/trac10/ticket/2713#comment:1 https://svn.boost.org/trac10/ticket/2713#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">fixed</span> </li> </ul> <p> (In <a class="changeset" href="https://svn.boost.org/trac10/changeset/51103" title="Fixes #2713: change table initialisation so that it's initialised ...">[51103]</a>) Fixes <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/2713" title="#2713: Bugs: Crash in perl_matcher::match_all_states() method - race condition (closed: fixed)">#2713</a>: change table initialisation so that it's initialised statically. </p> Ticket anonymous Wed, 29 Jul 2009 18:25:15 GMT milestone changed https://svn.boost.org/trac10/ticket/2713#comment:2 https://svn.boost.org/trac10/ticket/2713#comment:2 <ul> <li><strong>milestone</strong> <span class="trac-field-old">Boost 1.38.0</span> → <span class="trac-field-new">Boost 1.40.0</span> </li> </ul> <p> Can someone make sure this get's in the next available release? It wasn't in 1.39. </p> Ticket John Maddock Mon, 03 Aug 2009 12:00:22 GMT <link>https://svn.boost.org/trac10/ticket/2713#comment:3 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/2713#comment:3</guid> <description> <p> (In <a class="changeset" href="https://svn.boost.org/trac10/changeset/55383" title="Merge updates from Trunk. Fixes #2713.">[55383]</a>) Merge updates from Trunk. Fixes <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/2713" title="#2713: Bugs: Crash in perl_matcher::match_all_states() method - race condition (closed: fixed)">#2713</a>. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Ryan Gallagher</dc:creator> <pubDate>Sun, 09 Aug 2009 01:32:57 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/2713#comment:4 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/2713#comment:4</guid> <description> <p> Replying to <a class="ticket" href="https://svn.boost.org/trac10/ticket/2713#comment:3" title="Comment 3">johnmaddock</a>: </p> <blockquote class="citation"> <p> (In <a class="changeset" href="https://svn.boost.org/trac10/changeset/55383" title="Merge updates from Trunk. Fixes #2713.">[55383]</a>) Merge updates from Trunk. Fixes <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/2713" title="#2713: Bugs: Crash in perl_matcher::match_all_states() method - race condition (closed: fixed)">#2713</a>. </p> </blockquote> <p> Thanks John! </p> </description> <category>Ticket</category> </item> </channel> </rss>