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

Invariant triggered on invalid protocolVersion reconfig

    • Type: Icon: Bug Bug
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • 3.2.0-rc3
    • Affects Version/s: 3.2.0-rc2
    • Component/s: None
    • None
    • Fully Compatible
    • ALL
    • Hide

      Change replica set protocolVersion to an invalid value via mongo shell:

      var conf = rs.conf();
      conf.protocolVersion = 3;
      rs.reconfig(conf);
      
      Show
      Change replica set protocolVersion to an invalid value via mongo shell: var conf = rs.conf(); conf.protocolVersion = 3; rs.reconfig(conf);
    • Repl C (11/20/15)

      Setting replica set protocolVersion to an invalid triggers an invariant. We should instead validate protocolVersion and reject the reconfig on invalid value.

      2015-11-13T09:59:40.684-0500 I REPL     [conn7] replSetReconfig admin command received from client
      2015-11-13T09:59:40.688-0500 I REPL     [conn7] replSetReconfig config object with 1 members parses ok
      2015-11-13T09:59:40.689-0500 I -        [ReplicationExecutor] Invariant failure newConfig.getProtocolVersion() == 0 src/mongo/db/repl/topology_coordinator_impl.cpp 1891
      2015-11-13T09:59:40.690-0500 I -        [ReplicationExecutor] 
      
      ***aborting after invariant() failure
      
      
      2015-11-13T09:59:40.694-0500 F -        [ReplicationExecutor] Got signal: 6 (Abort trap: 6).
      
       0x10aaebfa9 0x10aaeb930 0x7fff91f0852a 0x7fff955baa36 0x7fff9970937b 0x10aa91379 0x10a7b681e 0x10a743c27 0x10a751a59 0x10a775820 0x10a7705d4 0x10a7757c0 0x7fff8e1fc9b1 0x7fff8e1fc92e 0x7fff8e1fa385
      ----- BEGIN BACKTRACE -----
      {"backtrace":[{"b":"10A22B000","o":"8C0FA9"},{"b":"10A22B000","o":"8C0930"},{"b":"7FFF91F06000","o":"252A"},{"b":"7FFF955B8000","o":"2A36"},{"b":"7FFF996AB000","o":"5E37B"},{"b":"10A22B000","o":"866379"},{"b":"10A22B000","o":"58B81E"},{"b":"10A22B000","o":"518C27"},{"b":"10A22B000","o":"526A59"},{"b":"10A22B000","o":"54A820"},{"b":"10A22B000","o":"5455D4"},{"b":"10A22B000","o":"54A7C0"},{"b":"7FFF8E1F9000","o":"39B1"},{"b":"7FFF8E1F9000","o":"392E"},{"b":"7FFF8E1F9000","o":"1385"}],"processInfo":{ "mongodbVersion" : "3.2.0-rc2", "gitVersion" : "8a3acb42742182c5e314636041c2df368232bbc5", "compiledModules" : [], "uname" : { "sysname" : "Darwin", "release" : "15.0.0", "version" : "Darwin Kernel Version 15.0.0: Sat Sep 19 15:53:46 PDT 2015; root:xnu-3247.10.11~1/RELEASE_X86_64", "machine" : "x86_64" }, "somap" : [ { "path" : "/usr/local/bin/mongod", "machType" : 2, "b" : "10A22B000", "buildId" : "4CBDAC72A00B3E0C886443CB432853E9" }, { "path" : "/usr/lib/libSystem.B.dylib", "machType" : 6, "b" : "7FFF9A394000", "buildId" : "59F79CA05D86359DA2354F257409109E" }, { "path" : "/usr/lib/libc++.1.dylib", "machType" : 6, "b" : "7FFF94612000", "buildId" : "54190E1BEE493D6DAC292813D7380BA5" }, { "path" : "/usr/lib/system/libcache.dylib", "machType" : 6, "b" : "7FFF8F8E7000", "buildId" : "4948E2C8867F3E9DAAE72F30F0B345C6" }, { "path" : "/usr/lib/system/libcommonCrypto.dylib", "machType" : 6, "b" : "7FFF8E9D9000", "buildId" : "BD1DCF1983533F6AAFFAEBBA29A302A8" }, { "path" : "/usr/lib/system/libcompiler_rt.dylib", "machType" : 6, "b" : "7FFF8D6FF000", "buildId" : "253B36E5572D377DAE99A02CE32590E5" }, { "path" : "/usr/lib/system/libcopyfile.dylib", "machType" : 6, "b" : "7FFF9C2DA000", "buildId" : "CA2602ABE8B73CD8A0C5D86E35FDA09F" }, { "path" : "/usr/lib/system/libcorecrypto.dylib", "machType" : 6, "b" : "7FFF88E9D000", "buildId" : "4E1B969F84493B21988051AD58E25AA6" }, { "path" : "/usr/lib/system/libdispatch.dylib", "machType" : 6, "b" : "7FFF9281C000", "buildId" : "438F4595073134A2ACAD60121A76D1FF" }, { "path" : "/usr/lib/system/libdyld.dylib", "machType" : 6, "b" : "7FFF9C7CE000", "buildId" : "99396189E53A3A78BC49449236DA7CFF" }, { "path" : "/usr/lib/system/libkeymgr.dylib", "machType" : 6, "b" : "7FFF8F586000", "buildId" : "470802808B573D758A209E100864DE27" }, { "path" : "/usr/lib/system/liblaunch.dylib", "machType" : 6, "b" : "7FFF89A9D000", "buildId" : "7EC0F29743CC3D11B46B7E72E372648A" }, { "path" : "/usr/lib/system/libmacho.dylib", "machType" : 6, "b" : "7FFF89B74000", "buildId" : "A9EC23EC11A03B4FA8ACB990C8267A6E" }, { "path" : "/usr/lib/system/libquarantine.dylib", "machType" : 6, "b" : "7FFF8FCC5000", "buildId" : "1693C5FEEA0A312285EB7950ECC7435A" }, { "path" : "/usr/lib/system/libremovefile.dylib", "machType" : 6, "b" : "7FFF95656000", "buildId" : "C7CFF5F2AFFB3C8DBDB4D66D50E657C0" }, { "path" : "/usr/lib/system/libsystem_asl.dylib", "machType" : 6, "b" : "7FFF8E20F000", "buildId" : "97D794DA8CE53676AC5E364F6D172BDA" }, { "path" : "/usr/lib/system/libsystem_blocks.dylib", "machType" : 6, "b" : "7FFF9BB3C000", "buildId" : "1B4F1F10823E378181626884D14DF0D6" }, { "path" : "/usr/lib/system/libsystem_c.dylib", "machType" : 6, "b" : "7FFF996AB000", "buildId" : "A60CE86D1FF332ADA672C7597F884529" }, { "path" : "/usr/lib/system/libsystem_configuration.dylib", "machType" : 6, "b" : "7FFF8AFA6000", "buildId" : "93D5FB9ACC7C367280D87A1C4805204B" }, { "path" : "/usr/lib/system/libsystem_coreservices.dylib", "machType" : 6, "b" : "7FFF8D247000", "buildId" : "692631A0192332CA9BD5044B1382FFDE" }, { "path" : "/usr/lib/system/libsystem_coretls.dylib", "machType" : 6, "b" : "7FFF8FB33000", "buildId" : "21EDACF1D9B33086982160EB75E7F965" }, { "path" : "/usr/lib/system/libsystem_dnssd.dylib", "machType" : 6, "b" : "7FFF9A9E6000", "buildId" : "21D63EAB27BE3F41B1D4604BE7F4C9BA" }, { "path" : "/usr/lib/system/libsystem_info.dylib", "machType" : 6, "b" : "7FFF88CB4000", "buildId" : "65D0643AC8AE3E8D9F6EE4AD823F16B2" }, { "path" : "/usr/lib/system/libsystem_kernel.dylib", "machType" : 6, "b" : "7FFF9C7A3000", "buildId" : "FA4DCF4227B038789158E148D208B21E" }, { "path" : "/usr/lib/system/libsystem_m.dylib", "machType" : 6, "b" : "7FFF930E3000", "buildId" : "07D5037230ED3B039FA00662BF8F0098" }, { "path" : "/usr/lib/system/libsystem_malloc.dylib", "machType" : 6, "b" : "7FFF955B8000", "buildId" : "1B57A6143D603F87876F7DB4AF38120F" }, { "path" : "/usr/lib/system/libsystem_network.dylib", "machType" : 6, "b" : "7FFF9BDA1000", "buildId" : "C5DC3F04701134D49682E1B31999A89C" }, { "path" : "/usr/lib/system/libsystem_networkextension.dylib", "machType" : 6, "b" : "7FFF9B09C000", "buildId" : "4736FCC59DBA31F4AAC8CD0A177CF502" }, { "path" : "/usr/lib/system/libsystem_notify.dylib", "machType" : 6, "b" : "7FFF9BD30000", "buildId" : "56ABC155CB9930A8A8B1C204B5615092" }, { "path" : "/usr/lib/system/libsystem_platform.dylib", "machType" : 6, "b" : "7FFF91F06000", "buildId" : "3F4D2390E3DE3C24A51595DFAC8671C4" }, { "path" : "/usr/lib/system/libsystem_pthread.dylib", "machType" : 6, "b" : "7FFF8E1F9000", "buildId" : "1373D0F1C6CA364EA6BA8BDBD0D34670" }, { "path" : "/usr/lib/system/libsystem_sandbox.dylib", "machType" : 6, "b" : "7FFF94AAE000", "buildId" : "BC781530CA98392DA77A8CAD2D9C6B2F" }, { "path" : "/usr/lib/system/libsystem_secinit.dylib", "machType" : 6, "b" : "7FFF8DDE1000", "buildId" : "932ED582E80F39DAB0FAF1BC5F1AD2F8" }, { "path" : "/usr/lib/system/libsystem_trace.dylib", "machType" : 6, "b" : "7FFF9A93B000", "buildId" : "1D289F35BFA23B9EBDF920F34F9A01D4" }, { "path" : "/usr/lib/system/libunc.dylib", "machType" : 6, "b" : "7FFF8AFA9000", "buildId" : "D9B0C7B186483AAC931CE7CD362FAA8A" }, { "path" : "/usr/lib/system/libunwind.dylib", "machType" : 6, "b" : "7FFF89BBF000", "buildId" : "FDA18078A7753BAFA5A68A7B75D6AA99" }, { "path" : "/usr/lib/system/libxpc.dylib", "machType" : 6, "b" : "7FFF8987B000", "buildId" : "3E09C275A33B357AB0ABA2DDF88EC9D5" }, { "path" : "/usr/lib/libobjc.A.dylib", "machType" : 6, "b" : "7FFF91A7A000", "buildId" : "CE3C3C78A7BB3147837555424032FF5E" }, { "path" : "/usr/lib/libauto.dylib", "machType" : 6, "b" : "7FFF93113000", "buildId" : "460B0167C89B37EC823C52F684B31C26" }, { "path" : "/usr/lib/libc++abi.dylib", "machType" : 6, "b" : "7FFF8D266000", "buildId" : "F5027B461801344DBD512E6D188C8900" }, { "path" : "/usr/lib/libDiagnosticMessagesClient.dylib", "machType" : 6, "b" : "7FFF8DC0D000", "buildId" : "F2D8CFCCA00A36759C01EF0C663F2445" } ] }}
       mongod(_ZN5mongo15printStackTraceERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEE+0x39) [0x10aaebfa9]
       mongod(_ZN5mongo12_GLOBAL__N_110abruptQuitEi+0x90) [0x10aaeb930]
       libsystem_platform.dylib(_sigtramp+0x1A) [0x7fff91f0852a]
       libsystem_malloc.dylib(szone_malloc_should_clear+0x445) [0x7fff955baa36]
       libsystem_c.dylib(abort+0x81) [0x7fff9970937b]
       mongod(_ZN5mongo15invariantFailedEPKcS1_j+0x2E9) [0x10aa91379]
       mongod(_ZN5mongo4repl23TopologyCoordinatorImpl12updateConfigERKNS0_16ReplicaSetConfigEiNS_6Date_tERKNS0_6OpTimeE+0x4CE) [0x10a7b681e]
       mongod(_ZN5mongo4repl26ReplicationCoordinatorImpl26_setCurrentRSConfig_inlockERKNS_8executor12TaskExecutor12CallbackArgsERKNS0_16ReplicaSetConfigEi+0xB7) [0x10a743c27]
       mongod(_ZN5mongo4repl26ReplicationCoordinatorImpl22_finishReplSetReconfigERKNS_8executor12TaskExecutor12CallbackArgsERKNS0_16ReplicaSetConfigEi+0x49) [0x10a751a59]
       mongod(_ZN5mongo4repl12_GLOBAL__N_112callNoExceptERKNSt3__18functionIFvvEEE+0x20) [0x10a775820]
       mongod(_ZN5mongo4repl19ReplicationExecutor3runEv+0x574) [0x10a7705d4]
       mongod(_ZNSt3__114__thread_proxyINS_5tupleIJZN5mongo4repl19ReplicationExecutor7startupEvE3$_0EEEEEPvS7_+0x60) [0x10a7757c0]
       libsystem_pthread.dylib(_pthread_body+0x83) [0x7fff8e1fc9b1]
       libsystem_pthread.dylib(_pthread_body+0x0) [0x7fff8e1fc92e]
       libsystem_pthread.dylib(thread_start+0xD) [0x7fff8e1fa385]
      -----  END BACKTRACE  -----
      

            Assignee:
            matt.dannenberg Matt Dannenberg
            Reporter:
            james.wahlin@mongodb.com James Wahlin
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: