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