Actions
Bug #4218
closedmon: segfault on 'ceph quorum'
% Done:
0%
Source:
Community (user)
Tags:
Backport:
Regression:
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):
Description
As reported by Travis Rhoden on ceph-users:
# ceph quorum 2013-02-20 18:22:59.327916 7f908186f700 0 monclient: hunting for new mon unknown quorum subcommand; use exit or enter # ceph -s health HEALTH_WARN 1 mons down, quorum 0,1,3,4 a,b,d,e Log from ceph-mon.c.log: -1> 2013-02-20 18:22:57.594190 7f92d84db700 0 mon.c@2(peon) e1 handle_command mon_command(quorum v 0) v1 0> 2013-02-20 18:22:57.721764 7f92d84db700 -1 *** Caught signal (Segmentation fault) ** in thread 7f92d84db700 ceph version 0.56.3 (6eb7e15a4783b122e9b0c85ea9ba064145958aa5) 1: /usr/bin/ceph-mon() [0x5379da] 2: (()+0xfcb0) [0x7f92dd8cecb0] 3: (std::string::compare(char const*) const+0x2c) [0x7f92dcfe382c] 4: (bool std::operator==<char, std::char_traits<char>, std::allocator<char> >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*)+0x9) [0x488919] 5: (Monitor::handle_command(MMonCommand*)+0x13a8) [0x4741e8] 6: (Monitor::_ms_dispatch(Message*)+0x103b) [0x484bcb] 7: (Monitor::ms_dispatch(Message*)+0x32) [0x4945c2] 8: (DispatchQueue::entry()+0x349) [0x63d009] 9: (DispatchQueue::DispatchThread::entry()+0xd) [0x5d67bd] 10: (()+0x7e9a) [0x7f92dd8c6e9a] 11: (clone()+0x6d) [0x7f92dc767cbd] NOTE: a copy of the executable, or `objdump -rdS <executable>` is needed to interpret this.
The cause is that we weren't checking if we were provided with the required argument to 'quorum' ('enter' or 'exit') prior to trying to access its position in the array.
Actions