<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 03:18:44 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>MongoDB Jira</title>
    <link>https://jira.mongodb.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.7.1</version>
        <build-number>970001</build-number>
        <build-date>13-04-2023</build-date>
    </build-info>


<item>
            <title>[SERVER-8891] Simple client fail with segmentation fault in mongoclient library</title>
                <link>https://jira.mongodb.org/browse/SERVER-8891</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;Example code below fails with segmentation fault at exit:&lt;/p&gt;
&lt;p/&gt;
&lt;div id=&quot;syntaxplugin&quot; class=&quot;syntaxplugin&quot; style=&quot;border: 1px dashed #bbb; border-radius: 5px !important; overflow: auto; max-height: 30em;&quot;&gt;
&lt;table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; width=&quot;100%&quot; style=&quot;font-size: 1em; line-height: 1.4em !important; font-weight: normal; font-style: normal; color: black;&quot;&gt;
		&lt;tbody &gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;  margin-top: 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;#include &amp;lt;mongo/client/dbclient.h&amp;gt;&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&amp;nbsp;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;using namespace mongo;&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&amp;nbsp;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;int main() {&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;   std::vector&amp;lt;HostAndPort&amp;gt; hosts;&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;   hosts.push_back(HostAndPort(&quot;localhost&quot;));&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&amp;nbsp;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;   DBClientReplicaSet connection(&quot;c2&quot;, hosts);&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;   connection.connect();&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   margin-bottom: 10px;  width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;}&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
			&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p/&gt;</description>
                <environment>Linux</environment>
        <key id="67624">SERVER-8891</key>
            <summary>Simple client fail with segmentation fault in mongoclient library</summary>
                <type id="1" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14703&amp;avatarType=issuetype">Bug</type>
                                            <priority id="2" iconUrl="https://jira.mongodb.org/images/icons/priorities/critical.svg">Critical - P2</priority>
                        <status id="6" iconUrl="https://jira.mongodb.org/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="9">Done</resolution>
                                        <assignee username="tad">Tad Marshall</assignee>
                                    <reporter username="sievlev">Stanislav Ievlev</reporter>
                        <labels>
                    </labels>
                <created>Thu, 7 Mar 2013 14:40:00 +0000</created>
                <updated>Mon, 11 Jul 2016 17:56:21 +0000</updated>
                            <resolved>Thu, 25 Jul 2013 18:36:53 +0000</resolved>
                                    <version>2.2.2</version>
                    <version>2.2.3</version>
                                    <fixVersion>2.4.6</fixVersion>
                    <fixVersion>2.5.2</fixVersion>
                                    <component>Internal Client</component>
                                        <votes>0</votes>
                                    <watches>11</watches>
                                                                                                                <comments>
                            <comment id="408705" author="gerry f" created="Thu, 22 Aug 2013 00:27:48 +0000"  >&lt;p&gt;The official 2.4.6 release has fixed this bug.&lt;/p&gt;</comment>
                            <comment id="391259" author="gerry f" created="Mon, 29 Jul 2013 20:21:40 +0000"  >&lt;p&gt;The above fix appears to solve this specific crash in my testing.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-8707&quot; title=&quot;dbclient_rs_test threading issue&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-8707&quot;&gt;&lt;del&gt;SERVER-8707&lt;/del&gt;&lt;/a&gt; and &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-10372&quot; title=&quot;ReplicaSetMonitor creates a thread that references memory it does not own&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-10372&quot;&gt;&lt;del&gt;SERVER-10372&lt;/del&gt;&lt;/a&gt; describe similar crashes, both related to ReplicaSetMonitorWatcher.&lt;/p&gt;</comment>
                            <comment id="390943" author="auto" created="Mon, 29 Jul 2013 14:42:30 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;tadmarshall&apos;, u&apos;name&apos;: u&apos;Tad Marshall&apos;, u&apos;email&apos;: u&apos;tad@10gen.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-8891&quot; title=&quot;Simple client fail with segmentation fault in mongoclient library&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-8891&quot;&gt;&lt;del&gt;SERVER-8891&lt;/del&gt;&lt;/a&gt; Destroy static objects in a safer order&lt;/p&gt;

&lt;p&gt;Change the order of some static objects and group them near the&lt;br/&gt;
start of the source file, along with a comment explaining what is&lt;br/&gt;
going on.  The crashes we&apos;ve seen have been due to destructors for&lt;br/&gt;
ReplicaSetMonitors (triggered by the destruction of _sets) trying&lt;br/&gt;
to use the _seedServers map, which had been destroyed already.  By&lt;br/&gt;
changing the order of the object definitions, we destroy _sets&lt;br/&gt;
before destroying _seedServers, preventing the crash.&lt;/p&gt;

&lt;p&gt;There may be other cases that are not solved by this fix, and there&lt;br/&gt;
is still a race due to the running ReplicaSetMonitorWatcher thread,&lt;br/&gt;
so this is unlikely to be the last word on crashes of this type.&lt;br/&gt;
Branch: v2.4&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/07fd444dd6d3be33223b0324a78570b75c8d3d31&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/07fd444dd6d3be33223b0324a78570b75c8d3d31&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="388771" author="auto" created="Thu, 25 Jul 2013 18:23:27 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;tadmarshall&apos;, u&apos;name&apos;: u&apos;Tad Marshall&apos;, u&apos;email&apos;: u&apos;tad@10gen.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-8891&quot; title=&quot;Simple client fail with segmentation fault in mongoclient library&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-8891&quot;&gt;&lt;del&gt;SERVER-8891&lt;/del&gt;&lt;/a&gt; Destroy static objects in a safer order&lt;/p&gt;

&lt;p&gt;Change the order of some static objects and group them near the&lt;br/&gt;
start of the source file, along with a comment explaining what is&lt;br/&gt;
going on.  The crashes we&apos;ve seen have been due to destructors for&lt;br/&gt;
ReplicaSetMonitors (triggered by the destruction of _sets) trying&lt;br/&gt;
to use the _seedServers map, which had been destroyed already.  By&lt;br/&gt;
changing the order of the object definitions, we destroy _sets&lt;br/&gt;
before destroying _seedServers, preventing the crash.&lt;/p&gt;

&lt;p&gt;There may be other cases that are not solved by this fix, and there&lt;br/&gt;
is still a race due to the running ReplicaSetMonitorWatcher thread,&lt;br/&gt;
so this is unlikely to be the last word on crashes of this type.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/50dc157e0d617b3aa9014bf47b9531e6e510912b&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/50dc157e0d617b3aa9014bf47b9531e6e510912b&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="386320" author="gerry f" created="Mon, 22 Jul 2013 17:32:28 +0000"  >&lt;p&gt;I have this bug in 2.2.0, 2.2.4, and 2.4.5 C++ clients.&lt;/p&gt;

&lt;p&gt;In my debugger, the first reference to the ReplicaSetMonitor is destroyed correctly.  When the second &apos;shared&apos; reference tries to destroy the same object, the memory has already been freed.&lt;/p&gt;

&lt;p&gt;The second reference is made when the ReplicaSetMonitor&apos;s BackgroundJob creates a heartbeat thread.  &lt;/p&gt;

&lt;p&gt;Another way to exercise this bug is to use mongo::ReplicaSetMonitor::remove() to destroy the ReplicaSetMonitor, and then wait up to 10 seconds for the heartbeat thread to reference the freed memory.&lt;/p&gt;

&lt;p&gt;There is a race condition, as the process occasionally exits successfully, more often on windows than linux.&lt;/p&gt;

&lt;p&gt;My first idea for a fix would be to eliminate the BackgroundJob and the stray thread.&lt;/p&gt;</comment>
                            <comment id="383438" author="sniderthanyou" created="Wed, 17 Jul 2013 19:20:50 +0000"  >&lt;p&gt;I just tested it on 2.5.1-pre-, and the problem still exists. I ran the example program through valgrind, and this blurb looks like it may be useful:&lt;/p&gt;
&lt;p/&gt;
&lt;div id=&quot;syntaxplugin&quot; class=&quot;syntaxplugin&quot; style=&quot;border: 1px dashed #bbb; border-radius: 5px !important; overflow: auto; max-height: 30em;&quot;&gt;
&lt;table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; width=&quot;100%&quot; style=&quot;font-size: 1em; line-height: 1.4em !important; font-weight: normal; font-style: normal; color: black;&quot;&gt;
		&lt;tbody &gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;  margin-top: 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;==17087== Invalid free() / delete / delete[] / realloc()&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;==17087==&#8194;&#8194;&#8194;&#8194;at 0x4C2A44B: operator delete(void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;==17087==&#8194;&#8194;&#8194;&#8194;by 0x552253F: std::basic_string&amp;lt;char, std::char_traits&amp;lt;char&amp;gt;, std::allocator&amp;lt;char&amp;gt; &amp;gt;::~basic_string() (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.17)&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;==17087==&#8194;&#8194;&#8194;&#8194;by 0x413C89: mongo::HostAndPort::~HostAndPort() (in /home/developer/Desktop/tutorial)&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;==17087==&#8194;&#8194;&#8194;&#8194;by 0x4149E1: void std::_Destroy&amp;lt;mongo::HostAndPort&amp;gt;(mongo::HostAndPort*) (in /home/developer/Desktop/tutorial)&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;==17087==&#8194;&#8194;&#8194;&#8194;by 0x414875: void std::_Destroy_aux&amp;lt;false&amp;gt;::__destroy&amp;lt;mongo::HostAndPort*&amp;gt;(mongo::HostAndPort*, mongo::HostAndPort*) (in /home/developer/Desktop/tutorial)&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;==17087==&#8194;&#8194;&#8194;&#8194;by 0x41BDBE: mongo::ReplicaSetMonitor::_cacheServerAddresses_inlock() (stl_construct.h:128)&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;==17087==&#8194;&#8194;&#8194;&#8194;by 0x41BED2: mongo::ReplicaSetMonitor::~ReplicaSetMonitor() (dbclient_rs.cpp:391)&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;==17087==&#8194;&#8194;&#8194;&#8194;by 0x431DB1: boost::detail::sp_counted_impl_p&amp;lt;mongo::ReplicaSetMonitor&amp;gt;::dispose() (checked_delete.hpp:34)&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;==17087==&#8194;&#8194;&#8194;&#8194;by 0x430804: std::_Rb_tree&amp;lt;std::string, std::pair&amp;lt;std::string const, boost::shared_ptr&amp;lt;mongo::ReplicaSetMonitor&amp;gt; &amp;gt;, std::_Select1st&amp;lt;std::pair&amp;lt;std::string const, boost::shared_ptr&amp;lt;mongo::ReplicaSetMonitor&amp;gt; &amp;gt; &amp;gt;, std::less&amp;lt;std::string&amp;gt;, std::allocator&amp;lt;std::pair&amp;lt;std::string const, boost::shared_ptr&amp;lt;mongo::ReplicaSetMonitor&amp;gt; &amp;gt; &amp;gt; &amp;gt;::_M_erase(std::_Rb_tree_node&amp;lt;std::pair&amp;lt;std::string const, boost::shared_ptr&amp;lt;mongo::ReplicaSetMonitor&amp;gt; &amp;gt; &amp;gt;*) (sp_counted_base_gcc_x86.hpp:146)&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;==17087==&#8194;&#8194;&#8194;&#8194;by 0x5ED3900: __run_exit_handlers (exit.c:78)&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;==17087==&#8194;&#8194;&#8194;&#8194;by 0x5ED3984: exit (exit.c:100)&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;==17087==&#8194;&#8194;&#8194;&#8194;by 0x5EB9773: (below main) (libc-start.c:258)&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;==17087==&#8194;&#8194;Address 0x6472b10 is 0 bytes inside a block of size 34 free&apos;d&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;==17087==&#8194;&#8194;&#8194;&#8194;at 0x4C2A44B: operator delete(void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;==17087==&#8194;&#8194;&#8194;&#8194;by 0x4309CB: std::_Rb_tree&amp;lt;std::string, std::pair&amp;lt;std::string const, std::vector&amp;lt;mongo::HostAndPort, std::allocator&amp;lt;mongo::HostAndPort&amp;gt; &amp;gt; &amp;gt;, std::_Select1st&amp;lt;std::pair&amp;lt;std::string const, std::vector&amp;lt;mongo::HostAndPort, std::allocator&amp;lt;mongo::HostAndPort&amp;gt; &amp;gt; &amp;gt; &amp;gt;, std::less&amp;lt;std::string&amp;gt;, std::allocator&amp;lt;std::pair&amp;lt;std::string const, std::vector&amp;lt;mongo::HostAndPort, std::allocator&amp;lt;mongo::HostAndPort&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;::_M_erase(std::_Rb_tree_node&amp;lt;std::pair&amp;lt;std::string const, std::vector&amp;lt;mongo::HostAndPort, std::allocator&amp;lt;mongo::HostAndPort&amp;gt; &amp;gt; &amp;gt; &amp;gt;*) (basic_string.h:246)&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;==17087==&#8194;&#8194;&#8194;&#8194;by 0x5ED3900: __run_exit_handlers (exit.c:78)&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;==17087==&#8194;&#8194;&#8194;&#8194;by 0x5ED3984: exit (exit.c:100)&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   margin-bottom: 10px;  width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;==17087==&#8194;&#8194;&#8194;&#8194;by 0x5EB9773: (below main) (libc-start.c:258)&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
			&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p/&gt;</comment>
                            <comment id="346181" author="sievlev" created="Mon, 27 May 2013 11:16:59 +0000"  >&lt;p&gt;I&apos;ve tested on 2.4.3.&lt;/p&gt;

&lt;p&gt;Problem still exists.&lt;/p&gt;</comment>
                            <comment id="300511" author="sievlev" created="Thu, 28 Mar 2013 06:19:23 +0000"  >&lt;p&gt;Sorry, I have no time to do it. &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.mongodb.org/images/icons/emoticons/sad.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;br/&gt;
Could you test it yourself on your stands? &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.mongodb.org/images/icons/emoticons/wink.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/p&gt;</comment>
                            <comment id="299152" author="ian@10gen.com" created="Tue, 26 Mar 2013 19:50:21 +0000"  >&lt;p&gt;Hi Stanislav, have you been able to try our most recent stable release (2.4.1) to see if the problem goes away?&lt;/p&gt;</comment>
                            <comment id="285706" author="tad" created="Sun, 10 Mar 2013 17:23:46 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-8226&quot; title=&quot;C++ driver fassert 16464 when runGlobalInitializersOrDie is not called&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-8226&quot;&gt;&lt;del&gt;SERVER-8226&lt;/del&gt;&lt;/a&gt; is marked as fixed in version 2.4.0-rc1, so the bug is still present in versions 2.2.2 and 2.2.3.&lt;/p&gt;

&lt;p&gt;The call to _exit() is to work around a problem with static constructors/destructors.  Because the C++ standard does not specify an order in which static constructors and destructors run, we can segfault on exit when objects get destroyed in the &quot;wrong&quot; order.  This is a separate problem from making sure that the &quot;global initializers&quot; have run before using the DBReplicaSet class.  The symptom of this other problem is that everything works great right up until you call exit() (no underscore) or return from main(), at which point instead of exiting cleanly you get a segfault.  This is a bug, and the calls to _exit() are just a way to avoid hitting it.&lt;/p&gt;

&lt;p&gt;Can you try a version 2.4.0-rc1 or newer (such as 2.4.0-rc2) and see if your problem goes away?  Does your program then work fine, but segfault on exit?&lt;/p&gt;</comment>
                            <comment id="285694" author="sievlev" created="Sun, 10 Mar 2013 16:51:28 +0000"  >&lt;p&gt;I&apos;ve tested this sample both with 2.2.2 and 2.2.3 versions.&lt;/p&gt;

&lt;p&gt;I haven&apos;t tried to call runGlobalInitializersOrDie(), but according to a last comment in &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-8226&quot; title=&quot;C++ driver fassert 16464 when runGlobalInitializersOrDie is not called&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-8226&quot;&gt;&lt;del&gt;SERVER-8226&lt;/del&gt;&lt;/a&gt; I don&apos;t need to do it.&lt;/p&gt;

&lt;p&gt;Where can I find an example of a right usage of DBReplicaSet class?&lt;/p&gt;

&lt;p&gt;I&apos;ve seen that you are using an ugly hack with _exit() in your command line utilities, but I cannot do the same hack in my application.&lt;/p&gt;</comment>
                            <comment id="284528" author="sam.helman@10gen.com" created="Fri, 8 Mar 2013 18:04:43 +0000"  >&lt;p&gt;Hello,&lt;/p&gt;

&lt;p&gt;Have you tried calling runGlobalInitializersOrDie, as specified in &lt;a href=&quot;https://jira.mongodb.org/browse/CXX-99&quot; title=&quot;Require driver users to runGlobalInitializersOrDie&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CXX-99&quot;&gt;&lt;del&gt;SERVER-7729&lt;/del&gt;&lt;/a&gt; and &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-8226&quot; title=&quot;C++ driver fassert 16464 when runGlobalInitializersOrDie is not called&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-8226&quot;&gt;&lt;del&gt;SERVER-8226&lt;/del&gt;&lt;/a&gt;?  Additionally, you put as the &quot;Affects versions&quot; 2.2.2 and 2.2.3 - have you experienced the error on both?&lt;/p&gt;</comment>
                            <comment id="283443" author="ian@10gen.com" created="Thu, 7 Mar 2013 15:35:43 +0000"  >&lt;p&gt;moving from Blocker to Critical as this is does not appear to be a release-blocking issue.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="83884">SERVER-10372</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>13.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10011" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Backwards Compatibility</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10038"><![CDATA[Fully Compatible]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Thu, 7 Mar 2013 15:35:43 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        10 years, 26 weeks ago
    
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18254" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Dependencies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[]]></customfieldvalue>


                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10057" key="com.atlassian.jira.toolkit:lastusercommented">
                        <customfieldname>Last comment by Customer</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>true</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10056" key="com.atlassian.jira.toolkit:lastupdaterorcommenter">
                        <customfieldname>Last commenter</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>ramon.fernandez@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            10 years, 26 weeks ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                    <customfield id="customfield_10032" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Operating System</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10026"><![CDATA[ALL]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>auto</customfieldvalue>
            <customfieldvalue>sniderthanyou</customfieldvalue>
            <customfieldvalue>gerry f</customfieldvalue>
            <customfieldvalue>ian@mongodb.com</customfieldvalue>
            <customfieldvalue>sam.helman@10gen.com</customfieldvalue>
            <customfieldvalue>sievlev</customfieldvalue>
            <customfieldvalue>tad</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hrio33:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hrmkdj:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>45377</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_23361" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Requested By</customfieldname>
                        <customfieldvalues>
                                

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10053" key="com.atlassian.jira.ext.charting:timeinstatus">
                        <customfieldname>Time In Status</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_22870" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Triagers</customfieldname>
                        <customfieldvalues>
                                

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_14350" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>serverRank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|ht00rb:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                    </customfields>
    </item>
</channel>
</rss>