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

Reconfiguring a replica set to remove a node causes a segmentation fault on 2.6.8

    • Type: Icon: Bug Bug
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • 2.6.10
    • Affects Version/s: 2.6.8
    • Component/s: Replication
    • None
    • Environment:
      Linux, MongoDB 2.6.8
    • Fully Compatible
    • Linux

      The replSetReconfig command can generate the following Segmentation Fault and stack trace:

      2015-03-27T13:46:53.462+0100 [SyncSourceFeedbackThread] SyncSourceFeedback error sending update, response: { ok: 0.0, errmsg: "could not update position upstream; will retry" }
      2015-03-27T13:46:53.462+0100 [SyncSourceFeedbackThread] replset setting syncSourceFeedback to XXXX-XXXXX:27017
      2015-03-27T13:46:53.464+0100 [SyncSourceFeedbackThread] sync source does not have member 1 in its config and neither do we, removing member from tracking
      2015-03-27T13:46:53.464+0100 [SyncSourceFeedbackThread] sync source does not have member 1 in its config and neither do we, removing member from tracking
      2015-03-27T13:46:53.467+0100 [SyncSourceFeedbackThread] SEVERE: Invalid access at address: 0x8
      2015-03-27T13:46:53.494+0100 [SyncSourceFeedbackThread] SEVERE: Got signal: 11 (Segmentation fault).
      Backtrace:0x1205431 0x120480e 0x12048ff 0x7f22c747f0a0 0xe8be4f 0xecdc3d 0xed2a73 0x118cf12 0x1249dc9 0x7f22c7476b50 0x7f22c681995d 
       ./bin/mongod(_ZN5mongo15printStackTraceERSo+0x21) [0x1205431]
       ./bin/mongod() [0x120480e]
       ./bin/mongod() [0x12048ff]
       /lib/x86_64-linux-gnu/libpthread.so.0(+0xf0a0) [0x7f22c747f0a0]
       ./bin/mongod(_ZNK5mongo13ReplSetConfig9MemberCfg6asBsonEv+0x3f) [0xe8be4f]
       ./bin/mongod(_ZN5mongo18SyncSourceFeedback14updateUpstreamEv+0x78d) [0xecdc3d]
       ./bin/mongod(_ZN5mongo18SyncSourceFeedback3runEv+0x8d3) [0xed2a73]
       ./bin/mongod(_ZN5mongo13BackgroundJob7jobBodyEv+0xd2) [0x118cf12]
       ./bin/mongod() [0x1249dc9]
       /lib/x86_64-linux-gnu/libpthread.so.0(+0x6b50) [0x7f22c7476b50]
       /lib/x86_64-linux-gnu/libc.so.6(clone+0x6d) [0x7f22c681995d]
      

      The root cause appears to be due to removing a node while there are active writes.

      The workaround for this issue is to shutdown the node to be removed before issuing the reconfiguration command.

      At the moment this does not appear to be an issue for 2.8 and above.

            Assignee:
            matt.dannenberg Matt Dannenberg
            Reporter:
            jim.oleary@mongodb.com James O'Leary
            Votes:
            0 Vote for this issue
            Watchers:
            8 Start watching this issue

              Created:
              Updated:
              Resolved: