<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Wed Feb 07 21:21:28 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>[CDRIVER-4627] Fix possible crash if insufficient memory for performance counters</title>
                <link>https://jira.mongodb.org/browse/CDRIVER-4627</link>
                <project id="10030" key="CDRIVER">C Driver</project>
                    <description>&lt;p&gt;Tracks: &lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/pull/1244&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-c-driver/pull/1244&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
        <key id="2324837">CDRIVER-4627</key>
            <summary>Fix possible crash if insufficient memory for performance counters</summary>
                <type id="1" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14703&amp;avatarType=issuetype">Bug</type>
                                            <priority id="10300" iconUrl="https://jira.mongodb.org/images/icons/priorities/medium.svg">Unknown</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="13201">Fixed</resolution>
                                        <assignee username="kevin.albertson@mongodb.com">Kevin Albertson</assignee>
                                    <reporter username="kevin.albertson@mongodb.com">Kevin Albertson</reporter>
                        <labels>
                    </labels>
                <created>Wed, 26 Apr 2023 15:24:12 +0000</created>
                <updated>Sat, 28 Oct 2023 11:27:51 +0000</updated>
                            <resolved>Tue, 9 May 2023 18:15:22 +0000</resolved>
                                                    <fixVersion>1.23.5</fixVersion>
                                                        <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="5412358" author="xgen-internal-githook" created="Tue, 9 May 2023 18:01:37 +0000"  >&lt;p&gt;Author: &lt;/p&gt;
{&apos;name&apos;: &apos;Romain Geissler @ Amadeus&apos;, &apos;email&apos;: &apos;romain.geissler@amadeus.com&apos;, &apos;username&apos;: &apos;Romain-Geissler-1A&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-4627&quot; title=&quot;Fix possible crash if insufficient memory for performance counters&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-4627&quot;&gt;&lt;del&gt;CDRIVER-4627&lt;/del&gt;&lt;/a&gt; use `posix_fallocate` when available (#1244)&lt;/p&gt;

&lt;p&gt;Avoids an unexpected crash with SIGBUS when trying to allocate a /dev/shm shared memory but there is not enough memory. &lt;/p&gt;

&lt;p&gt;Indeed ftruncate doesn&apos;t ensure memory is properly allocated, it ony&lt;br/&gt;
changes the file size from the VFS point of view, but doesn&apos;t actually&lt;br/&gt;
allocate any memory. So ftruncate might work despite we have no memory&lt;br/&gt;
left, and later when trying to zero-memset the mmapped buffer, we might&lt;br/&gt;
actually get a SIGBUS signal crashing the whole process.&lt;/p&gt;

&lt;p&gt;Instead, make sure we can allocate the whole shared memory using&lt;br/&gt;
posix_fallocate and gracefully handle allocation problems, without&lt;br/&gt;
crashing.&lt;/p&gt;

&lt;p&gt;The chromium project faced a similar issue in the past:&lt;br/&gt;
&lt;a href=&quot;https://bugs.chromium.org/p/chromium/issues/detail?id=951431&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://bugs.chromium.org/p/chromium/issues/detail?id=951431&lt;/a&gt;&lt;br/&gt;
Branch: r1.23&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/commit/86e23fcd6decede21e6c4f2519453b34e2a3e451&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-c-driver/commit/86e23fcd6decede21e6c4f2519453b34e2a3e451&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="5412335" author="xgen-internal-githook" created="Tue, 9 May 2023 17:55:03 +0000"  >&lt;p&gt;Author: &lt;/p&gt;
{&apos;name&apos;: &apos;Romain Geissler @ Amadeus&apos;, &apos;email&apos;: &apos;romain.geissler@amadeus.com&apos;, &apos;username&apos;: &apos;Romain-Geissler-1A&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-4627&quot; title=&quot;Fix possible crash if insufficient memory for performance counters&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-4627&quot;&gt;&lt;del&gt;CDRIVER-4627&lt;/del&gt;&lt;/a&gt; use `posix_fallocate` when available (#1244)&lt;/p&gt;

&lt;p&gt;Avoids an unexpected crash with SIGBUS when trying to allocate a /dev/shm shared memory but there is not enough memory. &lt;/p&gt;

&lt;p&gt;Indeed ftruncate doesn&apos;t ensure memory is properly allocated, it ony&lt;br/&gt;
changes the file size from the VFS point of view, but doesn&apos;t actually&lt;br/&gt;
allocate any memory. So ftruncate might work despite we have no memory&lt;br/&gt;
left, and later when trying to zero-memset the mmapped buffer, we might&lt;br/&gt;
actually get a SIGBUS signal crashing the whole process.&lt;/p&gt;

&lt;p&gt;Instead, make sure we can allocate the whole shared memory using&lt;br/&gt;
posix_fallocate and gracefully handle allocation problems, without&lt;br/&gt;
crashing.&lt;/p&gt;

&lt;p&gt;The chromium project faced a similar issue in the past:&lt;br/&gt;
&lt;a href=&quot;https://bugs.chromium.org/p/chromium/issues/detail?id=951431&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://bugs.chromium.org/p/chromium/issues/detail?id=951431&lt;/a&gt;&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/commit/d83922ba19fa38f57aa9c1a6317caad5fb4071f1&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-c-driver/commit/d83922ba19fa38f57aa9c1a6317caad5fb4071f1&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|i1or20:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9223372036854775807</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            </customfields>
    </item>
</channel>
</rss>