ID: 47948
Comment by: janssens dot cyril at gmail dot com
Reported By: ehassler at synapsestudios dot com
Status: No Feedback
Bug Type: Reproducible crash
Operating System: *
PHP Version: 5.2.9
New Comment:
Same problem on Debian 5 32bit + php 5.2.6 when using recursive
call_user_func_array function.
The workaround is to use eval statement:
$object = 'foo';
$method = 'bar';
$args = array();//some arguments
$i=0;
$strArg='';
foreach ($args as $arg){
$varname = 'arg'.$i;
$$varname = $arg;
$strArg .= '$'.$varname.',';
$i++;
}
$strArg = substr($strArg,0,-1);
$cmd = '$_return = '.$object.'::'.$method.'('.$strArg.');';
eval($cmd);
//Enjoy :-)
return $_return;
Regards,
Cyril
Previous Comments:
------------------------------------------------------------------------
[2010-01-11 01:00:00] php-bugs at lists dot php dot net
No feedback was provided for this bug for over a week, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".
------------------------------------------------------------------------
[2010-01-08 16:27:47] muqker at muqker dot com
I didn't know about Edit Submission. However, I did not open this bug,
I just had the same problem and tried to provide a script to
reproduce. Should I use that anyway?
Yes, the crash is there. I am getting:
[Fri Jan 08 17:55:49 2010] [notice] child pid 3534 exit signal
Segmentation fault (11)
in apache2's error log and the browser reports that it receives "Error
324 (net::ERR_EMPTY_RESPONSE): Unknown error."
php -n index.php ends with "Segmentation Fault".
If I include explicitly the class that otherwise autoload tries to
load, or if I do not use call_user_func_array, but a normal call, then
the crash is gone.
Some system info:
PHP Version 5.2.6-3ubuntu4.2
Apache Version Apache/2.2.11 (Ubuntu) DAV/2 SVN/1.5.4 PHP/5.2.6-
3ubuntu4.2 with Suhosin-Patch
Apache API Version 20051115
Loaded Modules core mod_log_config mod_logio prefork http_core mod_so
mod_alias mod_auth_basic mod_authn_file mod_authz_default
mod_authz_groupfile mod_authz_host mod_authz_user mod_autoindex
mod_cgi mod_dav mod_dav_fs mod_dav_svn mod_authz_svn mod_deflate
mod_dir mod_env mod_mime mod_negotiation mod_php5 mod_rewrite
mod_setenvif mod_status
Linux dufus 2.6.28-16-generic #55-Ubuntu SMP Tue Oct 20 19:48:24 UTC
2009 i686
GNU C Library stable release version 2.9, by Roland McGrath et al.
Let me know if I can provide any other info.
------------------------------------------------------------------------
[2010-01-03 20:54:56] [email protected]
When editing you have to use the "Edit Submission" tab to re-open it.
Are you sure the script you provided is correct - it works for me, as
far as I can tell, on 5.2 and 5.3 while there is a warning for a missing
parameter:
$ php -n index.php
<pre>array(7) {
[0]=>
array(7) {
["file"]=>
string(47) "/tmp/test47948/muqker/index.php"
["line"]=>
int(41)
["function"]=>
string(1) "f"
["class"]=>
string(1) "A"
["object"]=>
object(A)#2 (0) {
}
["type"]=>
string(2) "->"
["args"]=>
array(0) {
}
}
[1]=>
array(7) {
["file"]=>
string(47) "/tmp/test47948/muqker/index.php"
["line"]=>
int(45)
["function"]=>
string(1) "g"
["class"]=>
string(1) "A"
["object"]=>
object(A)#2 (0) {
}
["type"]=>
string(2) "->"
["args"]=>
array(0) {
}
}
[2]=>
array(7) {
["file"]=>
string(47) "/tmp/test47948/muqker/index.php"
["line"]=>
int(15)
["function"]=>
string(1) "h"
["class"]=>
string(1) "A"
["object"]=>
object(A)#2 (0) {
}
["type"]=>
string(2) "->"
["args"]=>
array(0) {
}
}
[3]=>
array(7) {
["file"]=>
string(47) "/tmp/test47948/muqker/index.php"
["line"]=>
int(19)
["function"]=>
string(2) "zz"
["class"]=>
string(10) "Controller"
["object"]=>
object(Controller)#1 (0) {
}
["type"]=>
string(2) "->"
["args"]=>
array(0) {
}
}
[4]=>
array(7) {
["file"]=>
string(47) "/tmp/test47948/muqker/index.php"
["line"]=>
int(23)
["function"]=>
string(10) "executeNew"
["class"]=>
string(10) "Controller"
["object"]=>
object(Controller)#1 (0) {
}
["type"]=>
string(2) "->"
["args"]=>
array(1) {
[0]=>
&NULL
}
}
[5]=>
array(7) {
["file"]=>
string(47) "/tmp/test47948/muqker/index.php"
["line"]=>
int(59)
["function"]=>
string(13) "executeClient"
["class"]=>
string(10) "Controller"
["object"]=>
object(Controller)#1 (0) {
}
["type"]=>
string(2) "->"
["args"]=>
array(1) {
[0]=>
&NULL
}
}
[6]=>
array(4) {
["file"]=>
string(47) "/tmp/test47948/muqker/index.php"
["line"]=>
int(62)
["function"]=>
string(4) "main"
["args"]=>
array(0) {
}
}
}
Warning: Missing argument 2 for
CheckedFacilityPeer::getCheckedFacilities() in
/tmp/test47948/muqker/CheckedFacilityPeer.php on line 42
ff
------------------------------------------------------------------------
[2010-01-03 17:09:52] muqker at muqker dot com
I see the status has changed to "No Feedback". Is the script I provided
to reproduce not ok? I am sorry but I do not have a test environment
where I can try your snapshot.
------------------------------------------------------------------------
[2009-12-22 01:00:00] php-bugs at lists dot php dot net
No feedback was provided for this bug for over a week, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/47948
--
Edit this bug report at http://bugs.php.net/?id=47948&edit=1