#33621 [Asn->Fbk]: Exit code 0377 when calling a non-existant method using a dynamic call
| From: | tony2001@php.net | Date: | Sat, 09 Jul 2005 09:39:29 +0000 |
| Subject: | #33621 [Asn->Fbk]: Exit code 0377 when calling a non-existant method using a dynamic call | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-81611@lists.php.net to get a copy of this message | ||
ID: 33621
Updated by: tony2001@php.net
Reported By: davey@php.net
-Status: Assigned
+Status: Feedback
-Bug Type: Reproducible crash
+Bug Type: Unknown/Other Function
Operating System: Ubuntu Linux 5.04
PHP Version: 5CVS-2005-07-09 (dev)
Assigned To: dmitry
New Comment:
Are you sure you have display_errors set to ON ?
I can't see any "crashes" here, only Fatal error and the following exit
with status 0377.
Exactly the same result you'll get with
<?php nonex(); ?>
Previous Comments:
------------------------------------------------------------------------
[2005-07-09 05:56:44] davey@php.net
After further testing, I have found two more cases where this error
occurs:
When __call is defined, but no args are specified (i.e. function
__call() { }) and is_callable() or method_exists() are called, Exit
Code 0377 is also given.
Whilst I understand this is an erroneous situation, it should either
not care (i.e. func_get_args is being used for some stupid reason) or
throw an error.
- Davey
------------------------------------------------------------------------
[2005-07-09 05:17:59] davey@php.net
Description:
------------
I'm using head as of 5 minutes ago, approx: 23:10 EST
Calling a non-existant method using the $obj->{$var}() notation causes
an unexplained exit of the script with the exit code 0377.
Reproduce code:
---------------
<?php
class foo {
function __construct()
{
$var = "foo";
$this->{$var}();
}
}
$foo = new foo;
?>
Expected result:
----------------
Nothing
Actual result:
--------------
With --enable-debug all I get this from gdb:
(gdb) run -f
/var/www/php-cvs/testcase/evil_death_variable_method_call_nonexistant.php
Starting program: /var/www/php-cvs/php-src/sapi/cli/php -f
/var/www/php-cvs/testcase/evil_death_variable_method_call_nonexistant.php
[Thread debugging using libthread_db enabled]
[New Thread -1214975328 (LWP 9095)]
Program exited with code 0377.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=33621&edit=1