Details
-
Bug
-
Resolution: Cannot Reproduce
-
Major - P3
-
None
-
2.5.3
-
None
-
ALL
Description
I've broken a collection often enough and seen this failing assertion come up enough times in different contexts where I have to file this ticket despite not being able to reliably reproduce getting a collection into this bad state. At first I thought it had to do with bringing a `mongod` up and down (cleanly) while running an application against it. Now I've run into this while running (and re-running) tests. I have the bad data files saved on the side. Going to see if re-running the same tests over and over can reproduce the problem (with -vv).
Any ideas on things to look out for are welcome.
2013-10-23T11:36:42.921-0400 [conn1] Assertion: 10334:BSONObj size: -286331154 (0xEEEEEEEE) is invalid. Size must be between 0 and 16793600(16MB) First element: _id: ObjectId('5267eceae4b0820066d7c32c')
|
2013-10-23T11:36:42.927-0400 [conn1] mmsdbconfig.config.confirmedContacts 0x10e1411 0x108cf69 0x10731b6 0x10736ac 0x74b1b5 0xa52633 0xa5a984 0xd2000e 0xd21870 0xd22387 0xd2bacf 0xc23826 0xb6fdee 0xb72fd2 0x74edcd 0x10a029b 0x7fc5cde4ce9a 0x7fc5cd15fccd
|
/home/dgottlieb/Downloads/mongodb-linux-x86_64-2.5.3/bin/mongod(_ZN5mongo15printStackTraceERSo+0x21) [0x10e1411]
|
/home/dgottlieb/Downloads/mongodb-linux-x86_64-2.5.3/bin/mongod(_ZN5mongo10logContextEPKc+0x159) [0x108cf69]
|
/home/dgottlieb/Downloads/mongodb-linux-x86_64-2.5.3/bin/mongod(_ZN5mongo11msgassertedEiPKc+0xe6) [0x10731b6]
|
/home/dgottlieb/Downloads/mongodb-linux-x86_64-2.5.3/bin/mongod() [0x10736ac]
|
/home/dgottlieb/Downloads/mongodb-linux-x86_64-2.5.3/bin/mongod(_ZNK5mongo7BSONObj14_assertInvalidEv+0x405) [0x74b1b5]
|
/home/dgottlieb/Downloads/mongodb-linux-x86_64-2.5.3/bin/mongod(_ZN5mongo10FetchStage4workEPl+0x343) [0xa52633]
|
/home/dgottlieb/Downloads/mongodb-linux-x86_64-2.5.3/bin/mongod(_ZN5mongo10LimitStage4workEPl+0x34) [0xa5a984]
|
/home/dgottlieb/Downloads/mongodb-linux-x86_64-2.5.3/bin/mongod(_ZN5mongo15MultiPlanRunner12workAllPlansEv+0x9e) [0xd2000e]
|
/home/dgottlieb/Downloads/mongodb-linux-x86_64-2.5.3/bin/mongod(_ZN5mongo15MultiPlanRunner12pickBestPlanEPm+0x30) [0xd21870]
|
/home/dgottlieb/Downloads/mongodb-linux-x86_64-2.5.3/bin/mongod(_ZN5mongo15MultiPlanRunner7getNextEPNS_7BSONObjEPNS_7DiskLocE+0x1b7) [0xd22387]
|
/home/dgottlieb/Downloads/mongodb-linux-x86_64-2.5.3/bin/mongod(_ZN5mongo11newRunQueryEPNS_14CanonicalQueryERNS_5CurOpERNS_7MessageE+0x37f) [0xd2bacf]
|
/home/dgottlieb/Downloads/mongodb-linux-x86_64-2.5.3/bin/mongod(_ZN5mongo8runQueryERNS_7MessageERNS_12QueryMessageERNS_5CurOpES1_+0x19f6) [0xc23826]
|
/home/dgottlieb/Downloads/mongodb-linux-x86_64-2.5.3/bin/mongod() [0xb6fdee]
|
/home/dgottlieb/Downloads/mongodb-linux-x86_64-2.5.3/bin/mongod(_ZN5mongo16assembleResponseERNS_7MessageERNS_10DbResponseERKNS_11HostAndPortE+0x3d2) [0xb72fd2]
|
/home/dgottlieb/Downloads/mongodb-linux-x86_64-2.5.3/bin/mongod(_ZN5mongo16MyMessageHandler7processERNS_7MessageEPNS_21AbstractMessagingPortEPNS_9LastErrorE+0x9d) [0x74edcd]
|
/home/dgottlieb/Downloads/mongodb-linux-x86_64-2.5.3/bin/mongod(_ZN5mongo17PortMessageServer17handleIncomingMsgEPv+0x4fb) [0x10a029b]
|
/lib/x86_64-linux-gnu/libpthread.so.0(+0x7e9a) [0x7fc5cde4ce9a]
|
/lib/x86_64-linux-gnu/libc.so.6(clone+0x6d) [0x7fc5cd15fccd]
|
I believe I've always observed a warning log of the following form on the collection in question before seeing a collection/index get into this bad state:
2013-10-23T11:36:10.525-0400 [conn65] unindex failed (key too big?) mmsdbconfig.config.confirmedContacts.$addrTypeConfirmedIdx key: { : "nobody@mongodb.com", : 1, : true } _id: ObjectId('5267eceae4b0820066d7c32c')
|
And some more information on the colletion (after being in a bad state)
mmsdbconfig> db.config.confirmedContacts.find()
|
mmsdbconfig> db.config.confirmedContacts.find({ address: "nobody@mongodb.com", typeId: 1 })
|
error: {
|
"$err" : "BSONObj size: -286331154 (0xEEEEEEEE) is invalid. Size must be between 0 and 16793600(16MB) First element: _id: ObjectId('5267eceae4b0820066d7c32c')",
|
"code" : 10334
|
}
|
mmsdbconfig> db.config.confirmedContacts.getIndexes()
|
[
|
{
|
"v" : 1,
|
"key" : {
|
"_id" : 1
|
},
|
"ns" : "mmsdbconfig.config.confirmedContacts",
|
"name" : "_id_"
|
},
|
{
|
"v" : 1,
|
"key" : {
|
"address" : 1,
|
"typeId" : 1
|
},
|
"unique" : true,
|
"ns" : "mmsdbconfig.config.confirmedContacts",
|
"name" : "addrTypeIdx"
|
},
|
{
|
"v" : 1,
|
"key" : {
|
"address" : 1,
|
"typeId" : 1,
|
"confirmed" : 1
|
},
|
"unique" : true,
|
"ns" : "mmsdbconfig.config.confirmedContacts",
|
"name" : "addrTypeConfirmedIdx"
|
}
|
]
|
mmsdbconfig> db.config.confirmedContacts.stats()
|
{
|
"ns" : "mmsdbconfig.config.confirmedContacts",
|
"count" : 0,
|
"size" : 0,
|
"storageSize" : 8192,
|
"numExtents" : 1,
|
"nindexes" : 3,
|
"lastExtentSize" : 8192,
|
"paddingFactor" : 1,
|
"systemFlags" : 1,
|
"userFlags" : 0,
|
"totalIndexSize" : 24528,
|
"indexSizes" : {
|
"_id_" : 8176,
|
"addrTypeIdx" : 8176,
|
"addrTypeConfirmedIdx" : 8176
|
},
|
"ok" : 1
|
}
|