From 6a6dbec0335c43137e4dc5e84b5b188edc57ba10 Mon Sep 17 00:00:00 2001 From: redmatrix Date: Wed, 30 Mar 2016 16:33:23 -0700 Subject: issue #319 - NOTE: this does not fix the issue, it only reports it and continues. We need to examine any logger statements that contain 'stack:' as a result of reporting this issue and find and fix the original problem - which is that set_pconfig is being called without a valid $uid. I'm worried that since we will now continue on without throwing a PHP error that nobody will ever notice or find the problem that is causing this. --- include/text.php | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'include/text.php') diff --git a/include/text.php b/include/text.php index 621f4cf93..8e822532e 100644 --- a/include/text.php +++ b/include/text.php @@ -569,6 +569,25 @@ function logger($msg, $level = LOGGER_NORMAL, $priority = LOG_INFO) { @file_put_contents($pluginfo['filename'], $pluginfo['message'], FILE_APPEND); } +// like logger() but with a function backtrace to pinpoint certain classes +// of problems which show up deep in the calling stack + + +function btlogger($msg, $level = LOGGER_NORMAL, $priority = LOG_INFO) { + + logger($msg, $level, $priority); + if(version_compare(PHP_VERSION, '5.4.0') >= 0) { + $stack = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS); + if($stack) { + for($x = 1; $x < count($stack); $x ++) { + logger('stack: ' . basename($stack[$x]['file']) . ':' . $stack[$x]['line'] . ':' . $stack[$x]['function'] . '()',$level, $priority); + } + } + } +} + + + function log_priority_str($priority) { $parr = array( LOG_EMERG => 'LOG_EMERG', -- cgit v1.2.3