daemons crash when sent random data
mon seem to crash every time, osd seem to take a few attempts (similar stack trace). not tested mds
( echo "ceph v027" ; dd if=/dev/urandom ) | nc 10.82.103.194 6789
I assume this is probably fixable, but it hints at deeper problems perhaps?
I know ceph isn't supposed to be byzantine fault tolerant, but I doubt that means this :)
*** Caught signal (Aborted) ** in thread 7f94ec6ac700 ceph version (commit:) 1: /usr/bin/ceph-mon() [0x5c3124] 2: (()+0xf8f0) [0x7f94f12398f0] 3: (gsignal()+0x35) [0x7f94efc02a75] 4: (abort()+0x180) [0x7f94efc065c0] 5: (__gnu_cxx::__verbose_terminate_handler()+0x115) [0x7f94f04b88e5] 6: (()+0xcad16) [0x7f94f04b6d16] 7: (()+0xcad43) [0x7f94f04b6d43] 8: (()+0xcae3e) [0x7f94f04b6e3e] 9: (operator new(unsigned long)+0x3be) [0x7f94f072e95e] 10: (ceph::buffer::create(unsigned int)+0x67) [0x552b57] 11: (SimpleMessenger::Pipe::accept()+0x1365) [0x539fc5] 12: (SimpleMessenger::Pipe::reader()+0x109d) [0x542d2d] 13: (SimpleMessenger::Pipe::Reader::entry()+0xd) [0x45eced] 14: (()+0x69ca) [0x7f94f12309ca] 15: (clone()+0x6d) [0x7f94efcb570d]
#1 Updated by Greg Farnum over 5 years ago
This is actually going to be pretty unpleasant. Removing the asserts that deliberately crash on unexpected types is easy enough, but to properly handle random data we'll probably need to add some sort of enveloping that promises to be a real message, and discard everything that doesn't pass those checks. :/
I'm not sure how we want to prioritize such a thing right now, though!