Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-15758

Memory leak when running find_dedup.js test

    • Fully Compatible
    • ALL
    • Hide
      • Build mongod with address sanitizer enabled by passing the --sanitize=address flag to the build
      • Start mongod with the leak sanitizer enabled:
        • LSAN_OPTIONS="suppressions=etc/lsan.suppressions" ASAN_OPTIONS=detect_leaks=1 ASAN_SYMBOLIZER_PATH=<path-to-symbolizer> ./mongod
      • Run mongo jstests/core/find_dedup.js

      Please ask acm for the suppressions file as it is not yet checked in.

      Show
      Build mongod with address sanitizer enabled by passing the --sanitize=address flag to the build Start mongod with the leak sanitizer enabled: LSAN_OPTIONS="suppressions=etc/lsan.suppressions" ASAN_OPTIONS=detect_leaks=1 ASAN_SYMBOLIZER_PATH=<path-to-symbolizer> ./mongod Run mongo jstests/core/find_dedup.js Please ask acm for the suppressions file as it is not yet checked in.

      The leak sanitizer is reporting the following when running find_dedup.js:

      =================================================================
      ==3042==ERROR: LeakSanitizer: detected memory leaks
      
      Direct leak of 80 byte(s) in 2 object(s) allocated from:
          #0 0x92ab79 in operator new(unsigned long) (/home/andrew/Documents/10gen/dev/src/mongodb/mongod+0x92ab79)
          #1 0x1946dd7 in mongo::QueryPlannerAnalysis::analyzeDataAccess(mongo::CanonicalQuery const&, mongo::QueryPlannerParams const&, mongo::QuerySolutionNode*) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/query/planner_analysis.cpp:519
          #2 0x19776b1 in mongo::QueryPlanner::plan(mongo::CanonicalQuery const&, mongo::QueryPlannerParams const&, std::vector<mongo::QuerySolution*, std::allocator<mongo::QuerySolution*> >*) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/query/query_planner.cpp:921
          #3 0x1274b61 in mongo::SubplanStage::choosePlanWholeQuery(mongo::PlanYieldPolicy*) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/exec/subplan.cpp:371
          #4 0x12778a9 in mongo::SubplanStage::pickBestPlan(mongo::PlanYieldPolicy*) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/exec/subplan.cpp:441
          #5 0x191e3ae in boost::scoped_ptr<mongo::PlanYieldPolicy>::get() const /home/andrew/Documents/10gen/dev/src/mongodb/src/third_party/boost/boost/smart_ptr/scoped_ptr.hpp:103
          #6 0x191e3ae in mongo::PlanExecutor::pickBestPlan(mongo::PlanExecutor::YieldPolicy) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/query/plan_executor.cpp:173
          #7 0x191e3ae in mongo::PlanExecutor::make(mongo::OperationContext*, mongo::WorkingSet*, mongo::PlanStage*, mongo::QuerySolution*, mongo::CanonicalQuery*, mongo::Collection const*, std::string const&, mongo::PlanExecutor::YieldPolicy, mongo::PlanExecutor**) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/query/plan_executor.cpp:125
          #8 0x191ed19 in mongo::PlanExecutor::make(mongo::OperationContext*, mongo::WorkingSet*, mongo::PlanStage*, mongo::QuerySolution*, mongo::CanonicalQuery*, mongo::Collection const*, mongo::PlanExecutor::YieldPolicy, mongo::PlanExecutor**) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/query/plan_executor.cpp:109
          #9 0x18575d7 in mongo::getExecutor(mongo::OperationContext*, mongo::Collection*, mongo::CanonicalQuery*, mongo::PlanExecutor::YieldPolicy, mongo::PlanExecutor**, unsigned long) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/query/get_executor.cpp:407
          #10 0x18d265c in mongo::newRunQuery(mongo::OperationContext*, mongo::Message&, mongo::QueryMessage&, mongo::CurOp&, mongo::Message&, bool) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/query/new_find.cpp:598
          #11 0x14137d4 in mongo::receivedQuery(mongo::OperationContext*, mongo::Client&, mongo::DbResponse&, mongo::Message&, bool) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/instance.cpp:272
          #12 0x14137d4 in mongo::assembleResponse(mongo::OperationContext*, mongo::Message&, mongo::DbResponse&, mongo::HostAndPort const&, bool) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/instance.cpp:445
          #13 0x9618f9 in mongo::MyMessageHandler::process(mongo::Message&, mongo::AbstractMessagingPort*, mongo::LastError*) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/db.cpp:184
          #14 0x26481f8 in mongo::PortMessageServer::handleIncomingMsg(void*) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/util/net/message_server_port.cpp:234
          #15 0x7f53cd3d5181 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x8181)
      
      Indirect leak of 1024 byte(s) in 4 object(s) allocated from:
          #0 0x92ab79 in operator new(unsigned long) (/home/andrew/Documents/10gen/dev/src/mongodb/mongod+0x92ab79)
          #1 0x14b33a6 in mongo::InMatchExpression::shallowClone() const /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/matcher/expression_leaf.cpp:596
          #2 0x14e9b85 in mongo::OrMatchExpression::shallowClone() const /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/matcher/expression_tree.h:111
          #3 0x192c214 in mongo::QueryPlannerAccess::makeCollectionScan(mongo::CanonicalQuery const&, bool, mongo::QueryPlannerParams const&) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/query/planner_access.cpp:72
          #4 0x1977699 in mongo::QueryPlanner::plan(mongo::CanonicalQuery const&, mongo::QueryPlannerParams const&, std::vector<mongo::QuerySolution*, std::allocator<mongo::QuerySolution*> >*) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/query/query_planner.cpp:921
          #5 0x1274b61 in mongo::SubplanStage::choosePlanWholeQuery(mongo::PlanYieldPolicy*) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/exec/subplan.cpp:371
          #6 0x12778a9 in mongo::SubplanStage::pickBestPlan(mongo::PlanYieldPolicy*) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/exec/subplan.cpp:441
          #7 0x191e3ae in boost::scoped_ptr<mongo::PlanYieldPolicy>::get() const /home/andrew/Documents/10gen/dev/src/mongodb/src/third_party/boost/boost/smart_ptr/scoped_ptr.hpp:103
          #8 0x191e3ae in mongo::PlanExecutor::pickBestPlan(mongo::PlanExecutor::YieldPolicy) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/query/plan_executor.cpp:173
          #9 0x191e3ae in mongo::PlanExecutor::make(mongo::OperationContext*, mongo::WorkingSet*, mongo::PlanStage*, mongo::QuerySolution*, mongo::CanonicalQuery*, mongo::Collection const*, std::string const&, mongo::PlanExecutor::YieldPolicy, mongo::PlanExecutor**) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/query/plan_executor.cpp:125
          #10 0x191ed19 in mongo::PlanExecutor::make(mongo::OperationContext*, mongo::WorkingSet*, mongo::PlanStage*, mongo::QuerySolution*, mongo::CanonicalQuery*, mongo::Collection const*, mongo::PlanExecutor::YieldPolicy, mongo::PlanExecutor**) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/query/plan_executor.cpp:109
          #11 0x18575d7 in mongo::getExecutor(mongo::OperationContext*, mongo::Collection*, mongo::CanonicalQuery*, mongo::PlanExecutor::YieldPolicy, mongo::PlanExecutor**, unsigned long) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/query/get_executor.cpp:407
          #12 0x18d265c in mongo::newRunQuery(mongo::OperationContext*, mongo::Message&, mongo::QueryMessage&, mongo::CurOp&, mongo::Message&, bool) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/query/new_find.cpp:598
          #13 0x14137d4 in mongo::receivedQuery(mongo::OperationContext*, mongo::Client&, mongo::DbResponse&, mongo::Message&, bool) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/instance.cpp:272
          #14 0x14137d4 in mongo::assembleResponse(mongo::OperationContext*, mongo::Message&, mongo::DbResponse&, mongo::HostAndPort const&, bool) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/instance.cpp:445
          #15 0x9618f9 in mongo::MyMessageHandler::process(mongo::Message&, mongo::AbstractMessagingPort*, mongo::LastError*) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/db.cpp:184
          #16 0x26481f8 in mongo::PortMessageServer::handleIncomingMsg(void*) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/util/net/message_server_port.cpp:234
          #17 0x7f53cd3d5181 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x8181)
      
      Indirect leak of 240 byte(s) in 2 object(s) allocated from:
          #0 0x92ab79 in operator new(unsigned long) (/home/andrew/Documents/10gen/dev/src/mongodb/mongod+0x92ab79)
          #1 0x192c181 in mongo::QueryPlannerAccess::makeCollectionScan(mongo::CanonicalQuery const&, bool, mongo::QueryPlannerParams const&) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/query/planner_access.cpp:70
          #2 0x1977699 in mongo::QueryPlanner::plan(mongo::CanonicalQuery const&, mongo::QueryPlannerParams const&, std::vector<mongo::QuerySolution*, std::allocator<mongo::QuerySolution*> >*) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/query/query_planner.cpp:921
          #3 0x1274b61 in mongo::SubplanStage::choosePlanWholeQuery(mongo::PlanYieldPolicy*) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/exec/subplan.cpp:371
          #4 0x12778a9 in mongo::SubplanStage::pickBestPlan(mongo::PlanYieldPolicy*) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/exec/subplan.cpp:441
          #5 0x191e3ae in boost::scoped_ptr<mongo::PlanYieldPolicy>::get() const /home/andrew/Documents/10gen/dev/src/mongodb/src/third_party/boost/boost/smart_ptr/scoped_ptr.hpp:103
          #6 0x191e3ae in mongo::PlanExecutor::pickBestPlan(mongo::PlanExecutor::YieldPolicy) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/query/plan_executor.cpp:173
          #7 0x191e3ae in mongo::PlanExecutor::make(mongo::OperationContext*, mongo::WorkingSet*, mongo::PlanStage*, mongo::QuerySolution*, mongo::CanonicalQuery*, mongo::Collection const*, std::string const&, mongo::PlanExecutor::YieldPolicy, mongo::PlanExecutor**) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/query/plan_executor.cpp:125
          #8 0x191ed19 in mongo::PlanExecutor::make(mongo::OperationContext*, mongo::WorkingSet*, mongo::PlanStage*, mongo::QuerySolution*, mongo::CanonicalQuery*, mongo::Collection const*, mongo::PlanExecutor::YieldPolicy, mongo::PlanExecutor**) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/query/plan_executor.cpp:109
          #9 0x18575d7 in mongo::getExecutor(mongo::OperationContext*, mongo::Collection*, mongo::CanonicalQuery*, mongo::PlanExecutor::YieldPolicy, mongo::PlanExecutor**, unsigned long) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/query/get_executor.cpp:407
          #10 0x18d265c in mongo::newRunQuery(mongo::OperationContext*, mongo::Message&, mongo::QueryMessage&, mongo::CurOp&, mongo::Message&, bool) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/query/new_find.cpp:598
          #11 0x14137d4 in mongo::receivedQuery(mongo::OperationContext*, mongo::Client&, mongo::DbResponse&, mongo::Message&, bool) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/instance.cpp:272
          #12 0x14137d4 in mongo::assembleResponse(mongo::OperationContext*, mongo::Message&, mongo::DbResponse&, mongo::HostAndPort const&, bool) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/instance.cpp:445
          #13 0x9618f9 in mongo::MyMessageHandler::process(mongo::Message&, mongo::AbstractMessagingPort*, mongo::LastError*) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/db.cpp:184
          #14 0x26481f8 in mongo::PortMessageServer::handleIncomingMsg(void*) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/util/net/message_server_port.cpp:234
          #15 0x7f53cd3d5181 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x8181)
      
      Indirect leak of 230 byte(s) in 2 object(s) allocated from:
          #0 0x92a4f9 in __interceptor_malloc (/home/andrew/Documents/10gen/dev/src/mongodb/mongod+0x92a4f9)
          #1 0x25cddea in mongo::mongoMalloc(unsigned long) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/util/allocator.cpp:39
          #2 0x9d2e33 in mongo::BSONObj::copy() const /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/bson/bsonobj.cpp:76
          #3 0x9d2e33 in mongo::BSONObj::getOwned() const /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/bson/bsonobj.cpp:84
          #4 0x18c699b in mongo::LiteParsedQuery::init(std::string const&, int, int, int, mongo::BSONObj const&, mongo::BSONObj const&, bool) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/query/lite_parsed_query.cpp:688
          #5 0x18c5c14 in mongo::LiteParsedQuery::make(mongo::QueryMessage const&, mongo::LiteParsedQuery**) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/query/lite_parsed_query.cpp:621
          #6 0x182f5ab in mongo::CanonicalQuery::canonicalize(mongo::QueryMessage const&, mongo::CanonicalQuery**, mongo::MatchExpressionParser::WhereCallback const&) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/query/canonical_query.cpp:428
          #7 0x18d203c in mongo::newRunQuery(mongo::OperationContext*, mongo::Message&, mongo::QueryMessage&, mongo::CurOp&, mongo::Message&, bool) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/query/new_find.cpp:554
          #8 0x14137d4 in mongo::receivedQuery(mongo::OperationContext*, mongo::Client&, mongo::DbResponse&, mongo::Message&, bool) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/instance.cpp:272
          #9 0x14137d4 in mongo::assembleResponse(mongo::OperationContext*, mongo::Message&, mongo::DbResponse&, mongo::HostAndPort const&, bool) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/instance.cpp:445
          #10 0x9618f9 in mongo::MyMessageHandler::process(mongo::Message&, mongo::AbstractMessagingPort*, mongo::LastError*) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/db.cpp:184
          #11 0x26481f8 in mongo::PortMessageServer::handleIncomingMsg(void*) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/util/net/message_server_port.cpp:234
          #12 0x7f53cd3d5181 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x8181)
      
      Indirect leak of 192 byte(s) in 4 object(s) allocated from:
          #0 0x92ab79 in operator new(unsigned long) (/home/andrew/Documents/10gen/dev/src/mongodb/mongod+0x92ab79)
          #1 0x14b70a3 in __gnu_cxx::new_allocator<std::_Rb_tree_node<mongo::BSONElement> >::allocate(unsigned long, void const*) /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/ext/new_allocator.h:104
          #2 0x14b70a3 in std::_Rb_tree<mongo::BSONElement, mongo::BSONElement, std::_Identity<mongo::BSONElement>, mongo::BSONElementCmpWithoutField, std::allocator<mongo::BSONElement> >::_M_get_node() /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/stl_tree.h:370
          #3 0x14b70a3 in std::_Rb_tree_node<mongo::BSONElement>* std::_Rb_tree<mongo::BSONElement, mongo::BSONElement, std::_Identity<mongo::BSONElement>, mongo::BSONElementCmpWithoutField, std::allocator<mongo::BSONElement> >::_M_create_node<mongo::BSONElement const&>(mongo::BSONElement const&) /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/stl_tree.h:403
          #4 0x14b70a3 in std::_Rb_tree<mongo::BSONElement, mongo::BSONElement, std::_Identity<mongo::BSONElement>, mongo::BSONElementCmpWithoutField, std::allocator<mongo::BSONElement> >::_M_clone_node(std::_Rb_tree_node<mongo::BSONElement> const*) /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/stl_tree.h:429
          #5 0x14b70a3 in std::_Rb_tree<mongo::BSONElement, mongo::BSONElement, std::_Identity<mongo::BSONElement>, mongo::BSONElementCmpWithoutField, std::allocator<mongo::BSONElement> >::_M_copy(std::_Rb_tree_node<mongo::BSONElement> const*, std::_Rb_tree_node<mongo::BSONElement>*) /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/stl_tree.h:1087
          #6 0x14b0408 in std::_Rb_tree<mongo::BSONElement, mongo::BSONElement, std::_Identity<mongo::BSONElement>, mongo::BSONElementCmpWithoutField, std::allocator<mongo::BSONElement> >::operator=(std::_Rb_tree<mongo::BSONElement, mongo::BSONElement, std::_Identity<mongo::BSONElement>, mongo::BSONElementCmpWithoutField, std::allocator<mongo::BSONElement> > const&) /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/stl_tree.h:997
          #7 0x14b0408 in std::set<mongo::BSONElement, mongo::BSONElementCmpWithoutField, std::allocator<mongo::BSONElement> >::operator=(std::set<mongo::BSONElement, mongo::BSONElementCmpWithoutField, std::allocator<mongo::BSONElement> > const&) /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/stl_set.h:235
          #8 0x14b0408 in mongo::ArrayFilterEntries::copyTo(mongo::ArrayFilterEntries&) const /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/matcher/expression_leaf.cpp:497
          #9 0x14b39c3 in mongo::InMatchExpression::copyTo(mongo::InMatchExpression*) const /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/matcher/expression_leaf.cpp:606
          #10 0x14b35a0 in mongo::InMatchExpression::shallowClone() const /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/matcher/expression_leaf.cpp:597
          #11 0x14e9b85 in mongo::OrMatchExpression::shallowClone() const /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/matcher/expression_tree.h:111
          #12 0x192c214 in mongo::QueryPlannerAccess::makeCollectionScan(mongo::CanonicalQuery const&, bool, mongo::QueryPlannerParams const&) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/query/planner_access.cpp:72
          #13 0x1977699 in mongo::QueryPlanner::plan(mongo::CanonicalQuery const&, mongo::QueryPlannerParams const&, std::vector<mongo::QuerySolution*, std::allocator<mongo::QuerySolution*> >*) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/query/query_planner.cpp:921
          #14 0x1274b61 in mongo::SubplanStage::choosePlanWholeQuery(mongo::PlanYieldPolicy*) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/exec/subplan.cpp:371
          #15 0x12778a9 in mongo::SubplanStage::pickBestPlan(mongo::PlanYieldPolicy*) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/exec/subplan.cpp:441
          #16 0x191e3ae in boost::scoped_ptr<mongo::PlanYieldPolicy>::get() const /home/andrew/Documents/10gen/dev/src/mongodb/src/third_party/boost/boost/smart_ptr/scoped_ptr.hpp:103
          #17 0x191e3ae in mongo::PlanExecutor::pickBestPlan(mongo::PlanExecutor::YieldPolicy) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/query/plan_executor.cpp:173
          #18 0x191e3ae in mongo::PlanExecutor::make(mongo::OperationContext*, mongo::WorkingSet*, mongo::PlanStage*, mongo::QuerySolution*, mongo::CanonicalQuery*, mongo::Collection const*, std::string const&, mongo::PlanExecutor::YieldPolicy, mongo::PlanExecutor**) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/query/plan_executor.cpp:125
          #19 0x191ed19 in mongo::PlanExecutor::make(mongo::OperationContext*, mongo::WorkingSet*, mongo::PlanStage*, mongo::QuerySolution*, mongo::CanonicalQuery*, mongo::Collection const*, mongo::PlanExecutor::YieldPolicy, mongo::PlanExecutor**) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/query/plan_executor.cpp:109
          #20 0x18575d7 in mongo::getExecutor(mongo::OperationContext*, mongo::Collection*, mongo::CanonicalQuery*, mongo::PlanExecutor::YieldPolicy, mongo::PlanExecutor**, unsigned long) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/query/get_executor.cpp:407
          #21 0x18d265c in mongo::newRunQuery(mongo::OperationContext*, mongo::Message&, mongo::QueryMessage&, mongo::CurOp&, mongo::Message&, bool) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/query/new_find.cpp:598
          #22 0x14137d4 in mongo::receivedQuery(mongo::OperationContext*, mongo::Client&, mongo::DbResponse&, mongo::Message&, bool) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/instance.cpp:272
          #23 0x14137d4 in mongo::assembleResponse(mongo::OperationContext*, mongo::Message&, mongo::DbResponse&, mongo::HostAndPort const&, bool) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/instance.cpp:445
          #24 0x9618f9 in mongo::MyMessageHandler::process(mongo::Message&, mongo::AbstractMessagingPort*, mongo::LastError*) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/db.cpp:184
          #25 0x26481f8 in mongo::PortMessageServer::handleIncomingMsg(void*) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/util/net/message_server_port.cpp:234
          #26 0x7f53cd3d5181 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x8181)
      
      Indirect leak of 192 byte(s) in 4 object(s) allocated from:
          #0 0x92ab79 in operator new(unsigned long) (/home/andrew/Documents/10gen/dev/src/mongodb/mongod+0x92ab79)
          #1 0x14b70a3 in __gnu_cxx::new_allocator<std::_Rb_tree_node<mongo::BSONElement> >::allocate(unsigned long, void const*) /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/ext/new_allocator.h:104
          #2 0x14b70a3 in std::_Rb_tree<mongo::BSONElement, mongo::BSONElement, std::_Identity<mongo::BSONElement>, mongo::BSONElementCmpWithoutField, std::allocator<mongo::BSONElement> >::_M_get_node() /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/stl_tree.h:370
          #3 0x14b70a3 in std::_Rb_tree_node<mongo::BSONElement>* std::_Rb_tree<mongo::BSONElement, mongo::BSONElement, std::_Identity<mongo::BSONElement>, mongo::BSONElementCmpWithoutField, std::allocator<mongo::BSONElement> >::_M_create_node<mongo::BSONElement const&>(mongo::BSONElement const&) /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/stl_tree.h:403
          #4 0x14b70a3 in std::_Rb_tree<mongo::BSONElement, mongo::BSONElement, std::_Identity<mongo::BSONElement>, mongo::BSONElementCmpWithoutField, std::allocator<mongo::BSONElement> >::_M_clone_node(std::_Rb_tree_node<mongo::BSONElement> const*) /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/stl_tree.h:429
          #5 0x14b70a3 in std::_Rb_tree<mongo::BSONElement, mongo::BSONElement, std::_Identity<mongo::BSONElement>, mongo::BSONElementCmpWithoutField, std::allocator<mongo::BSONElement> >::_M_copy(std::_Rb_tree_node<mongo::BSONElement> const*, std::_Rb_tree_node<mongo::BSONElement>*) /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/stl_tree.h:1087
          #6 0x14b7264 in std::_Rb_tree<mongo::BSONElement, mongo::BSONElement, std::_Identity<mongo::BSONElement>, mongo::BSONElementCmpWithoutField, std::allocator<mongo::BSONElement> >::_M_copy(std::_Rb_tree_node<mongo::BSONElement> const*, std::_Rb_tree_node<mongo::BSONElement>*) /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/stl_tree.h:1093
          #7 0x14b0408 in std::_Rb_tree<mongo::BSONElement, mongo::BSONElement, std::_Identity<mongo::BSONElement>, mongo::BSONElementCmpWithoutField, std::allocator<mongo::BSONElement> >::operator=(std::_Rb_tree<mongo::BSONElement, mongo::BSONElement, std::_Identity<mongo::BSONElement>, mongo::BSONElementCmpWithoutField, std::allocator<mongo::BSONElement> > const&) /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/stl_tree.h:997
          #8 0x14b0408 in std::set<mongo::BSONElement, mongo::BSONElementCmpWithoutField, std::allocator<mongo::BSONElement> >::operator=(std::set<mongo::BSONElement, mongo::BSONElementCmpWithoutField, std::allocator<mongo::BSONElement> > const&) /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/stl_set.h:235
          #9 0x14b0408 in mongo::ArrayFilterEntries::copyTo(mongo::ArrayFilterEntries&) const /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/matcher/expression_leaf.cpp:497
          #10 0x14b39c3 in mongo::InMatchExpression::copyTo(mongo::InMatchExpression*) const /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/matcher/expression_leaf.cpp:606
          #11 0x14b35a0 in mongo::InMatchExpression::shallowClone() const /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/matcher/expression_leaf.cpp:597
          #12 0x14e9b85 in mongo::OrMatchExpression::shallowClone() const /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/matcher/expression_tree.h:111
          #13 0x192c214 in mongo::QueryPlannerAccess::makeCollectionScan(mongo::CanonicalQuery const&, bool, mongo::QueryPlannerParams const&) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/query/planner_access.cpp:72
          #14 0x1977699 in mongo::QueryPlanner::plan(mongo::CanonicalQuery const&, mongo::QueryPlannerParams const&, std::vector<mongo::QuerySolution*, std::allocator<mongo::QuerySolution*> >*) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/query/query_planner.cpp:921
          #15 0x1274b61 in mongo::SubplanStage::choosePlanWholeQuery(mongo::PlanYieldPolicy*) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/exec/subplan.cpp:371
          #16 0x12778a9 in mongo::SubplanStage::pickBestPlan(mongo::PlanYieldPolicy*) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/exec/subplan.cpp:441
          #17 0x191e3ae in boost::scoped_ptr<mongo::PlanYieldPolicy>::get() const /home/andrew/Documents/10gen/dev/src/mongodb/src/third_party/boost/boost/smart_ptr/scoped_ptr.hpp:103
          #18 0x191e3ae in mongo::PlanExecutor::pickBestPlan(mongo::PlanExecutor::YieldPolicy) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/query/plan_executor.cpp:173
          #19 0x191e3ae in mongo::PlanExecutor::make(mongo::OperationContext*, mongo::WorkingSet*, mongo::PlanStage*, mongo::QuerySolution*, mongo::CanonicalQuery*, mongo::Collection const*, std::string const&, mongo::PlanExecutor::YieldPolicy, mongo::PlanExecutor**) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/query/plan_executor.cpp:125
          #20 0x191ed19 in mongo::PlanExecutor::make(mongo::OperationContext*, mongo::WorkingSet*, mongo::PlanStage*, mongo::QuerySolution*, mongo::CanonicalQuery*, mongo::Collection const*, mongo::PlanExecutor::YieldPolicy, mongo::PlanExecutor**) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/query/plan_executor.cpp:109
          #21 0x18575d7 in mongo::getExecutor(mongo::OperationContext*, mongo::Collection*, mongo::CanonicalQuery*, mongo::PlanExecutor::YieldPolicy, mongo::PlanExecutor**, unsigned long) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/query/get_executor.cpp:407
          #22 0x18d265c in mongo::newRunQuery(mongo::OperationContext*, mongo::Message&, mongo::QueryMessage&, mongo::CurOp&, mongo::Message&, bool) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/query/new_find.cpp:598
          #23 0x14137d4 in mongo::receivedQuery(mongo::OperationContext*, mongo::Client&, mongo::DbResponse&, mongo::Message&, bool) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/instance.cpp:272
          #24 0x14137d4 in mongo::assembleResponse(mongo::OperationContext*, mongo::Message&, mongo::DbResponse&, mongo::HostAndPort const&, bool) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/instance.cpp:445
          #25 0x9618f9 in mongo::MyMessageHandler::process(mongo::Message&, mongo::AbstractMessagingPort*, mongo::LastError*) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/db.cpp:184
          #26 0x26481f8 in mongo::PortMessageServer::handleIncomingMsg(void*) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/util/net/message_server_port.cpp:234
          #27 0x7f53cd3d5181 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x8181)
      
      Indirect leak of 104 byte(s) in 4 object(s) allocated from:
          #0 0x92ab79 in operator new(unsigned long) (/home/andrew/Documents/10gen/dev/src/mongodb/mongod+0x92ab79)
          #1 0x7f53cc73f3b8 (/usr/lib/x86_64-linux-gnu/libstdc++.so.6+0xba3b8)
          #2 0x14f4f15 in mongo::ElementPath::init(mongo::StringData const&) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/matcher/path.cpp:44
          #3 0x14b392b in mongo::LeafMatchExpression::initPath(mongo::StringData const&) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/matcher/expression_leaf.cpp:49
          #4 0x14b392b in mongo::InMatchExpression::init(mongo::StringData const&) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/matcher/expression_leaf.cpp:531
          #5 0x14b392b in mongo::InMatchExpression::copyTo(mongo::InMatchExpression*) const /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/matcher/expression_leaf.cpp:605
          #6 0x14b35a0 in mongo::InMatchExpression::shallowClone() const /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/matcher/expression_leaf.cpp:597
          #7 0x14e9b85 in mongo::OrMatchExpression::shallowClone() const /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/matcher/expression_tree.h:111
          #8 0x192c214 in mongo::QueryPlannerAccess::makeCollectionScan(mongo::CanonicalQuery const&, bool, mongo::QueryPlannerParams const&) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/query/planner_access.cpp:72
          #9 0x1977699 in mongo::QueryPlanner::plan(mongo::CanonicalQuery const&, mongo::QueryPlannerParams const&, std::vector<mongo::QuerySolution*, std::allocator<mongo::QuerySolution*> >*) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/query/query_planner.cpp:921
          #10 0x1274b61 in mongo::SubplanStage::choosePlanWholeQuery(mongo::PlanYieldPolicy*) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/exec/subplan.cpp:371
          #11 0x12778a9 in mongo::SubplanStage::pickBestPlan(mongo::PlanYieldPolicy*) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/exec/subplan.cpp:441
          #12 0x191e3ae in boost::scoped_ptr<mongo::PlanYieldPolicy>::get() const /home/andrew/Documents/10gen/dev/src/mongodb/src/third_party/boost/boost/smart_ptr/scoped_ptr.hpp:103
          #13 0x191e3ae in mongo::PlanExecutor::pickBestPlan(mongo::PlanExecutor::YieldPolicy) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/query/plan_executor.cpp:173
          #14 0x191e3ae in mongo::PlanExecutor::make(mongo::OperationContext*, mongo::WorkingSet*, mongo::PlanStage*, mongo::QuerySolution*, mongo::CanonicalQuery*, mongo::Collection const*, std::string const&, mongo::PlanExecutor::YieldPolicy, mongo::PlanExecutor**) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/query/plan_executor.cpp:125
          #15 0x191ed19 in mongo::PlanExecutor::make(mongo::OperationContext*, mongo::WorkingSet*, mongo::PlanStage*, mongo::QuerySolution*, mongo::CanonicalQuery*, mongo::Collection const*, mongo::PlanExecutor::YieldPolicy, mongo::PlanExecutor**) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/query/plan_executor.cpp:109
          #16 0x18575d7 in mongo::getExecutor(mongo::OperationContext*, mongo::Collection*, mongo::CanonicalQuery*, mongo::PlanExecutor::YieldPolicy, mongo::PlanExecutor**, unsigned long) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/query/get_executor.cpp:407
          #17 0x18d265c in mongo::newRunQuery(mongo::OperationContext*, mongo::Message&, mongo::QueryMessage&, mongo::CurOp&, mongo::Message&, bool) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/query/new_find.cpp:598
          #18 0x14137d4 in mongo::receivedQuery(mongo::OperationContext*, mongo::Client&, mongo::DbResponse&, mongo::Message&, bool) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/instance.cpp:272
          #19 0x14137d4 in mongo::assembleResponse(mongo::OperationContext*, mongo::Message&, mongo::DbResponse&, mongo::HostAndPort const&, bool) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/instance.cpp:445
          #20 0x9618f9 in mongo::MyMessageHandler::process(mongo::Message&, mongo::AbstractMessagingPort*, mongo::LastError*) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/db.cpp:184
          #21 0x26481f8 in mongo::PortMessageServer::handleIncomingMsg(void*) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/util/net/message_server_port.cpp:234
          #22 0x7f53cd3d5181 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x8181)
      
      Indirect leak of 96 byte(s) in 2 object(s) allocated from:
          #0 0x92ab79 in operator new(unsigned long) (/home/andrew/Documents/10gen/dev/src/mongodb/mongod+0x92ab79)
          #1 0x14e9a57 in mongo::OrMatchExpression::shallowClone() const /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/matcher/expression_tree.h:109
          #2 0x192c214 in mongo::QueryPlannerAccess::makeCollectionScan(mongo::CanonicalQuery const&, bool, mongo::QueryPlannerParams const&) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/query/planner_access.cpp:72
          #3 0x1977699 in mongo::QueryPlanner::plan(mongo::CanonicalQuery const&, mongo::QueryPlannerParams const&, std::vector<mongo::QuerySolution*, std::allocator<mongo::QuerySolution*> >*) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/query/query_planner.cpp:921
          #4 0x1274b61 in mongo::SubplanStage::choosePlanWholeQuery(mongo::PlanYieldPolicy*) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/exec/subplan.cpp:371
          #5 0x12778a9 in mongo::SubplanStage::pickBestPlan(mongo::PlanYieldPolicy*) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/exec/subplan.cpp:441
          #6 0x191e3ae in boost::scoped_ptr<mongo::PlanYieldPolicy>::get() const /home/andrew/Documents/10gen/dev/src/mongodb/src/third_party/boost/boost/smart_ptr/scoped_ptr.hpp:103
          #7 0x191e3ae in mongo::PlanExecutor::pickBestPlan(mongo::PlanExecutor::YieldPolicy) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/query/plan_executor.cpp:173
          #8 0x191e3ae in mongo::PlanExecutor::make(mongo::OperationContext*, mongo::WorkingSet*, mongo::PlanStage*, mongo::QuerySolution*, mongo::CanonicalQuery*, mongo::Collection const*, std::string const&, mongo::PlanExecutor::YieldPolicy, mongo::PlanExecutor**) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/query/plan_executor.cpp:125
          #9 0x191ed19 in mongo::PlanExecutor::make(mongo::OperationContext*, mongo::WorkingSet*, mongo::PlanStage*, mongo::QuerySolution*, mongo::CanonicalQuery*, mongo::Collection const*, mongo::PlanExecutor::YieldPolicy, mongo::PlanExecutor**) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/query/plan_executor.cpp:109
          #10 0x18575d7 in mongo::getExecutor(mongo::OperationContext*, mongo::Collection*, mongo::CanonicalQuery*, mongo::PlanExecutor::YieldPolicy, mongo::PlanExecutor**, unsigned long) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/query/get_executor.cpp:407
          #11 0x18d265c in mongo::newRunQuery(mongo::OperationContext*, mongo::Message&, mongo::QueryMessage&, mongo::CurOp&, mongo::Message&, bool) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/query/new_find.cpp:598
          #12 0x14137d4 in mongo::receivedQuery(mongo::OperationContext*, mongo::Client&, mongo::DbResponse&, mongo::Message&, bool) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/instance.cpp:272
          #13 0x14137d4 in mongo::assembleResponse(mongo::OperationContext*, mongo::Message&, mongo::DbResponse&, mongo::HostAndPort const&, bool) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/instance.cpp:445
          #14 0x9618f9 in mongo::MyMessageHandler::process(mongo::Message&, mongo::AbstractMessagingPort*, mongo::LastError*) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/db.cpp:184
          #15 0x26481f8 in mongo::PortMessageServer::handleIncomingMsg(void*) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/util/net/message_server_port.cpp:234
          #16 0x7f53cd3d5181 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x8181)
      
      Indirect leak of 48 byte(s) in 1 object(s) allocated from:
          #0 0x92ab79 in operator new(unsigned long) (/home/andrew/Documents/10gen/dev/src/mongodb/mongod+0x92ab79)
          #1 0x7f53cc73f3b8 (/usr/lib/x86_64-linux-gnu/libstdc++.so.6+0xba3b8)
          #2 0x61900006cc93 (+0x6cc93)
      
      Indirect leak of 48 byte(s) in 1 object(s) allocated from:
          #0 0x92ab79 in operator new(unsigned long) (/home/andrew/Documents/10gen/dev/src/mongodb/mongod+0x92ab79)
          #1 0x7f53cc73f3b8 (/usr/lib/x86_64-linux-gnu/libstdc++.so.6+0xba3b8)
          #2 0x619000003293 (+0x3293)
      
      Indirect leak of 48 byte(s) in 2 object(s) allocated from:
          #0 0x92ab79 in operator new(unsigned long) (/home/andrew/Documents/10gen/dev/src/mongodb/mongod+0x92ab79)
          #1 0x19776c7 in mongo::QueryPlanner::plan(mongo::CanonicalQuery const&, mongo::QueryPlannerParams const&, std::vector<mongo::QuerySolution*, std::allocator<mongo::QuerySolution*> >*) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/query/query_planner.cpp:924
          #2 0x1274b61 in mongo::SubplanStage::choosePlanWholeQuery(mongo::PlanYieldPolicy*) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/exec/subplan.cpp:371
          #3 0x12778a9 in mongo::SubplanStage::pickBestPlan(mongo::PlanYieldPolicy*) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/exec/subplan.cpp:441
          #4 0x191e3ae in boost::scoped_ptr<mongo::PlanYieldPolicy>::get() const /home/andrew/Documents/10gen/dev/src/mongodb/src/third_party/boost/boost/smart_ptr/scoped_ptr.hpp:103
          #5 0x191e3ae in mongo::PlanExecutor::pickBestPlan(mongo::PlanExecutor::YieldPolicy) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/query/plan_executor.cpp:173
          #6 0x191e3ae in mongo::PlanExecutor::make(mongo::OperationContext*, mongo::WorkingSet*, mongo::PlanStage*, mongo::QuerySolution*, mongo::CanonicalQuery*, mongo::Collection const*, std::string const&, mongo::PlanExecutor::YieldPolicy, mongo::PlanExecutor**) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/query/plan_executor.cpp:125
          #7 0x191ed19 in mongo::PlanExecutor::make(mongo::OperationContext*, mongo::WorkingSet*, mongo::PlanStage*, mongo::QuerySolution*, mongo::CanonicalQuery*, mongo::Collection const*, mongo::PlanExecutor::YieldPolicy, mongo::PlanExecutor**) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/query/plan_executor.cpp:109
          #8 0x18575d7 in mongo::getExecutor(mongo::OperationContext*, mongo::Collection*, mongo::CanonicalQuery*, mongo::PlanExecutor::YieldPolicy, mongo::PlanExecutor**, unsigned long) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/query/get_executor.cpp:407
          #9 0x18d265c in mongo::newRunQuery(mongo::OperationContext*, mongo::Message&, mongo::QueryMessage&, mongo::CurOp&, mongo::Message&, bool) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/query/new_find.cpp:598
          #10 0x14137d4 in mongo::receivedQuery(mongo::OperationContext*, mongo::Client&, mongo::DbResponse&, mongo::Message&, bool) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/instance.cpp:272
          #11 0x14137d4 in mongo::assembleResponse(mongo::OperationContext*, mongo::Message&, mongo::DbResponse&, mongo::HostAndPort const&, bool) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/instance.cpp:445
          #12 0x9618f9 in mongo::MyMessageHandler::process(mongo::Message&, mongo::AbstractMessagingPort*, mongo::LastError*) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/db.cpp:184
          #13 0x26481f8 in mongo::PortMessageServer::handleIncomingMsg(void*) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/util/net/message_server_port.cpp:234
          #14 0x7f53cd3d5181 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x8181)
      
      Indirect leak of 32 byte(s) in 2 object(s) allocated from:
          #0 0x92ab79 in operator new(unsigned long) (/home/andrew/Documents/10gen/dev/src/mongodb/mongod+0x92ab79)
          #1 0x14e62c7 in __gnu_cxx::new_allocator<mongo::MatchExpression*>::allocate(unsigned long, void const*) /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/ext/new_allocator.h:104
          #2 0x14e62c7 in std::_Vector_base<mongo::MatchExpression*, std::allocator<mongo::MatchExpression*> >::_M_allocate(unsigned long) /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/stl_vector.h:168
          #3 0x14e62c7 in void std::vector<mongo::MatchExpression*, std::allocator<mongo::MatchExpression*> >::_M_emplace_back_aux<mongo::MatchExpression* const&>(mongo::MatchExpression* const&) /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/vector.tcc:404
          #4 0x14e62c7 in std::vector<mongo::MatchExpression*, std::allocator<mongo::MatchExpression*> >::push_back(mongo::MatchExpression* const&) /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/stl_vector.h:911
          #5 0x14e62c7 in mongo::ListOfMatchExpression::add(mongo::MatchExpression*) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/matcher/expression_tree.cpp:51
          #6 0x14e9b90 in mongo::OrMatchExpression::shallowClone() const /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/matcher/expression_tree.h:111
          #7 0x192c214 in mongo::QueryPlannerAccess::makeCollectionScan(mongo::CanonicalQuery const&, bool, mongo::QueryPlannerParams const&) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/query/planner_access.cpp:72
          #8 0x1977699 in mongo::QueryPlanner::plan(mongo::CanonicalQuery const&, mongo::QueryPlannerParams const&, std::vector<mongo::QuerySolution*, std::allocator<mongo::QuerySolution*> >*) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/query/query_planner.cpp:921
          #9 0x1274b61 in mongo::SubplanStage::choosePlanWholeQuery(mongo::PlanYieldPolicy*) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/exec/subplan.cpp:371
          #10 0x12778a9 in mongo::SubplanStage::pickBestPlan(mongo::PlanYieldPolicy*) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/exec/subplan.cpp:441
          #11 0x191e3ae in boost::scoped_ptr<mongo::PlanYieldPolicy>::get() const /home/andrew/Documents/10gen/dev/src/mongodb/src/third_party/boost/boost/smart_ptr/scoped_ptr.hpp:103
          #12 0x191e3ae in mongo::PlanExecutor::pickBestPlan(mongo::PlanExecutor::YieldPolicy) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/query/plan_executor.cpp:173
          #13 0x191e3ae in mongo::PlanExecutor::make(mongo::OperationContext*, mongo::WorkingSet*, mongo::PlanStage*, mongo::QuerySolution*, mongo::CanonicalQuery*, mongo::Collection const*, std::string const&, mongo::PlanExecutor::YieldPolicy, mongo::PlanExecutor**) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/query/plan_executor.cpp:125
          #14 0x191ed19 in mongo::PlanExecutor::make(mongo::OperationContext*, mongo::WorkingSet*, mongo::PlanStage*, mongo::QuerySolution*, mongo::CanonicalQuery*, mongo::Collection const*, mongo::PlanExecutor::YieldPolicy, mongo::PlanExecutor**) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/query/plan_executor.cpp:109
          #15 0x18575d7 in mongo::getExecutor(mongo::OperationContext*, mongo::Collection*, mongo::CanonicalQuery*, mongo::PlanExecutor::YieldPolicy, mongo::PlanExecutor**, unsigned long) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/query/get_executor.cpp:407
          #16 0x18d265c in mongo::newRunQuery(mongo::OperationContext*, mongo::Message&, mongo::QueryMessage&, mongo::CurOp&, mongo::Message&, bool) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/query/new_find.cpp:598
          #17 0x14137d4 in mongo::receivedQuery(mongo::OperationContext*, mongo::Client&, mongo::DbResponse&, mongo::Message&, bool) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/instance.cpp:272
          #18 0x14137d4 in mongo::assembleResponse(mongo::OperationContext*, mongo::Message&, mongo::DbResponse&, mongo::HostAndPort const&, bool) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/instance.cpp:445
          #19 0x9618f9 in mongo::MyMessageHandler::process(mongo::Message&, mongo::AbstractMessagingPort*, mongo::LastError*) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/db/db.cpp:184
          #20 0x26481f8 in mongo::PortMessageServer::handleIncomingMsg(void*) /home/andrew/Documents/10gen/dev/src/mongodb/src/mongo/util/net/message_server_port.cpp:234
          #21 0x7f53cd3d5181 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x8181)
      
      SUMMARY: AddressSanitizer: 2334 byte(s) leaked in 30 allocation(s).
      

            Assignee:
            david.storch@mongodb.com David Storch
            Reporter:
            andrew.morrow@mongodb.com Andrew Morrow (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: