From: Sage Weil Date: Fri, 30 Mar 2012 23:11:31 +0000 (-0700) Subject: log: dump_recent in fatal signal handler X-Git-Tag: v0.46~124^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=2878865463fa74fef4ea6dcd964425baa658f46f;p=ceph.git log: dump_recent in fatal signal handler Signed-off-by: Sage Weil --- diff --git a/src/global/signal_handler.cc b/src/global/signal_handler.cc index dc24bd91fd6c..2a6260da66d1 100644 --- a/src/global/signal_handler.cc +++ b/src/global/signal_handler.cc @@ -91,6 +91,16 @@ static void handle_fatal_signal(int signum) bt.print(oss); dout_emergency(oss.str()); + // dump to log. this uses the heap extensively, but we're better + // off trying than not. + derr << buf << std::endl; + bt.print(*_dout); + *_dout << " NOTE: a copy of the executable, or `objdump -rdS ` " + << "is needed to interpret this.\n" + << dendl; + + g_ceph_context->_log->dump_recent(); + reraise_fatal(signum); }