[SERVER-17224] Aggregation pipeline with 64MB document can terminate server Created: 09/Feb/15  Updated: 30/Oct/23  Resolved: 10/Mar/15

Status: Closed
Project: Core Server
Component/s: Aggregation Framework
Affects Version/s: 2.4.12
Fix Version/s: 2.6.9, 3.0.1, 3.1.0

Type: Bug Priority: Major - P3
Reporter: Kamran K. Assignee: Mathias Stearn
Resolution: Done Votes: 0
Labels: 28qa
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
Related
is related to SERVER-7459 BSONObjBuilder and BSONArrayBuilder m... Closed
is related to SERVER-17480 AggFramework: Assertion: 13548:BufBui... Closed
is related to CXX-563 Backport BSONObjBuilder exception in ... Closed
Backwards Compatibility: Fully Compatible
Operating System: ALL
Backport Completed:
Participants:
Case:

 Description   
Issue Status as of Mar 10, 2015

ISSUE SUMMARY
An aggregation pipeline may in some cases produce a document that exceeds the 64MB limit. When that document is returned, the server fasserts with a message like the following:

Assertion: 13548:BufBuilder attempted to grow() to 134217728 bytes, past the 64MB limit.

USER IMPACT
The server terminates after the assertion.

WORKAROUNDS
N/A

AFFECTED VERSIONS
All MongoDB versions prior to 2.6.9 and 3.0.1 are affected by this issue

FIX VERSION
The fix is included in the 2.6.9 and 3.0.1 production releases.

RESOLUTION DETAILS
Reserve room for EOO byte when starting BSONObj building.

Original description

An aggregation pipeline that produces a document that is ~64MB can terminate the server. See pipeline.cpp below (and SERVER-7459).

505        BSONArrayBuilder resultArray;
506        DocumentSource* finalSource = sources.back().get();
507        while (boost::optional<Document> next = finalSource->getNext()) {
508            // add the document to the result set
509            BSONObjBuilder documentBuilder (resultArray.subobjStart());
510            next->toBson(&documentBuilder);

If next->toBson() throws, the destructor for documentBuilder will call BSONObjBuilder::_done. _done will throw an exception if resultArray is 64MB because it will attempt to grow to accommodate EOO, which pushes it past the internal 64MB limit.

-------------

Server output:

2015-02-08T19:50:12.144-0500 I -        [conn1] Assertion: 13548:BufBuilder attempted to grow() to 134217728 bytes, past the 64MB limit.
2015-02-08T19:50:12.167-0500 I CONTROL  [conn1] 
 0x192ded6 0x18dfa27 0x18cb6bc 0x1146a01 0x11454f5 0x1145534 0x11433d1 0x114074f 0x114064a 0x14b654e 0x152a77f 0x152fe6d 0x152ad8e 0x152abda 0x14b6606 0x1524efd 0x12e9d30 0x133be09 0x133cdd7 0x133d6c8 0x154300e 0x1545054 0x1449a69 0x144ac17 0x1142284 0x18f40de 0x7f564a1e0182 0x7f56492e100d
----- BEGIN BACKTRACE -----
{"backtrace":[{"b":"400000","o":"152DED6"},{"b":"400000","o":"14DFA27"},{"b":"400000","o":"14CB6BC"},{"b":"400000","o":"D46A01"},{"b":"400000","o":"D454F5"},{"b":"400000","o":"D45534"},{"b":"400000","o":"D433D1"},{"b":"400000","o":"D4074F"},{"b":"400000","o":"D4064A"},{"b":"400000","o":"10B654E"},{"b":"400000","o":"112A77F"},{"b":"400000","o":"112FE6D"},{"b":"400000","o":"112AD8E"},{"b":"400000","o":"112ABDA"},{"b":"400000","o":"10B6606"},{"b":"400000","o":"1124EFD"},{"b":"400000","o":"EE9D30"},{"b":"400000","o":"F3BE09"},{"b":"400000","o":"F3CDD7"},{"b":"400000","o":"F3D6C8"},{"b":"400000","o":"114300E"},{"b":"400000","o":"1145054"},{"b":"400000","o":"1049A69"},{"b":"400000","o":"104AC17"},{"b":"400000","o":"D42284"},{"b":"400000","o":"14F40DE"},{"b":"7F564A1D8000","o":"8182"},{"b":"7F56491E6000","o":"FB00D"}],"processInfo":{ "mongodbVersion" : "3.1.0-pre-", "gitVersion" : "74e5e2904304bef4b874c4ba68fe4e6671e1c12b", "uname" : { "sysname" : "Linux", "release" : "3.13.0-24-generic", "version" : "#47-Ubuntu SMP Fri May 2 23:30:00 UTC 2014", "machine" : "x86_64" }, "somap" : [ { "elfType" : 2, "b" : "400000", "buildId" : "79BD8F8CA4C7D2B22A31D21E678D35E41789A045" }, { "b" : "7FFFCBAFE000", "elfType" : 3, "buildId" : "6755FAD2CADACDF1667E5B57FF1EDFC28DD1C976" }, { "b" : "7F564A1D8000", "path" : "/lib/x86_64-linux-gnu/libpthread.so.0", "elfType" : 3, "buildId" : "9318E8AF0BFBE444731BB0461202EF57F7C39542" }, { "b" : "7F5649FD0000", "path" : "/lib/x86_64-linux-gnu/librt.so.1", "elfType" : 3, "buildId" : "92FCF41EFE012D6186E31A59AD05BDBB487769AB" }, { "b" : "7F5649DCC000", "path" : "/lib/x86_64-linux-gnu/libdl.so.2", "elfType" : 3, "buildId" : "C1AE4CB7195D337A77A3C689051DABAA3980CA0C" }, { "b" : "7F5649AC8000", "path" : "/usr/lib/x86_64-linux-gnu/libstdc++.so.6", "elfType" : 3, "buildId" : "19EFDDAB11B3BF5C71570078C59F91CF6592CE9E" }, { "b" : "7F56497C2000", "path" : "/lib/x86_64-linux-gnu/libm.so.6", "elfType" : 3, "buildId" : "1D76B71E905CB867B27CEF230FCB20F01A3178F5" }, { "b" : "7F56495AC000", "path" : "/lib/x86_64-linux-gnu/libgcc_s.so.1", "elfType" : 3, "buildId" : "8D0AA71411580EE6C08809695C3984769F25725B" }, { "b" : "7F56491E6000", "path" : "/lib/x86_64-linux-gnu/libc.so.6", "elfType" : 3, "buildId" : "882AD7AAD54790E2FA6EF64CA2E6188F06BF9207" }, { "b" : "7F564A3F6000", "path" : "/lib64/ld-linux-x86-64.so.2", "elfType" : 3, "buildId" : "9F00581AB3C73E3AEA35995A0C50D24D59A01D47" } ] }}
 mongod(_ZN5mongo15printStackTraceERSo+0x27) [0x192ded6]
 mongod(_ZN5mongo10logContextEPKc+0x71) [0x18dfa27]
 mongod(_ZN5mongo11msgassertedEiPKc+0xB6) [0x18cb6bc]
 mongod(_ZN5mongo11_BufBuilderINS_16TrivialAllocatorEE15grow_reallocateEi+0xD9) [0x1146a01]
 mongod(_ZN5mongo11_BufBuilderINS_16TrivialAllocatorEE4growEi+0x45) [0x11454f5]
 mongod(_ZN5mongo11_BufBuilderINS_16TrivialAllocatorEE13appendNumImplIcEEvT_+0x22) [0x1145534]
 mongod(_ZN5mongo11_BufBuilderINS_16TrivialAllocatorEE9appendNumEc+0x23) [0x11433d1]
 mongod(_ZN5mongo14BSONObjBuilder5_doneEv+0x7F) [0x114074f]
 mongod(_ZN5mongo14BSONObjBuilder8doneFastEv+0x18) [0x114064a]
 mongod(_ZN5mongolsERNS_25BSONObjBuilderValueStreamERKNS_8DocumentE+0x4E) [0x14b654e]
 mongod(_ZN5mongolsERNS_25BSONObjBuilderValueStreamERKNS_5ValueE+0x2E7) [0x152a77f]
 mongod(_ZN5mongo16BSONArrayBuilderlsINS_5ValueEEERS0_RKT_+0x6F) [0x152fe6d]
 mongod(_ZNK5mongo5Value14addToBsonArrayEPNS_16BSONArrayBuilderE+0x36) [0x152ad8e]
 mongod(_ZN5mongolsERNS_25BSONObjBuilderValueStreamERKNS_5ValueE+0x742) [0x152abda]
 mongod(_ZNK5mongo8Document6toBsonEPNS_14BSONObjBuilderE+0x76) [0x14b6606]
 mongod(_ZN5mongo8Pipeline3runERNS_14BSONObjBuilderE+0x10B) [0x1524efd]
 mongod(_ZN5mongo15PipelineCommand3runEPNS_16OperationContextERKSsRNS_7BSONObjEiRSsRNS_14BSONObjBuilderEb+0x88C) [0x12e9d30]
 mongod(_ZN5mongo12_execCommandEPNS_16OperationContextEPNS_7CommandERKSsRNS_7BSONObjEiRSsRNS_14BSONObjBuilderEb+0x96) [0x133be09]
 mongod(_ZN5mongo7Command11execCommandEPNS_16OperationContextEPS0_iPKcRNS_7BSONObjERNS_14BSONObjBuilderEb+0xBD1) [0x133cdd7]
 mongod(_ZN5mongo12_runCommandsEPNS_16OperationContextEPKcRNS_7BSONObjERNS_11_BufBuilderINS_16TrivialAllocatorEEERNS_14BSONObjBuilderEbi+0x4A3) [0x133d6c8]
 mongod(+0x114300E) [0x154300e]
 mongod(_ZN5mongo8runQueryEPNS_16OperationContextERNS_7MessageERNS_12QueryMessageERKNS_15NamespaceStringERNS_5CurOpES3_b+0x37C) [0x1545054]
 mongod(+0x1049A69) [0x1449a69]
 mongod(_ZN5mongo16assembleResponseEPNS_16OperationContextERNS_7MessageERNS_10DbResponseERKNS_11HostAndPortEb+0x4F9) [0x144ac17]
 mongod(_ZN5mongo16MyMessageHandler7processERNS_7MessageEPNS_21AbstractMessagingPortEPNS_9LastErrorE+0xF6) [0x1142284]
 mongod(_ZN5mongo17PortMessageServer17handleIncomingMsgEPv+0x40D) [0x18f40de]
 libpthread.so.0(+0x8182) [0x7f564a1e0182]
 libc.so.6(clone+0x6D) [0x7f56492e100d]
-----  END BACKTRACE  -----
2015-02-08T19:50:12.168-0500 I -        [conn1] Assertion: 13548:BufBuilder attempted to grow() to 134217728 bytes, past the 64MB limit.
2015-02-08T19:50:12.185-0500 I CONTROL  [conn1] 
 0x192ded6 0x18dfa27 0x18cb6bc 0x1146a01 0x11454f5 0x1145534 0x11433d1 0x114074f 0x11401e9 0x117c508 0x152acfc 0x14b6606 0x1524efd 0x12e9d30 0x133be09 0x133cdd7 0x133d6c8 0x154300e 0x1545054 0x1449a69 0x144ac17 0x1142284 0x18f40de 0x7f564a1e0182 0x7f56492e100d
----- BEGIN BACKTRACE -----
{"backtrace":[{"b":"400000","o":"152DED6"},{"b":"400000","o":"14DFA27"},{"b":"400000","o":"14CB6BC"},{"b":"400000","o":"D46A01"},{"b":"400000","o":"D454F5"},{"b":"400000","o":"D45534"},{"b":"400000","o":"D433D1"},{"b":"400000","o":"D4074F"},{"b":"400000","o":"D401E9"},{"b":"400000","o":"D7C508"},{"b":"400000","o":"112ACFC"},{"b":"400000","o":"10B6606"},{"b":"400000","o":"1124EFD"},{"b":"400000","o":"EE9D30"},{"b":"400000","o":"F3BE09"},{"b":"400000","o":"F3CDD7"},{"b":"400000","o":"F3D6C8"},{"b":"400000","o":"114300E"},{"b":"400000","o":"1145054"},{"b":"400000","o":"1049A69"},{"b":"400000","o":"104AC17"},{"b":"400000","o":"D42284"},{"b":"400000","o":"14F40DE"},{"b":"7F564A1D8000","o":"8182"},{"b":"7F56491E6000","o":"FB00D"}],"processInfo":{ "mongodbVersion" : "3.1.0-pre-", "gitVersion" : "74e5e2904304bef4b874c4ba68fe4e6671e1c12b", "uname" : { "sysname" : "Linux", "release" : "3.13.0-24-generic", "version" : "#47-Ubuntu SMP Fri May 2 23:30:00 UTC 2014", "machine" : "x86_64" }, "somap" : [ { "elfType" : 2, "b" : "400000", "buildId" : "79BD8F8CA4C7D2B22A31D21E678D35E41789A045" }, { "b" : "7FFFCBAFE000", "elfType" : 3, "buildId" : "6755FAD2CADACDF1667E5B57FF1EDFC28DD1C976" }, { "b" : "7F564A1D8000", "path" : "/lib/x86_64-linux-gnu/libpthread.so.0", "elfType" : 3, "buildId" : "9318E8AF0BFBE444731BB0461202EF57F7C39542" }, { "b" : "7F5649FD0000", "path" : "/lib/x86_64-linux-gnu/librt.so.1", "elfType" : 3, "buildId" : "92FCF41EFE012D6186E31A59AD05BDBB487769AB" }, { "b" : "7F5649DCC000", "path" : "/lib/x86_64-linux-gnu/libdl.so.2", "elfType" : 3, "buildId" : "C1AE4CB7195D337A77A3C689051DABAA3980CA0C" }, { "b" : "7F5649AC8000", "path" : "/usr/lib/x86_64-linux-gnu/libstdc++.so.6", "elfType" : 3, "buildId" : "19EFDDAB11B3BF5C71570078C59F91CF6592CE9E" }, { "b" : "7F56497C2000", "path" : "/lib/x86_64-linux-gnu/libm.so.6", "elfType" : 3, "buildId" : "1D76B71E905CB867B27CEF230FCB20F01A3178F5" }, { "b" : "7F56495AC000", "path" : "/lib/x86_64-linux-gnu/libgcc_s.so.1", "elfType" : 3, "buildId" : "8D0AA71411580EE6C08809695C3984769F25725B" }, { "b" : "7F56491E6000", "path" : "/lib/x86_64-linux-gnu/libc.so.6", "elfType" : 3, "buildId" : "882AD7AAD54790E2FA6EF64CA2E6188F06BF9207" }, { "b" : "7F564A3F6000", "path" : "/lib64/ld-linux-x86-64.so.2", "elfType" : 3, "buildId" : "9F00581AB3C73E3AEA35995A0C50D24D59A01D47" } ] }}
 mongod(_ZN5mongo15printStackTraceERSo+0x27) [0x192ded6]
 mongod(_ZN5mongo10logContextEPKc+0x71) [0x18dfa27]
 mongod(_ZN5mongo11msgassertedEiPKc+0xB6) [0x18cb6bc]
 mongod(_ZN5mongo11_BufBuilderINS_16TrivialAllocatorEE15grow_reallocateEi+0xD9) [0x1146a01]
 mongod(_ZN5mongo11_BufBuilderINS_16TrivialAllocatorEE4growEi+0x45) [0x11454f5]
 mongod(_ZN5mongo11_BufBuilderINS_16TrivialAllocatorEE13appendNumImplIcEEvT_+0x22) [0x1145534]
 mongod(_ZN5mongo11_BufBuilderINS_16TrivialAllocatorEE9appendNumEc+0x23) [0x11433d1]
 mongod(_ZN5mongo14BSONObjBuilder5_doneEv+0x7F) [0x114074f]
 mongod(_ZN5mongo14BSONObjBuilderD1Ev+0x5F) [0x11401e9]
 mongod(_ZN5mongo16BSONArrayBuilderD1Ev+0x1C) [0x117c508]
 mongod(_ZN5mongolsERNS_25BSONObjBuilderValueStreamERKNS_5ValueE+0x864) [0x152acfc]
 mongod(_ZNK5mongo8Document6toBsonEPNS_14BSONObjBuilderE+0x76) [0x14b6606]
 mongod(_ZN5mongo8Pipeline3runERNS_14BSONObjBuilderE+0x10B) [0x1524efd]
 mongod(_ZN5mongo15PipelineCommand3runEPNS_16OperationContextERKSsRNS_7BSONObjEiRSsRNS_14BSONObjBuilderEb+0x88C) [0x12e9d30]
 mongod(_ZN5mongo12_execCommandEPNS_16OperationContextEPNS_7CommandERKSsRNS_7BSONObjEiRSsRNS_14BSONObjBuilderEb+0x96) [0x133be09]
 mongod(_ZN5mongo7Command11execCommandEPNS_16OperationContextEPS0_iPKcRNS_7BSONObjERNS_14BSONObjBuilderEb+0xBD1) [0x133cdd7]
 mongod(_ZN5mongo12_runCommandsEPNS_16OperationContextEPKcRNS_7BSONObjERNS_11_BufBuilderINS_16TrivialAllocatorEEERNS_14BSONObjBuilderEbi+0x4A3) [0x133d6c8]
 mongod(+0x114300E) [0x154300e]
 mongod(_ZN5mongo8runQueryEPNS_16OperationContextERNS_7MessageERNS_12QueryMessageERKNS_15NamespaceStringERNS_5CurOpES3_b+0x37C) [0x1545054]
 mongod(+0x1049A69) [0x1449a69]
 mongod(_ZN5mongo16assembleResponseEPNS_16OperationContextERNS_7MessageERNS_10DbResponseERKNS_11HostAndPortEb+0x4F9) [0x144ac17]
 mongod(_ZN5mongo16MyMessageHandler7processERNS_7MessageEPNS_21AbstractMessagingPortEPNS_9LastErrorE+0xF6) [0x1142284]
 mongod(_ZN5mongo17PortMessageServer17handleIncomingMsgEPv+0x40D) [0x18f40de]
 libpthread.so.0(+0x8182) [0x7f564a1e0182]
 libc.so.6(clone+0x6D) [0x7f56492e100d]
-----  END BACKTRACE  -----
2015-02-08T19:50:12.186-0500 F -        [conn1] terminate() called. An exception is active; attempting to gather more information
2015-02-08T19:50:12.202-0500 F -        [conn1] DBException::toString(): 13548 BufBuilder attempted to grow() to 134217728 bytes, past the 64MB limit.
Actual exception type: mongo::MsgAssertionException
 
 0x192ded6 0x192d4d5 0x7f5649b26836 0x7f5649b258f9 0x7f5649b264aa 0x7f56495bbff3 0x7f56495bc517 0x1146a96 0x11454f5 0x1145534 0x11433d1 0x114074f 0x11401e9 0x117c508 0x152acfc 0x14b6606 0x1524efd 0x12e9d30 0x133be09 0x133cdd7 0x133d6c8 0x154300e 0x1545054 0x1449a69 0x144ac17 0x1142284 0x18f40de 0x7f564a1e0182 0x7f56492e100d
----- BEGIN BACKTRACE -----
{"backtrace":[{"b":"400000","o":"152DED6"},{"b":"400000","o":"152D4D5"},{"b":"7F5649AC8000","o":"5E836"},{"b":"7F5649AC8000","o":"5D8F9"},{"b":"7F5649AC8000","o":"5E4AA"},{"b":"7F56495AC000","o":"FFF3"},{"b":"7F56495AC000","o":"10517"},{"b":"400000","o":"D46A96"},{"b":"400000","o":"D454F5"},{"b":"400000","o":"D45534"},{"b":"400000","o":"D433D1"},{"b":"400000","o":"D4074F"},{"b":"400000","o":"D401E9"},{"b":"400000","o":"D7C508"},{"b":"400000","o":"112ACFC"},{"b":"400000","o":"10B6606"},{"b":"400000","o":"1124EFD"},{"b":"400000","o":"EE9D30"},{"b":"400000","o":"F3BE09"},{"b":"400000","o":"F3CDD7"},{"b":"400000","o":"F3D6C8"},{"b":"400000","o":"114300E"},{"b":"400000","o":"1145054"},{"b":"400000","o":"1049A69"},{"b":"400000","o":"104AC17"},{"b":"400000","o":"D42284"},{"b":"400000","o":"14F40DE"},{"b":"7F564A1D8000","o":"8182"},{"b":"7F56491E6000","o":"FB00D"}],"processInfo":{ "mongodbVersion" : "3.1.0-pre-", "gitVersion" : "74e5e2904304bef4b874c4ba68fe4e6671e1c12b", "uname" : { "sysname" : "Linux", "release" : "3.13.0-24-generic", "version" : "#47-Ubuntu SMP Fri May 2 23:30:00 UTC 2014", "machine" : "x86_64" }, "somap" : [ { "elfType" : 2, "b" : "400000", "buildId" : "79BD8F8CA4C7D2B22A31D21E678D35E41789A045" }, { "b" : "7FFFCBAFE000", "elfType" : 3, "buildId" : "6755FAD2CADACDF1667E5B57FF1EDFC28DD1C976" }, { "b" : "7F564A1D8000", "path" : "/lib/x86_64-linux-gnu/libpthread.so.0", "elfType" : 3, "buildId" : "9318E8AF0BFBE444731BB0461202EF57F7C39542" }, { "b" : "7F5649FD0000", "path" : "/lib/x86_64-linux-gnu/librt.so.1", "elfType" : 3, "buildId" : "92FCF41EFE012D6186E31A59AD05BDBB487769AB" }, { "b" : "7F5649DCC000", "path" : "/lib/x86_64-linux-gnu/libdl.so.2", "elfType" : 3, "buildId" : "C1AE4CB7195D337A77A3C689051DABAA3980CA0C" }, { "b" : "7F5649AC8000", "path" : "/usr/lib/x86_64-linux-gnu/libstdc++.so.6", "elfType" : 3, "buildId" : "19EFDDAB11B3BF5C71570078C59F91CF6592CE9E" }, { "b" : "7F56497C2000", "path" : "/lib/x86_64-linux-gnu/libm.so.6", "elfType" : 3, "buildId" : "1D76B71E905CB867B27CEF230FCB20F01A3178F5" }, { "b" : "7F56495AC000", "path" : "/lib/x86_64-linux-gnu/libgcc_s.so.1", "elfType" : 3, "buildId" : "8D0AA71411580EE6C08809695C3984769F25725B" }, { "b" : "7F56491E6000", "path" : "/lib/x86_64-linux-gnu/libc.so.6", "elfType" : 3, "buildId" : "882AD7AAD54790E2FA6EF64CA2E6188F06BF9207" }, { "b" : "7F564A3F6000", "path" : "/lib64/ld-linux-x86-64.so.2", "elfType" : 3, "buildId" : "9F00581AB3C73E3AEA35995A0C50D24D59A01D47" } ] }}
 mongod(_ZN5mongo15printStackTraceERSo+0x27) [0x192ded6]
 mongod(+0x152D4D5) [0x192d4d5]
 libstdc++.so.6(+0x5E836) [0x7f5649b26836]
 libstdc++.so.6(+0x5D8F9) [0x7f5649b258f9]
 libstdc++.so.6(__gxx_personality_v0+0x52A) [0x7f5649b264aa]
 libgcc_s.so.1(+0xFFF3) [0x7f56495bbff3]
 libgcc_s.so.1(_Unwind_Resume+0x57) [0x7f56495bc517]
 mongod(_ZN5mongo11_BufBuilderINS_16TrivialAllocatorEE15grow_reallocateEi+0x16E) [0x1146a96]
 mongod(_ZN5mongo11_BufBuilderINS_16TrivialAllocatorEE4growEi+0x45) [0x11454f5]
 mongod(_ZN5mongo11_BufBuilderINS_16TrivialAllocatorEE13appendNumImplIcEEvT_+0x22) [0x1145534]
 mongod(_ZN5mongo11_BufBuilderINS_16TrivialAllocatorEE9appendNumEc+0x23) [0x11433d1]
 mongod(_ZN5mongo14BSONObjBuilder5_doneEv+0x7F) [0x114074f]
 mongod(_ZN5mongo14BSONObjBuilderD1Ev+0x5F) [0x11401e9]
 mongod(_ZN5mongo16BSONArrayBuilderD1Ev+0x1C) [0x117c508]
 mongod(_ZN5mongolsERNS_25BSONObjBuilderValueStreamERKNS_5ValueE+0x864) [0x152acfc]
 mongod(_ZNK5mongo8Document6toBsonEPNS_14BSONObjBuilderE+0x76) [0x14b6606]
 mongod(_ZN5mongo8Pipeline3runERNS_14BSONObjBuilderE+0x10B) [0x1524efd]
 mongod(_ZN5mongo15PipelineCommand3runEPNS_16OperationContextERKSsRNS_7BSONObjEiRSsRNS_14BSONObjBuilderEb+0x88C) [0x12e9d30]
 mongod(_ZN5mongo12_execCommandEPNS_16OperationContextEPNS_7CommandERKSsRNS_7BSONObjEiRSsRNS_14BSONObjBuilderEb+0x96) [0x133be09]
 mongod(_ZN5mongo7Command11execCommandEPNS_16OperationContextEPS0_iPKcRNS_7BSONObjERNS_14BSONObjBuilderEb+0xBD1) [0x133cdd7]
 mongod(_ZN5mongo12_runCommandsEPNS_16OperationContextEPKcRNS_7BSONObjERNS_11_BufBuilderINS_16TrivialAllocatorEEERNS_14BSONObjBuilderEbi+0x4A3) [0x133d6c8]
 mongod(+0x114300E) [0x154300e]
 mongod(_ZN5mongo8runQueryEPNS_16OperationContextERNS_7MessageERNS_12QueryMessageERKNS_15NamespaceStringERNS_5CurOpES3_b+0x37C) [0x1545054]
 mongod(+0x1049A69) [0x1449a69]
 mongod(_ZN5mongo16assembleResponseEPNS_16OperationContextERNS_7MessageERNS_10DbResponseERKNS_11HostAndPortEb+0x4F9) [0x144ac17]
 mongod(_ZN5mongo16MyMessageHandler7processERNS_7MessageEPNS_21AbstractMessagingPortEPNS_9LastErrorE+0xF6) [0x1142284]
 mongod(_ZN5mongo17PortMessageServer17handleIncomingMsgEPv+0x40D) [0x18f40de]
 libpthread.so.0(+0x8182) [0x7f564a1e0182]
 libc.so.6(clone+0x6D) [0x7f56492e100d]
-----  END BACKTRACE  -----



 Comments   
Comment by Githook User [ 06/Mar/15 ]

Author:

{u'username': u'RedBeard0531', u'name': u'Mathias Stearn', u'email': u'mathias@10gen.com'}

Message: SERVER-17224 Reserve room for EOO byte when starting BSONObj building

Since _done() is called from ~BSONObjBuilder we need to ensure that it cannot
fail. This prevents a double exception leading to a std::terminate call.

This also resolves SERVER-17226.

(cherry picked from commit a0db9321139e8da657638ddbe7e86d8bac9ea3cc)
Branch: v2.6
https://github.com/mongodb/mongo/commit/b6a66a0c3494687c8b059d5f39de072a22e650a4

Comment by Githook User [ 05/Mar/15 ]

Author:

{u'username': u'RedBeard0531', u'name': u'Mathias Stearn', u'email': u'mathias@10gen.com'}

Message: SERVER-17224 Reserve room for EOO byte when starting BSONObj building

Since _done() is called from ~BSONObjBuilder we need to ensure that it cannot
fail. This prevents a double exception leading to a std::terminate call.

This also resolves SERVER-17226.

(cherry picked from commit a0db9321139e8da657638ddbe7e86d8bac9ea3cc)
Branch: v3.0
https://github.com/mongodb/mongo/commit/0cbcdfd5b4cd4961b448f1a35fd0d4ea19629b93

Comment by Githook User [ 05/Mar/15 ]

Author:

{u'username': u'RedBeard0531', u'name': u'Mathias Stearn', u'email': u'mathias@10gen.com'}

Message: SERVER-17224 Reserve room for EOO byte when starting BSONObj building

Since _done() is called from ~BSONObjBuilder we need to ensure that it cannot
fail. This prevents a double exception leading to a std::terminate call.

This also resolves SERVER-17226.
Branch: master
https://github.com/mongodb/mongo/commit/a0db9321139e8da657638ddbe7e86d8bac9ea3cc

Generated at Thu Feb 08 03:43:42 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.