ID: 28377 Updated by: [EMAIL PROTECTED] Reported By: sean at caedmon dot net Status: Verified Bug Type: Scripting Engine problem Operating System: * PHP Version: 4CVS-2004-07-02 New Comment:
debug_backtrace loses information in subsequent movements up the stack. Simple test script: <?php function a() { b(); } function b() { c('foo', 'bar'); } function c($a, $b){ print_r(debug_backtrace()); d(); } function d() { print_r(debug_backtrace()); } a(); ?> This block should be present in both backtraces: [function] => c [args] => Array ( [0] => foo [1] => bar ) In the second backtrace, it is not: [function] => c [args] => Array ( ) This problem does not, as one might expect, propogate to debug_print_backtrace. Previous Comments: ------------------------------------------------------------------------ [2005-03-01 18:41:14] helmut at topconcepts dot de I have the same error with 5.0.3 and 5.0.4-dev so it's not only a PHP 4 problem ------------------------------------------------------------------------ [2004-05-12 20:43:48] sean at caedmon dot net Description: ------------ debug_backtrace() behaves strangely when passed as a function argument. This does not happen if debug_backtrace is dereferenced (see code), nor if debug_backtrace() is the first parameter to my custom_callback function (not denoted in code) I'll be happy to provide additional details. This SEEMS like #27397 but is not a ZE2 problem (I'm using 4.3) and is NOT fixed in CVS. Thanks, S Reproduce code: --------------- <?php function doit($a, $b) { $trace = debug_backtrace(); custom_callback('dereferenced', $trace); custom_callback('direct', debug_backtrace()); } function custom_callback($traceName, $btInfo) { echo $traceName ." -- args: "; echo isset($btInfo[0]['args']) ? 'exists' : 'does not exist'; echo "\n"; } doit('a','b'); ?> Expected result: ---------------- dereferenced -- args: exists direct -- args: exists Actual result: -------------- dereferenced -- args: exists direct -- args: does not exist ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=28377&edit=1