Page MenuHomePhabricator

D7797.id17642.diff
No OneTemporary

D7797.id17642.diff

Index: scripts/__init_script__.php
===================================================================
--- scripts/__init_script__.php
+++ scripts/__init_script__.php
@@ -65,6 +65,22 @@
require_once $root.'/src/__phutil_library_init__.php';
PhutilErrorHandler::initialize();
+
+ // If possible, install a signal handler for SIGHUP which prints the current
+ // backtrace out to a named file. This is particularly helpful in debugging
+ // hung/spinning processes.
+ if (function_exists('pcntl_signal')) {
+ pcntl_signal(SIGHUP, '__phutil_signal_handler__');
+ }
+}
+
+function __phutil_signal_handler__($signal_number) {
+ $e = new Exception();
+ $pid = getmypid();
+ // Some phabricator daemons may not be attached to a terminal.
+ Filesystem::writeFile(
+ sys_get_temp_dir().'/phabricator_backtrace_'.$pid,
+ $e->getTraceAsString());
}
__phutil_init_script__();

File Metadata

Mime Type
text/plain
Expires
Fri, Nov 1, 5:14 AM (4 d, 1 h ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
6732240
Default Alt Text
D7797.id17642.diff (894 B)

Event Timeline