[Mediawiki-l] AntiBot throws Hook errors
Tim Starling
tstarling at wikimedia.org
Mon Jun 27 00:35:39 UTC 2011
On 25/06/11 22:11, Bill Traynor wrote:
> Hooks.php:
> 129: // Run autoloader (workaround for call_user_func_array bug)
> 130 is_callable( $callback );
> 131
> 132 /* Call the hook. */
> 133 wfProfileIn( $func );
> 134 $retval = call_user_func_array( $callback, $hook_args );
> 135 wfProfileOut( $func );
>
> What bug is this workaround referring to? I searched Bugzilla for
> "call_user_func_array" but didn't find anything. Do I simply need to
> Upgrade?
The bug was in PHP, not MediaWiki.
Running the autoloader to resolve a class in call_user_func_array()
had at least one bug in it, possibly two. The known bug is that there
was a failure to expand an internal stack to allow enough space for
the autoloader call to take place, which occasionally led to a crash,
depending on stack depth and execution history.
We also saw a crash in very similar circumstances in a PHP version
where that bug was supposedly fixed. Both issues were observed in PHP
5.1.x, they're probably fixed in PHP 5.2.x. I don't think we've seen
any call_user_func_array() crashes since we switched to PHP 5.2.4.
-- Tim Starling
More information about the MediaWiki-l
mailing list