Edit report at https://bugs.php.net/bug.php?id=61766&edit=1
ID: 61766
Comment by: php at guyjohnson dot org
Reported by: admin dot windows at gmail dot com
Summary: call_user_func sends scrambled class name to
autoload
Status: Not a bug
Type: Bug
Package: *General Issues
Operating System: ALL
PHP Version: 5.3.10
Block user comment: N
Private report: N
New Comment:
I am encountering a very similar problem. I use call_user_func_array to execute
a static class method and I get a corrupted call. Unlike the original report,
it's not the class name that's corrupted, but rather the method name in my
case.
Here's the code:
return array_keys(call_user_func_array(array(get_called_class(), 'fielddefs'),
func_get_args()));
By the time the method is called, the method name is completely corrupted to
become this method name: &j-2!?{7k
Here's a string-ified backtrace:
exception 'ErrorException' with message 'WARNING: Attempt to call e_member->&j-
2!?{7k failed because "" is not callable (iaw:element:member.&j-2!?{7k).' in
/home7/inneract/sites/iawtest/lib/capcelinstance.php:650
Stack trace:
#0 [internal function]: CapcelInstance->__call('&j-2!?{7k', Array)
#1 [internal function]: e_member->&j-2!?{7k(Object(CapcelPortal), 10, NULL,
Array)
#2 /home7/inneract/sites/iawtest/lib/capcelinstance.php(282):
call_user_func_array(Array, Array)
#3 [internal function]: CapcelInstance->field_list(Object(CapcelPortal), 10,
NULL, Array)
#4 /home7/inneract/sites/iawtest/lib/capcelinstance.php(324):
call_user_func_array(Array, Array)
#5 /home7/inneract/sites/iawtest/app/iaw/a_establishmember.php(115):
CapcelInstance->render_fields(Object(CapcelPortal), 10, NULL, Array)
#6 /home7/inneract/sites/iawtest/app/web/scheduler.php(31): a_EstablishMember-
>render(Object(CapcelPortal), Array)
#7 {main}
Frame 0 and the exception itself are only symptoms. The problem is first
visible
in frame 1 and there is no trace of a problem when call_user_func_array() is
called in line 282 of the code as shown in frame 2.
I have examined a full backtrace in detail and confirmed that there is no
corruption of any kind visible going into the call to call_user_func_array().
The method "fielddefs" does exist in the class CapcelInstance, of which
e_member
is a subclass.
I strongly believe there's a real bug in call_user_func_array... some kind of
data corruption occurs as it executes and before it calls the target callable.
Previous Comments:
------------------------------------------------------------------------
[2012-05-25 09:35:52] hefi at lajt dot hu
I met the same problem. I found that if I commented out ZendGuardLoader.so then
it would worked fine!
------------------------------------------------------------------------
[2012-04-20 01:54:53] [email protected]
We really can't support any third party extensions. It could be any or none of
them.
Since you're unable to disable those extensions, I'm going to close this bug
for
now. If you are able to get your host to disable all third party extensions,
including the Suhosin patch, and the behaviour recurs, please reopen the bug.
------------------------------------------------------------------------
[2012-04-19 10:37:07] admin dot windows at gmail dot com
Unfortunately I don't have rights to enable or disable modules on my cloud, I
would pass this issue to my hosting support.
Also I noticed that server is protected with the Suhosin Patch 0.9.10 can it
cause
this behavior?
------------------------------------------------------------------------
[2012-04-19 09:21:26] [email protected]
Please disable ionCube Loader, Zend Guard Loader and XCache as all of these 3rd
party modules change the engine's behaviour.
------------------------------------------------------------------------
[2012-04-19 09:06:56] admin dot windows at gmail dot com
Hi,
I have following extensions enabled on my hosting (Rackspace):
Core, date, ereg, libxml, openssl, pcre, sqlite3, zlib, bz2, calendar, ctype,
hash, filter, ftp, gettext, gmp, SPL, iconv, Reflection, session, standard,
shmop, SimpleXML, sockets, exif, tokenizer, xml, apache2handler, bcmath, curl,
dba, dom, fileinfo, gd, imagick, imap, intl, json, ldap, pdf, mbstring, mcrypt,
memcache, mongo, mssql, mysql, mysqli, odbc, PDO, pdo_dblib, pdo_mysql,
PDO_ODBC, pdo_pgsql, pdo_sqlite, pgsql, Phar, posix, pspell, recode, redis,
snmp, soap, sysvmsg, sysvsem, sysvshm, tidy, uploadprogress, wddx, xmlreader,
xmlrpc, xmlwriter, xsl, yaz, zip, ionCube Loader, Zend Guard Loader, XCache
------------------------------------------------------------------------
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
https://bugs.php.net/bug.php?id=61766
--
Edit this bug report at https://bugs.php.net/bug.php?id=61766&edit=1