[SERVER-16107] 2.6 mongod crashes with segfault when added to a 2.8 replica set with >= 12 nodes. Created: 12/Nov/14 Updated: 02/Feb/15 Resolved: 25/Nov/14 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Replication |
| Affects Version/s: | None |
| Fix Version/s: | 2.6.6 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Charlie Swanson | Assignee: | Andy Schwerin |
| Resolution: | Done | Votes: | 0 |
| Labels: | 28qa | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Attachments: |
|
||||||||
| Issue Links: |
|
||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||
| Operating System: | ALL | ||||||||
| Steps To Reproduce: | Start a replica set with 12 nodes all in 2.8. Start node in 2.6 using same --replSet param. Re-configure to add the 2.6 node as the 13th node in the replica set. Above stack trace is logged as the 2.6 node crashes. |
||||||||
| Participants: | |||||||||
| Description |
|
No helpful error messages logged, just this:
|
| Comments |
| Comment by Githook User [ 25/Nov/14 ] |
|
Author: {u'username': u'andy10gen', u'name': u'Andy Schwerin', u'email': u'schwerin@mongodb.com'}Message: |
| Comment by Andy Schwerin [ 12/Nov/14 ] |
|
The code path in 2.6 that initializes replica set configs from remote nodes at startup invalidates an iterator and then advances it when an unsupported configuration arrives. This is causing the crash. Notably, it also fails to log an informative message, so if it hadn't crashed, it would have just sat there, waiting forever. Probably, the best solution is to log the exception, and then safely advance and erase the iterator. |
| Comment by Charlie Swanson [ 12/Nov/14 ] |
|
Sorry, that's just the 2.6 node, did you need any from the other nodes? |
| Comment by Charlie Swanson [ 12/Nov/14 ] |
|
Log attached. |
| Comment by Andy Schwerin [ 12/Nov/14 ] |
|
Please attach the entire log, charlie.swanson. |