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:

Dropping the zend guard loader did the trick! Sorry I didn't read the whole 
thread 
before posting... first time here. Thanks!


Previous Comments:
------------------------------------------------------------------------
[2012-09-18 23:29:38] php at guyjohnson dot org

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.

------------------------------------------------------------------------
[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] ahar...@php.net

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] johan...@php.net

Please disable ionCube Loader, Zend Guard Loader and XCache as all of these 3rd 
party modules change the engine's behaviour.

------------------------------------------------------------------------


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

Reply via email to