]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
log: dump_recent in fatal signal handler
authorSage Weil <sage@newdream.net>
Fri, 30 Mar 2012 23:11:31 +0000 (16:11 -0700)
committerSage Weil <sage@newdream.net>
Fri, 30 Mar 2012 23:11:31 +0000 (16:11 -0700)
Signed-off-by: Sage Weil <sage@newdream.net>
src/global/signal_handler.cc

index dc24bd91fd6c602dd7a7625ed5441bb1c97ec36c..2a6260da66d1d0fa08d5c99936057628a75f4b27 100644 (file)
@@ -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 <executable>` "
+        << "is needed to interpret this.\n"
+        << dendl;
+
+  g_ceph_context->_log->dump_recent();
+
   reraise_fatal(signum);
 }