Re: Fwd: Re: Able to crash mon with invalid command

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thanks Joao!

I see what you are talking about now.  I should have seen that.  I did
quick scan to see if there was any other place like that, but that
looks like the only one.  "injectargs" has appropriate safety checks.

 - Travis

On Thu, Feb 21, 2013 at 12:47 PM, Joao Eduardo Luis
<joao.luis@xxxxxxxxxxx> wrote:
> Forgot to cross-post this to ceph-devel.
>
>
>
> -------- Original Message --------
> Subject: Re:  Able to crash mon with invalid command
> Date: Thu, 21 Feb 2013 17:36:08 +0000
> From: Joao Eduardo Luis <joao.luis@xxxxxxxxxxx>
> To: Travis Rhoden <trhoden@xxxxxxxxx>
> CC: ceph-users@xxxxxxxx
>
> On 02/21/2013 05:33 PM, Joao Eduardo Luis wrote:
>>
>> On 02/20/2013 06:39 PM, Travis Rhoden wrote:
>>>
>>> Actually, looking at the source code, that is a valid command -- and the
>>> monitor correctly responded that it needed either "exit" or "enter"
>>> after the command.  I don't know why it segfaulted, though.
>>
>>
>> By far the weirdest segfault I've seen in a while.
>>
>> Will look into this and report back.
>>
>> Thanks!
>>
>>    -Joao
>
>
> Oh, not weird at all.  We're trying to read the next position in the
> array without even checking if it exists.  I'll have a fix in a minute
> or so.
>
> Thanks again!
>
>   -Joao
>
>>
>>>
>>> On Wed, Feb 20, 2013 at 1:31 PM, Travis Rhoden <trhoden@xxxxxxxxx
>>> <mailto:trhoden@xxxxxxxxx>> wrote:
>>>
>>>     I typed in the following command and it crashed one of my monitors:
>>>
>>>     # 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.
>>>
>>>     I had meant to do "ceph quorum_status".  doh.
>>>     Version is 0.56.3 all around
>>>
>>>       - Travis
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> ceph-users mailing list
>>> ceph-users@xxxxxxxxxxxxxx
>>> http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
>>>
>>
>
>
>
> _______________________________________________
> ceph-users mailing list
> ceph-users@xxxxxxxxxxxxxx
> http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
_______________________________________________
ceph-users mailing list
ceph-users@xxxxxxxxxxxxxx
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com


[Index of Archives]     [Information on CEPH]     [Linux Filesystem Development]     [Ceph Development]     [Ceph Large]     [Ceph Dev]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [xfs]


  Powered by Linux