-
Type: Bug
-
Resolution: Done
-
Priority: Major - P3
-
Affects Version/s: 2.0.0-rc1, 2.2.6
-
Component/s: Index Maintenance, Querying
-
ALL
Doing something like this:
var coll = db.getCollection( "foo.bar" )
coll.drop()
coll.insert(
{ blah : 30 })
coll.ensureIndex(
{ blah : 1 })
printjson( coll.find({}).sort(
).min(
{ blah : 1 }).max(
{ blah : 30 }).toArray() )
... triggers an Assertion. Stack trace:
Tue Sep 6 14:16:33 [conn4] test.foo.bar Assertion failure la <= 0xffffff db/btree.h 241
0x5497a1 0x55434f 0x678f2b 0x689399 0x68987c 0x689ac7 0x713a74 0x70f6e7 0x712a1f 0x7798b2 0x7d1e4c 0x7758ef 0x775b23 0x775faf 0x77c861 0x77eb93 0x77fc93 0x780cb0 0x7cc55a 0x745d42
/home/greg/Workspaces/Mongo Workspace/mongo/mongod(mongo::sayDbContext(char const*)+0xc1) [0x5497a1]
/home/greg/Workspaces/Mongo Workspace/mongo/mongod(mongo::asserted(char const*, char const*, unsigned int)+0xbf) [0x55434f]
/home/greg/Workspaces/Mongo Workspace/mongo/mongod(mongo::DiskLoc56Bit::operator=(mongo::DiskLoc const&)+0x5b) [0x678f2b]
/home/greg/Workspaces/Mongo Workspace/mongo/mongod(mongo::BtreeBucket<mongo::BtreeData_V1>::find(mongo::IndexDetails const&, mongo::KeyV1 const&, mongo::DiskLoc const&, mongo::Ordering const&, int&, bool) const+0x49) [0x689399]
/home/greg/Workspaces/Mongo Workspace/mongo/mongod(mongo::BtreeBucket<mongo::BtreeData_V1>::locate(mongo::IndexDetails const&, mongo::DiskLoc const&, mongo::KeyV1 const&, mongo::Ordering const&, int&, bool&, mongo::DiskLoc const&, int) const+0x5c) [0x68987c]
/home/greg/Workspaces/Mongo Workspace/mongo/mongod(mongo::BtreeBucket<mongo::BtreeData_V1>::locate(mongo::IndexDetails const&, mongo::DiskLoc const&, mongo::BSONObj const&, mongo::Ordering const&, int&, bool&, mongo::DiskLoc const&, int) const+0xb7) [0x689ac7]
/home/greg/Workspaces/Mongo Workspace/mongo/mongod(mongo::BtreeCursorImpl<mongo::BtreeData_V1>::_locate(mongo::BSONObj const&, mongo::DiskLoc const&)+0x84) [0x713a74]
/home/greg/Workspaces/Mongo Workspace/mongo/mongod(mongo::BtreeCursor::init()+0x157) [0x70f6e7]
/home/greg/Workspaces/Mongo Workspace/mongo/mongod(mongo::BtreeCursor::make(mongo::NamespaceDetails*, int, mongo::IndexDetails const&, mongo::BSONObj const&, mongo::BSONObj const&, bool, int)+0x26f) [0x712a1f]
/home/greg/Workspaces/Mongo Workspace/mongo/mongod(mongo::QueryPlan::newCursor(mongo::DiskLoc const&, int) const+0xd2) [0x7798b2]
/home/greg/Workspaces/Mongo Workspace/mongo/mongod(mongo::UserQueryOp::_init()+0x12c) [0x7d1e4c]
/home/greg/Workspaces/Mongo Workspace/mongo/mongod(mongo::QueryOp::init()+0x11f) [0x7758ef]
/home/greg/Workspaces/Mongo Workspace/mongo/mongod(mongo::QueryPlanSet::Runner::initOp(mongo::QueryOp&)+0x23) [0x775b23]
/home/greg/Workspaces/Mongo Workspace/mongo/mongod(mongo::QueryPlanSet::Runner::init()+0x2ff) [0x775faf]
/home/greg/Workspaces/Mongo Workspace/mongo/mongod(mongo::QueryPlanSet::Runner::runUntilFirstCompletes()+0x21) [0x77c861]
/home/greg/Workspaces/Mongo Workspace/mongo/mongod(mongo::QueryPlanSet::runOp(mongo::QueryOp&)+0x123) [0x77eb93]
/home/greg/Workspaces/Mongo Workspace/mongo/mongod(mongo::MultiPlanScanner::runOpOnce(mongo::QueryOp&)+0x63) [0x77fc93]
/home/greg/Workspaces/Mongo Workspace/mongo/mongod(mongo::MultiPlanScanner::runOp(mongo::QueryOp&)+0x20) [0x780cb0]
/home/greg/Workspaces/Mongo Workspace/mongo/mongod(mongo::runQuery(mongo::Message&, mongo::QueryMessage&, mongo::CurOp&, mongo::Message&)+0xbea) [0x7cc55a]
/home/greg/Workspaces/Mongo Workspace/mongo/mongod(mongo::assembleResponse(mongo::Message&, mongo::DbResponse&, mongo::HostAndPort const&)+0xa82) [0x745d42]
Pretty sure the issue is first lines of BtreeBucket<V>::find(), assigning rl to recordLoc. rl in this case is maxDiskLoc = DiskLoc(0x7fffffff, 0x7fffffff). Not sure of the correct behavior here, special case this?
- is depended on by
-
SERVER-9547 min() / max() with descending order sort not working
- Closed
- is duplicated by
-
SERVER-4427 Assertion failure la <= 0xffffff db/btree.h 241
- Closed
-
SERVER-9598 mongoDB server crashes when using min() / max() with descending order sort
- Closed