From: Sage Weil Date: Tue, 12 Feb 2013 21:52:09 +0000 (-0800) Subject: msg/Messenger: do not crash on unhandled message X-Git-Tag: v0.58~92 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=1e68ccf6aa139775c378eaab5a103a9cbb2f4049;p=ceph.git msg/Messenger: do not crash on unhandled message This is just polite. Signed-off-by: Sage Weil --- diff --git a/src/common/config_opts.h b/src/common/config_opts.h index ce3bca204923..733e71038c01 100644 --- a/src/common/config_opts.h +++ b/src/common/config_opts.h @@ -100,6 +100,7 @@ OPTION(ms_initial_backoff, OPT_DOUBLE, .2) OPTION(ms_max_backoff, OPT_DOUBLE, 15.0) OPTION(ms_nocrc, OPT_BOOL, false) OPTION(ms_die_on_bad_msg, OPT_BOOL, false) +OPTION(ms_die_on_unexpected_msg, OPT_BOOL, false) OPTION(ms_dispatch_throttle_bytes, OPT_U64, 100 << 20) OPTION(ms_bind_ipv6, OPT_BOOL, false) OPTION(ms_bind_port_min, OPT_INT, 6800) diff --git a/src/msg/Messenger.h b/src/msg/Messenger.h index f47c2cf5bb5c..2f0710c9ebfe 100644 --- a/src/msg/Messenger.h +++ b/src/msg/Messenger.h @@ -552,11 +552,10 @@ public: p++) if ((*p)->ms_dispatch(m)) return; - std::ostringstream oss; - oss << "ms_deliver_dispatch: fatal error: unhandled message " - << m << " " << *m << " from " << m->get_source_inst(); - dout_emergency(oss.str()); - assert(0); + lsubdout(cct, ms, 0) << "ms_deliver_dispatch: unhandled message " << m << " " << *m << " from " + << m->get_source_inst() << dendl; + assert(!cct->_conf->ms_die_on_unexpected_msg); + m->put(); } /** * Notify each Dispatcher of a new Connection. Call