Bug #78908 [NEW]: error_get_last() has limited stack trace
| From: | sailormax at inbox dot lv | Date: | Wed, 04 Dec 2019 11:35:32 +0000 |
| Subject: | Bug #78908 [NEW]: error_get_last() has limited stack trace | ||
| Groups: | php.bugs | ||
| Request: | Send a blank email to php-bugs+get-224059@lists.php.net to get a copy of this message | ||
From: sailormax at inbox dot lv
Operating system: Windows 10
PHP version: 7.4.0
Package: Unknown/Other Function
Bug Type: Bug
Bug description:error_get_last() has limited stack trace
Description:
------------
default Exception handler and error_get_last() return error message with
not full stack trace. When use large libraries like PHPSpreadsheet and
got exception, message with stack trace contain only PHPSpreadsheet
internal calls but where you call it is offcut.
Test script:
---------------
<?
$limiter = 20;
$func = function() use (&$limiter, &$func)
{
$limiter--;
if (!$limiter)
{
print "<pre>";
debug_print_backtrace();
throw new Exception("test error");
}
if ($limiter <= 0)
return;
$func();
};
$func();
?>
Expected result:
----------------
0 {closure}() called at [D:\max\Documents\GitHub\atom\test.php:14]
#1 {closure}() called at [D:\max\Documents\GitHub\atom\test.php:14]
#2 {closure}() called at [D:\max\Documents\GitHub\atom\test.php:14]
#3 {closure}() called at [D:\max\Documents\GitHub\atom\test.php:14]
#4 {closure}() called at [D:\max\Documents\GitHub\atom\test.php:14]
#5 {closure}() called at [D:\max\Documents\GitHub\atom\test.php:14]
#6 {closure}() called at [D:\max\Documents\GitHub\atom\test.php:14]
#7 {closure}() called at [D:\max\Documents\GitHub\atom\test.php:14]
#8 {closure}() called at [D:\max\Documents\GitHub\atom\test.php:14]
#9 {closure}() called at [D:\max\Documents\GitHub\atom\test.php:14]
#10 {closure}() called at [D:\max\Documents\GitHub\atom\test.php:14]
#11 {closure}() called at [D:\max\Documents\GitHub\atom\test.php:14]
#12 {closure}() called at [D:\max\Documents\GitHub\atom\test.php:14]
#13 {closure}() called at [D:\max\Documents\GitHub\atom\test.php:14]
#14 {closure}() called at [D:\max\Documents\GitHub\atom\test.php:14]
#15 {closure}() called at [D:\max\Documents\GitHub\atom\test.php:14]
#16 {closure}() called at [D:\max\Documents\GitHub\atom\test.php:14]
#17 {closure}() called at [D:\max\Documents\GitHub\atom\test.php:14]
#18 {closure}() called at [D:\max\Documents\GitHub\atom\test.php:14]
#19 {closure}() called at [D:\max\Documents\GitHub\atom\test.php:14]
Fatal error: Uncaught Exception: test error in
D:\max\Documents\GitHub\atom\test.php:9
Stack trace:
#0 D:\max\Documents\GitHub\atom\test.php(14): {closure}()
#1 D:\max\Documents\GitHub\atom\test.php(14): {closure}()
#2 D:\max\Documents\GitHub\atom\test.php(14): {closure}()
#3 D:\max\Documents\GitHub\atom\test.php(14): {closure}()
#4 D:\max\Documents\GitHub\atom\test.php(14): {closure}()
#5 D:\max\Documents\GitHub\atom\test.php(14): {closure}()
#6 D:\max\Documents\GitHub\atom\test.php(14): {closure}()
#7 D:\max\Documents\GitHub\atom\test.php(14): {closure}()
#8 D:\max\Documents\GitHub\atom\test.php(14): {closure}()
#9 D:\max\Documents\GitHub\atom\test.php(14): {closure}()
#10 D:\max\Documents\GitHub\atom\test.php(14): {closure}()
#11 D:\max\Documents\GitHub\atom\test.php(14): {closure}()
#12 D:\max\Documents\GitHub\atom\test.php(14): {closure}()
#13 D:\max\Documents\GitHub\atom\test.php(14): {closure}()
#14 D:\max\Documents\GitHub\atom\test.php(14): {closure}()
#15 D:\max\Documents\GitHub\atom\test.php(14): {closure}()
#16 D:\max\Documents\GitHub\atom\test.php(14): {closure}()
#17 D:\max\Documents\GitHub\atom\test.php(14): {closure}()
#18 D:\max\Documents\GitHub\atom\test.php(14): {closure}()
#19 D:\max\Documents\GitHub\atom\test.php(14): {closure}()
in D:\max\Documents\GitHub\atom\test.php on line 9
Actual result:
--------------
0 {closure}() called at [D:\max\Documents\GitHub\atom\test.php:14]
#1 {closure}() called at [D:\max\Documents\GitHub\atom\test.php:14]
#2 {closure}() called at [D:\max\Documents\GitHub\atom\test.php:14]
#3 {closure}() called at [D:\max\Documents\GitHub\atom\test.php:14]
#4 {closure}() called at [D:\max\Documents\GitHub\atom\test.php:14]
#5 {closure}() called at [D:\max\Documents\GitHub\atom\test.php:14]
#6 {closure}() called at [D:\max\Documents\GitHub\atom\test.php:14]
#7 {closure}() called at [D:\max\Documents\GitHub\atom\test.php:14]
#8 {closure}() called at [D:\max\Documents\GitHub\atom\test.php:14]
#9 {closure}() called at [D:\max\Documents\GitHub\atom\test.php:14]
#10 {closure}() called at [D:\max\Documents\GitHub\atom\test.php:14]
#11 {closure}() called at [D:\max\Documents\GitHub\atom\test.php:14]
#12 {closure}() called at [D:\max\Documents\GitHub\atom\test.php:14]
#13 {closure}() called at [D:\max\Documents\GitHub\atom\test.php:14]
#14 {closure}() called at [D:\max\Documents\GitHub\atom\test.php:14]
#15 {closure}() called at [D:\max\Documents\GitHub\atom\test.php:14]
#16 {closure}() called at [D:\max\Documents\GitHub\atom\test.php:14]
#17 {closure}() called at [D:\max\Documents\GitHub\atom\test.php:14]
#18 {closure}() called at [D:\max\Documents\GitHub\atom\test.php:14]
#19 {closure}() called at [D:\max\Documents\GitHub\atom\test.php:14]
Fatal error: Uncaught Exception: test error in
D:\max\Documents\GitHub\atom\test.php:9
Stack trace:
#0 D:\max\Documents\GitHub\atom\test.php(14): {closure}()
#1 D:\max\Documents\GitHub\atom\test.php(14): {closure}()
#2 D:\max\Documents\GitHub\atom\test.php(14): {closure}()
#3 D:\max\Documents\GitHub\atom\test.php(14): {closure}()
#4 D:\max\Documents\GitHub\atom\test.php(14): {closure}()
#5 D:\max\Documents\GitHub\atom\test.php(14): {closure}()
#6 D:\max\Documents\GitHub\atom\test.php(14): {closure}()
#7 D:\max\Documents\GitHub\atom\test.php(14): {closure}()
#8 D:\max\Documents\GitHub\atom\test.php(14): {closure}()
#9 D:\max\Documents\GitHub\atom\test.php(14): {closure}()
#10 D:\max\Documents\GitHub\atom\test.php(14): {closure}()
#11 D:\max\Documents\GitHub\atom\test.php(14): {closure}()
#12 D:\max\Documents\GitHub\atom\test.php(14): {closure}()
#13 D:\max\Documents\GitHub\atom\test.php(14): {closure}()
#14 D:\max\Documents\GitHub\atom\test.php(14): {closure}()
#1 in D:\max\Documents\GitHub\atom\test.php on line 9
--
Edit bug report at https://bugs.php.net/bug.php?id=78908&edit=1
--
Fix committed: https://bugs.php.net/fix.php?id=78908&r=fixed
Fixed in release: https://bugs.php.net/fix.php?id=78908&r=alreadyfixed
Need backtrace: https://bugs.php.net/fix.php?id=78908&r=needtrace
Need Reproduce Script: https://bugs.php.net/fix.php?id=78908&r=needscript
Try newer version: https://bugs.php.net/fix.php?id=78908&r=oldversion
Not developer issue: https://bugs.php.net/fix.php?id=78908&r=support
Expected behavior: https://bugs.php.net/fix.php?id=78908&r=notwrong
Not enough info: https://bugs.php.net/fix.php?id=78908&r=notenoughinfo
Submitted twice: https://bugs.php.net/fix.php?id=78908&r=submittedtwice
register_globals: https://bugs.php.net/fix.php?id=78908&r=globals
PHP version support discontinued: https://bugs.php.net/fix.php?id=78908&r=phptooold
Daylight Savings: https://bugs.php.net/fix.php?id=78908&r=dst
IIS Stability: https://bugs.php.net/fix.php?id=78908&r=isapi
Install GNU Sed: https://bugs.php.net/fix.php?id=78908&r=gnused
Floating point limitations: https://bugs.php.net/fix.php?id=78908&r=float
No Zend Extensions: https://bugs.php.net/fix.php?id=78908&r=nozend
MySQL Configuration Error: https://bugs.php.net/fix.php?id=78908&r=mysqlcfg