Boost C++ Libraries: Ticket #5638: greg_month::get_month_map_ptr is not thread safe
https://svn.boost.org/trac10/ticket/5638
<p>
We recently have found a crash issue related to this function in greg_month.cpp.
</p>
<p>
the block from line 39 is not thread safe. If multiple threads call this function simultaneously, it will lead to a crash. As one thread is populating the map while the other thread may start using the map, or even worse two threads populate the map at the same time.
</p>
en-usBoost C++ Libraries/htdocs/site/boost.png
https://svn.boost.org/trac10/ticket/5638
Trac 1.4.3fatbone <fatbone@…>Fri, 24 Jun 2011 08:07:38 GMTcomponent changed; owner set
https://svn.boost.org/trac10/ticket/5638#comment:1
https://svn.boost.org/trac10/ticket/5638#comment:1
<ul>
<li><strong>owner</strong>
set to <span class="trac-author">az_sw_dude</span>
</li>
<li><strong>component</strong>
<span class="trac-field-old">None</span> → <span class="trac-field-new">date_time</span>
</li>
</ul>
Ticketfatbone@…Tue, 02 Aug 2011 02:08:56 GMT
<link>https://svn.boost.org/trac10/ticket/5638#comment:2 </link>
<guid isPermaLink="false">https://svn.boost.org/trac10/ticket/5638#comment:2</guid>
<description>
<p>
It's been six weeks. is anyone looking at this?
</p>
</description>
<category>Ticket</category>
</item>
<item>
<dc:creator>anonymous</dc:creator>
<pubDate>Tue, 22 Nov 2011 07:52:35 GMT</pubDate>
<title/>
<link>https://svn.boost.org/trac10/ticket/5638#comment:3 </link>
<guid isPermaLink="false">https://svn.boost.org/trac10/ticket/5638#comment:3</guid>
<description>
<p>
It's neem 5 months... has this been fixed, because this is happening to me 100% of the time, two threads trying to populate the map!... is there anyway we can put a wait in somewhere, or force it to run on 1 thread?
</p>
</description>
<category>Ticket</category>
</item>
<item>
<dc:creator>az_sw_dude</dc:creator>
<pubDate>Sun, 01 Jul 2012 18:08:52 GMT</pubDate>
<title/>
<link>https://svn.boost.org/trac10/ticket/5638#comment:4 </link>
<guid isPermaLink="false">https://svn.boost.org/trac10/ticket/5638#comment:4</guid>
<description>
<p>
Sorry, please realize that if you want fast support you need to either modify the code yourself or pay someone. Sorry, but just because I wrote the library doesn't mean it's my highest priority to maintain it.
</p>
<p>
My suggestion would be to ignore the library and use the all inline i/o as represented in the facet i/o -- then this map is never needed at all. This will eventually be fixed by removing the map altogether and making the entire library inline once and for all.
</p>
</description>
<category>Ticket</category>
</item>
<item>
<dc:creator>az_sw_dude</dc:creator>
<pubDate>Sun, 01 Jul 2012 18:10:12 GMT</pubDate>
<title>status changed
https://svn.boost.org/trac10/ticket/5638#comment:5
https://svn.boost.org/trac10/ticket/5638#comment:5
<ul>
<li><strong>status</strong>
<span class="trac-field-old">new</span> → <span class="trac-field-new">assigned</span>
</li>
</ul>
<p>
Solution is to remove support for legacy i/o solution that makes there actually be a library as part of date-time.
</p>
TicketMarshall ClowWed, 31 Oct 2012 18:24:12 GMT
<link>https://svn.boost.org/trac10/ticket/5638#comment:6 </link>
<guid isPermaLink="false">https://svn.boost.org/trac10/ticket/5638#comment:6</guid>
<description>
<p>
An alternate solution would be to, in your startup code call <code>greg_month::get_month_map_ptr</code> yourself.
</p>
<p>
This would populate the map, and then you never have to worry about it getting changed again.
</p>
</description>
<category>Ticket</category>
</item>
<item>
<dc:creator>anonymous</dc:creator>
<pubDate>Tue, 17 Mar 2015 16:15:20 GMT</pubDate>
<title/>
<link>https://svn.boost.org/trac10/ticket/5638#comment:7 </link>
<guid isPermaLink="false">https://svn.boost.org/trac10/ticket/5638#comment:7</guid>
<description>
<p>
This bug still occurs in boost 1.55
</p>
</description>
<category>Ticket</category>
</item>
<item>
<dc:creator>anonymous</dc:creator>
<pubDate>Tue, 17 Mar 2015 16:16:58 GMT</pubDate>
<title/>
<link>https://svn.boost.org/trac10/ticket/5638#comment:7 </link>
<guid isPermaLink="false">https://svn.boost.org/trac10/ticket/5638#comment:7</guid>
<description>
<p>
This bug still occurs in boost 1.55
</p>
</description>
<category>Ticket</category>
</item>
</channel>
</rss>