Req #76274 [Opn->Sus]: FatalExceptions don't include variables and stack traces under some conditions
| From: | requinix@php.net | Date: | Fri, 27 Apr 2018 01:47:52 +0000 |
| Subject: | Req #76274 [Opn->Sus]: FatalExceptions don't include variables and stack traces under some conditions | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-214917@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=76274&edit=1
ID: 76274
Updated by: requinix@php.net
Reported by: archon810 at gmail dot com
Summary: FatalExceptions don't include variables and stack
traces under some conditions
-Status: Open
+Status: Suspended
Type: Feature/Change Request
-Package: *General Issues
+Package: Scripting Engine problem
Operating System: Linux
PHP Version: 7.2.5
Block user comment: N
Private report: N
New Comment:
This is but a lowly bug tracker. Try the internals mailing list.
https://secure.php.net/mailing-lists.php
Previous Comments:
------------------------------------------------------------------------
[2018-04-26 23:13:56] archon810 at gmail dot com
I'm going to defer to the Sentry dev I've been conversing with, but it is my understanding
that it's PHP that doesn't provide those variables in the event of, say, an OOM fatal
exception, thus even if you freed up some memory, the data wouldn't be there to grab.
In other words, it's PHP that isn't giving us the data rather than Sentry.
------------------------------------------------------------------------
[2018-04-26 23:02:57] hanskrentel at yahoo dot de
you can do in PHP userland, at the beginning of your app (and before the error handler is
triggered), reserve some memory (e.g. by assigning a larger string to a global variable), then when
the error is triggered and w/ the problems you talk about, free that buffer.
------------------------------------------------------------------------
[2018-04-26 22:57:17] archon810 at gmail dot com
Description:
------------
Hi,
This is a follow-up directly with the PHP team regarding https://github.com/getsentry/sentry-php/issues/582,
a Sentry issue about capturing variables and stack traces for PHP.
The problem is, after certain fatal exceptions, like out of memory or maximum execution time
exceeded, Sentry is unable to capture stack traces and variables.
The conclusion in the thread is that error_get_last
(http://php.net/manual/en/function.error-get-last.php) does not provide them to Sentry in such
cases, so I'm here to facilitate a discussion around the subject and find a possible fix
because it's extremely valuable to be able to see the variables and stack traces for such fatal
failures.
If the problem is that PHP's limitation, such as bumping into the memory max, prevents this
extra info from being passed, perhaps we can introduce a configurable buffer which can help house
this data?
Please discuss.
Thank you.
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=76274&edit=1