// DESCRIPTION //
Suppose there is a simple document with an 'tags' array:
_id : 7 51005201f8ab44f1690f9526
tags : 4
1 : 2 a
2 : 2 b
3 : 2 c
The server crashes when I try to append this array either via the '$push' or the '$addToSet' operator.
// LOGFILE OUTPUT //
Thu Jan 24 16:42:44 [conn1] __test.test Assertion failure x == _nfields src\mongo\db\jsobj.cpp 1250 Thu Jan 24 16:42:44 [conn1] mongod.exe ...\src\mongo\util\stacktrace.cpp(161) mongo::printStackTrace+0x3e Thu Jan 24 16:42:44 [conn1] mongod.exe ...\src\mongo\util\assert_util.cpp(109) mongo::verifyFailed+0xdc Thu Jan 24 16:42:44 [conn1] mongod.exe ...\src\mongo\db\jsobj.cpp(1250) mongo::BSONIteratorSorted::BSONIteratorSorted+0xf3 Thu Jan 24 16:42:44 [conn1] mongod.exe ...\src\mongo\db\ops\update_internal.cpp(906) mongo::ModSetState::createNewFromMods+0xa3 Thu Jan 24 16:42:44 [conn1] mongod.exe ...\src\mongo\db\ops\update.cpp(370) mongo::_updateObjects+0x15a2 Thu Jan 24 16:42:44 [conn1] mongod.exe ...\src\mongo\db\instance.cpp(573) mongo::receivedUpdate+0x60d Thu Jan 24 16:42:44 [conn1] mongod.exe ...\src\mongo\db\instance.cpp(437) mongo::assembleResponse+0x626 Thu Jan 24 16:42:44 [conn1] mongod.exe ...\src\mongo\db\db.cpp(192) mongo::MyMessageHandler::process+0xf5 Thu Jan 24 16:42:44 [conn1] mongod.exe ...\src\mongo\util\net\message_server_port.cpp(86) mongo::pms::threadRun+0x59a Thu Jan 24 16:42:44 [conn1] mongod.exe ...\src\third_party\boost\libs\thread\src\win32\thread.cpp(180) boost::`anonymous namespace'::thread_start_function+0x21 Thu Jan 24 16:42:44 [conn1] mongod.exe f:\dd\vctools\crt_bld\self_64_amd64\crt\src\threadex.c(314) _callthreadstartex+0x17 Thu Jan 24 16:42:44 [conn1] mongod.exe f:\dd\vctools\crt_bld\self_64_amd64\crt\src\threadex.c(292) _threadstartex+0x7f Thu Jan 24 16:42:44 [conn1] kernel32.dll BaseThreadInitThunk+0xd Thu Jan 24 16:42:44 [conn1] update __test.test query: { tags: "a" } update: { $push: { tags: "d" } } nscanned:1 keyUpdates:0 exception: assertion src\mongo\db\jsobj.cpp:1250 locks(micros) w:398335 399ms Thu Jan 24 16:42:48 CTRL_CLOSE_EVENT signal Thu Jan 24 16:42:48 [consoleTerminate] got CTRL_CLOSE_EVENT, will terminate after current cmd ends Thu Jan 24 16:42:48 [consoleTerminate] now exiting Thu Jan 24 16:42:48 dbexit: Thu Jan 24 16:42:48 [consoleTerminate] shutdown: going to close listening sockets... Thu Jan 24 16:42:48 [consoleTerminate] closing listening socket: 496 Thu Jan 24 16:42:48 [consoleTerminate] closing listening socket: 516 Thu Jan 24 16:42:48 [consoleTerminate] shutdown: going to flush diaglog... Thu Jan 24 16:42:48 [consoleTerminate] shutdown: going to close sockets... Thu Jan 24 16:42:48 [consoleTerminate] shutdown: waiting for fs preallocator... Thu Jan 24 16:42:48 [consoleTerminate] shutdown: lock for final commit... Thu Jan 24 16:42:48 [consoleTerminate] shutdown: final commit... Thu Jan 24 16:42:48 [conn1] end connection 127.0.0.1:52419 (0 connections now open) Thu Jan 24 16:42:48 [consoleTerminate] shutdown: closing all files... Thu Jan 24 16:42:48 [consoleTerminate] closeAllFiles() finished Thu Jan 24 16:42:48 [consoleTerminate] journalCleanup... Thu Jan 24 16:42:48 [consoleTerminate] removeJournalFiles Thu Jan 24 16:42:48 [consoleTerminate] shutdown: removing fs lock... Thu Jan 24 16:42:48 dbexit: really exiting now