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

map/set iterators incompatible assertion in EphemeralForTest storage engine on Windows Debug

    • Type: Icon: Bug Bug
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Storage
    • Labels:
      None

      When doing an index scan in reverse order on an empty collection, the EphemeralForTest storage engine fails with

      2016-06-21T15:19:33.378+0100 I CONTROL  [OplogBufferCollectionTest] *** C runtime error: C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\xtree(326) : Assertion failed: map/set iterators incompatible, terminating
      2016-06-21T15:19:33.379+0100 I -        [OplogBufferCollectionTest] Fatal Assertion 17006
      2016-06-21T15:19:33.379+0100 I -        [OplogBufferCollectionTest] 
      
      ***aborting after fassert() failure
      
      
      2016-06-21T15:19:33.965+0100 I CONTROL  [OplogBufferCollectionTest] oplog_buffer_collection_test.exe  ...\src\mongo\util\stacktrace_windows.cpp(174)                                      mongo::printStackTrace+0x43
      2016-06-21T15:19:33.965+0100 I CONTROL  [OplogBufferCollectionTest] oplog_buffer_collection_test.exe  ...\src\mongo\util\signal_handlers_synchronous.cpp(181)                             mongo::`anonymous namespace'::printSignalAndBacktrace+0x73
      2016-06-21T15:19:33.965+0100 I CONTROL  [OplogBufferCollectionTest] oplog_buffer_collection_test.exe  ...\src\mongo\util\signal_handlers_synchronous.cpp(237)                             mongo::`anonymous namespace'::abruptQuit+0x83
      2016-06-21T15:19:33.965+0100 I CONTROL  [OplogBufferCollectionTest] oplog_buffer_collection_test.exe  d:\th\minkernel\crts\ucrt\src\appcrt\misc\signal.cpp(522)                           raise+0x468
      2016-06-21T15:19:33.965+0100 I CONTROL  [OplogBufferCollectionTest] oplog_buffer_collection_test.exe  d:\th\minkernel\crts\ucrt\src\appcrt\startup\abort.cpp(71)                          abort+0x39
      2016-06-21T15:19:33.966+0100 I CONTROL  [OplogBufferCollectionTest] oplog_buffer_collection_test.exe  ...\src\mongo\util\assert_util.cpp(172)                                             mongo::fassertFailed+0x136
      2016-06-21T15:19:33.966+0100 I CONTROL  [OplogBufferCollectionTest] oplog_buffer_collection_test.exe  ...\src\mongo\util\stacktrace_windows.cpp(282)                                      mongo::crtDebugCallback+0x168
      2016-06-21T15:19:33.966+0100 I CONTROL  [OplogBufferCollectionTest] oplog_buffer_collection_test.exe  d:\th\minkernel\crts\ucrt\src\appcrt\misc\dbgrptt.cpp(582)                          _VCrtDbgReportW+0x808
      2016-06-21T15:19:33.966+0100 I CONTROL  [OplogBufferCollectionTest] oplog_buffer_collection_test.exe  d:\th\minkernel\crts\ucrt\src\appcrt\misc\dbgrpt.cpp(273)                           _CrtDbgReportW+0x65
      2016-06-21T15:19:33.966+0100 I CONTROL  [OplogBufferCollectionTest] oplog_buffer_collection_test.exe  f:\dd\vctools\crt\crtw32\stdcpp\stdthrow.cpp(15)                                    std::_Debug_message+0x40
      2016-06-21T15:19:33.966+0100 I CONTROL  [OplogBufferCollectionTest] oplog_buffer_collection_test.exe  c:\program files (x86)\microsoft visual studio 14.0\vc\include\xtree(327)           std::_Tree_const_iterator<std::_Tree_val<std::_Tree_simple_types<mongo::IndexKeyEntry> > >::operator==+0x54
      2016-06-21T15:19:33.966+0100 I CONTROL  [OplogBufferCollectionTest] oplog_buffer_collection_test.exe  ...\src\mongo\db\storage\ephemeral_for_test\ephemeral_for_test_btree_impl.cpp(371)  mongo::`anonymous namespace'::EphemeralForTestBtreeImpl::Cursor::advance+0x254
      2016-06-21T15:19:33.966+0100 I CONTROL  [OplogBufferCollectionTest] oplog_buffer_collection_test.exe  ...\src\mongo\db\storage\ephemeral_for_test\ephemeral_for_test_btree_impl.cpp(411)  mongo::`anonymous namespace'::EphemeralForTestBtreeImpl::Cursor::locate+0x287
      2016-06-21T15:19:33.966+0100 I CONTROL  [OplogBufferCollectionTest] oplog_buffer_collection_test.exe  ...\src\mongo\db\storage\ephemeral_for_test\ephemeral_for_test_btree_impl.cpp(270)  mongo::`anonymous namespace'::EphemeralForTestBtreeImpl::Cursor::seek+0x260
      2016-06-21T15:19:33.966+0100 I CONTROL  [OplogBufferCollectionTest] oplog_buffer_collection_test.exe  ...\src\mongo\db\exec\index_scan.cpp(106)                                           mongo::IndexScan::initIndexScan+0x16f
      2016-06-21T15:19:33.966+0100 I CONTROL  [OplogBufferCollectionTest] oplog_buffer_collection_test.exe  ...\src\mongo\db\exec\index_scan.cpp(134)                                           mongo::IndexScan::doWork+0x237
      2016-06-21T15:19:33.966+0100 I CONTROL  [OplogBufferCollectionTest] oplog_buffer_collection_test.exe  ...\src\mongo\db\exec\plan_stage.cpp(46)                                            mongo::PlanStage::work+0x6d
      2016-06-21T15:19:33.966+0100 I CONTROL  [OplogBufferCollectionTest] oplog_buffer_collection_test.exe  ...\src\mongo\db\exec\fetch.cpp(86)                                                 mongo::FetchStage::doWork+0xce
      2016-06-21T15:19:33.966+0100 I CONTROL  [OplogBufferCollectionTest] oplog_buffer_collection_test.exe  ...\src\mongo\db\exec\plan_stage.cpp(46)                                            mongo::PlanStage::work+0x6d
      2016-06-21T15:19:33.966+0100 I CONTROL  [OplogBufferCollectionTest] oplog_buffer_collection_test.exe  ...\src\mongo\db\query\plan_executor.cpp(423)                                       mongo::PlanExecutor::getNextImpl+0x573
      2016-06-21T15:19:33.966+0100 I CONTROL  [OplogBufferCollectionTest] oplog_buffer_collection_test.exe  ...\src\mongo\db\query\plan_executor.cpp(343)                                       mongo::PlanExecutor::getNext+0x41
      2016-06-21T15:19:33.966+0100 I CONTROL  [OplogBufferCollectionTest] oplog_buffer_collection_test.exe  ...\src\mongo\db\repl\storage_interface_impl.cpp(491)                               mongo::repl::`anonymous namespace'::_findOrDeleteOne+0x7d8
      2016-06-21T15:19:33.966+0100 I CONTROL  [OplogBufferCollectionTest] oplog_buffer_collection_test.exe  ...\src\mongo\db\repl\storage_interface_impl.cpp(509)                               mongo::repl::StorageInterfaceImpl::findOne+0x34
      2016-06-21T15:19:33.966+0100 I CONTROL  [OplogBufferCollectionTest] oplog_buffer_collection_test.exe  ...\src\mongo\db\repl\oplog_buffer_collection.cpp(197)                              mongo::repl::OplogBufferCollection::_peekOneSide+0x140
      2016-06-21T15:19:33.966+0100 I CONTROL  [OplogBufferCollectionTest] oplog_buffer_collection_test.exe  ...\src\mongo\db\repl\oplog_buffer_collection.cpp(187)                              mongo::repl::OplogBufferCollection::lastObjectPushed+0x3c
      2016-06-21T15:19:33.967+0100 I CONTROL  [OplogBufferCollectionTest] oplog_buffer_collection_test.exe  ...\src\mongo\db\repl\oplog_buffer_collection_test.cpp(380)                         `anonymous namespace'::UnitTest__OplogBufferCollectionTest__LastObjectPushedReturnsNoneWithNoEntries::_doTest+0x7e
      2016-06-21T15:19:33.967+0100 I CONTROL  [OplogBufferCollectionTest] oplog_buffer_collection_test.exe  ...\src\mongo\unittest\unittest.cpp(147)                                            mongo::unittest::Test::run+0x26
      2016-06-21T15:19:33.967+0100 I CONTROL  [OplogBufferCollectionTest] oplog_buffer_collection_test.exe  ...\src\mongo\unittest\unittest.h(427)                                              mongo::unittest::Suite::runTestObject<`anonymous namespace'::UnitTest__OplogBufferCollectionTest__LastObjectPushedReturnsNoneWithNoEntries>+0x39
      2016-06-21T15:19:33.967+0100 I CONTROL  [OplogBufferCollectionTest] oplog_buffer_collection_test.exe  ...\src\mongo\unittest\unittest.cpp(269)                                            mongo::unittest::Suite::run+0xbc5
      2016-06-21T15:19:33.967+0100 I CONTROL  [OplogBufferCollectionTest] oplog_buffer_collection_test.exe  ...\src\mongo\unittest\unittest.cpp(328)                                            mongo::unittest::Suite::run+0xa98
      2016-06-21T15:19:33.967+0100 I CONTROL  [OplogBufferCollectionTest] oplog_buffer_collection_test.exe  ...\src\mongo\unittest\unittest_main.cpp(41)                                        main+0xf2
      2016-06-21T15:19:33.967+0100 I CONTROL  [OplogBufferCollectionTest] oplog_buffer_collection_test.exe  f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl(65)                          invoke_main+0x34
      2016-06-21T15:19:33.967+0100 I CONTROL  [OplogBufferCollectionTest] oplog_buffer_collection_test.exe  f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl(255)                         __scrt_common_main_seh+0x12e
      2016-06-21T15:19:33.967+0100 I CONTROL  [OplogBufferCollectionTest] oplog_buffer_collection_test.exe  f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl(300)                         __scrt_common_main+0xe
      2016-06-21T15:19:33.967+0100 I CONTROL  [OplogBufferCollectionTest] oplog_buffer_collection_test.exe  f:\dd\vctools\crt\vcstartup\src\startup\exe_main.cpp(17)                            mainCRTStartup+0x9
      2016-06-21T15:19:33.967+0100 I CONTROL  [OplogBufferCollectionTest] kernel32.dll   
      

            Assignee:
            backlog-server-execution [DO NOT USE] Backlog - Storage Execution Team
            Reporter:
            judah.schvimer@mongodb.com Judah Schvimer
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: