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

mongod with WiredTiger won't start on Windows when built with --dbg=on --opt=off

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: 3.3.5
    • Fix Version/s: 3.2.6, 3.3.5
    • Component/s: WiredTiger
    • Labels:
    • Backwards Compatibility:
      Fully Compatible
    • Operating System:
      ALL
    • Backport Completed:
    • Steps To Reproduce:
      Hide

      Build mongod.exe with the following command line:

      scons -j 12 --dbg=on --opt=off --dynamic-windows --win-version-min=ws08r2 mongod.exe
      

      Show
      Build mongod.exe with the following command line: scons -j 12 --dbg=on --opt=off --dynamic-windows --win-version-min=ws08r2 mongod.exe

      Description

      The WT bootstrap code double-opens the .turtle file, which causes validation exception and process termination in Windows debug builds. The second open happens at this line and the file has previously been opened here.

      With this problem debug builds on Windows are unusable and evergreen does not catch it because we build with --dbg=on --opt=off, which includes the release runtime.

      This is the call stack:

      >	msvcr120.dll!_invoke_watson(const wchar_t * pszExpression=0x000001d20000000b, const wchar_t * pszFunction=0x00007ffcb1d67adf, const wchar_t * pszFile=0x0000001d00000000, unsigned int nLine=1722168464, unsigned __int64 pReserved=0) Line 132	C++
       	msvcr120.dll!_invalid_parameter(const wchar_t * pszExpression=0x0000000000000000, const wchar_t * pszFunction=0x0000000000000000, const wchar_t * pszFile=0x0000000000000000, unsigned int nLine=0, unsigned __int64 pReserved=0) Line 85	C++
       	msvcr120.dll!_invalid_parameter_noinfo() Line 97	C++
       	msvcr120.dll!_fdopen(int filedes, const char * mode) Line 55	C
       	mongod.exe!__win_handle_open(__wt_session_impl * session=0x000001d2f3760000, __wt_fh * fh=0x000001d2f333f100, const char * name=0x000001d2f333d270, unsigned int file_type=16, unsigned int flags=72) Line 634	C
       	mongod.exe!__wt_open(__wt_session_impl * session=0x000001d2f3760000, const char * name=0x00007ff755c0edb8, unsigned int file_type=16, unsigned int flags=72, __wt_fh * * fhp=0x0000001d9373c9b8) Line 204	C
       	mongod.exe!__wt_turtle_read(__wt_session_impl * session=0x000001d2f3760000, const char * key=0x000001d2f33411c0, char * * valuep=0x0000001d9373cbc8) Line 261	C
       	mongod.exe!__wt_metadata_search(__wt_session_impl * session=0x000001d2f3760000, const char * key=0x000001d2f33411c0, char * * valuep=0x0000001d9373cbc8) Line 275	C
       	mongod.exe!__conn_btree_config_set(__wt_session_impl * session=0x000001d2f3760000) Line 250	C
       	mongod.exe!__wt_conn_btree_open(__wt_session_impl * session=0x000001d2f3760000, const char * * cfg=0x0000001d9373cfc8, unsigned int flags=0) Line 318	C
       	mongod.exe!__wt_session_get_btree(__wt_session_impl * session=0x000001d2f3760000, const char * uri=0x00007ff755c0aba0, const char * checkpoint=0x0000000000000000, const char * * cfg=0x0000001d9373cfc8, unsigned int flags=0) Line 529	C
       	mongod.exe!__wt_session_get_btree(__wt_session_impl * session=0x000001d2f3760000, const char * uri=0x00007ff755c0aba0, const char * checkpoint=0x0000000000000000, const char * * cfg=0x0000001d9373cfc8, unsigned int flags=0) Line 522	C
       	mongod.exe!__wt_session_get_btree_ckpt(__wt_session_impl * session=0x000001d2f3760000, const char * uri=0x00007ff755c0aba0, const char * * cfg=0x0000001d9373cfc8, unsigned int flags=0) Line 339	C
       	mongod.exe!__wt_curfile_open(__wt_session_impl * session=0x000001d2f3760000, const char * uri=0x00007ff755c0aba0, __wt_cursor * owner=0x0000000000000000, const char * * cfg=0x0000001d9373cfc8, __wt_cursor * * cursorp=0x0000001d9373d048) Line 553	C
       	mongod.exe!__session_open_cursor_int(__wt_session_impl * session=0x000001d2f3760000, const char * uri=0x00007ff755c0aba0, __wt_cursor * owner=0x0000000000000000, __wt_cursor * other=0x0000000000000000, const char * * cfg=0x0000001d9373cfc8, __wt_cursor * * cursorp=0x0000001d9373d048) Line 329	C
       	mongod.exe!__wt_open_cursor(__wt_session_impl * session=0x000001d2f3760000, const char * uri=0x00007ff755c0aba0, __wt_cursor * owner=0x0000000000000000, const char * * cfg=0x0000001d9373cfc8, __wt_cursor * * cursorp=0x0000001d9373d048) Line 383	C
       	mongod.exe!__wt_metadata_cursor_open(__wt_session_impl * session=0x000001d2f3760000, const char * config=0x0000000000000000, __wt_cursor * * cursorp=0x0000001d9373d048) Line 59	C
       	mongod.exe!__wt_metadata_cursor(__wt_session_impl * session=0x000001d2f3760000, __wt_cursor * * cursorp=0x0000000000000000) Line 103	C
       	mongod.exe!wiredtiger_open(const char * home=0x00007ff755d4b158, __wt_event_handler * event_handler=0x000001d2f26ad260, const char * config=0x000001d2f2518740, __wt_connection * * wt_connp=0x000001d2f26ad258) Line 2238	C
       	mongod.exe!mongo::WiredTigerKVEngine::WiredTigerKVEngine(const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & canonicalName={...}, const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & path={...}, const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & extraOpenOptions={...}, unsigned __int64 cacheSizeGB=18, bool durable=true, bool ephemeral=false, bool repair=false, bool readOnly=false) Line 248	C++
       	mongod.exe!mongo::`anonymous namespace'::WiredTigerFactory::create(const mongo::StorageGlobalParams & params={...}, const mongo::StorageEngineLockFile * lockFile=0x000001d2f26b3070) Line 86	C++
       	mongod.exe!mongo::ServiceContextMongoD::initializeGlobalStorageEngine() Line 187	C++
       	mongod.exe!mongo::_initAndListen(int listenPort=27017) Line 568	C++
       	mongod.exe!mongo::initAndListen(int listenPort=27017) Line 757	C++
       	mongod.exe!mongoDbMain(int argc=3, char * * argv=0x000001d2f2501840, char * * envp=0x000001d2f2505e10) Line 1061	C++
       	mongod.exe!wmain(int argc=3, wchar_t * * argvW=0x000001d2f0abe7a0, wchar_t * * envpW=0x000001d2f0ad78c0) Line 795	C++
      

      This is the error:

      Unhandled exception at 0x00007FFC66AADD27 (msvcr120.dll) in mongod.exe: An invalid parameter was passed to a function that considers invalid parameters fatal.
      

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                6 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: