On 8/27/09 5:55 PM, Juliano F. Ravasi wrote:
> I'm the author of the Wikilog MediaWiki extension. Today, a user
> contacted me about an error that MediaWiki is reporting concerning the
> extension:
>
>       Detected bug in an extension! Hook WikilogHooks::UnknownAction
>       failed to return a value; should return true to continue hook
>       processing or false to abort.
[snip]
> The error message seems really obvious, except that there should be no
> way for the reported function to finish without returning a value.

The callback is called via call_user_func_array, which apparently can 
end up returning null in certain failure cases:

http://bugs.php.net/bug.php?id=47554

You can see an example here where I try passing in an invalid callback 
(as I don't have the class locally, it's not callable):

 > var_dump(call_user_func(array('WikilogHooks','UnknownAction')));
Warning: call_user_func(WikilogHooks::UnknownAction): First argument is 
expected to be a valid callback in 
/Library/WebServer/Documents/trunk/maintenance/eval.php(60) : eval()'d 
code on line 1
NULL

That warning message may not be shown depending on PHP's error_log and 
display_errors settings, leaving only MediaWiki's display of the 
now-surprising exception about the hook function returning null.

There could be several reasons it's failing:

* something's trashing the $wgAutoloadClasses entries, causing the hooks 
class to not be loaded (I suspect this is most likely; another extension 
might be responsible)
* missing or damaged WikilogHooks.php file
* missing or damaged Wikilog.php file
* weird PHP breakage like a borked opcode cache

-- brion

_______________________________________________
MediaWiki-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-l

Reply via email to