Last modified: 2014-06-13 00:22:15 UTC
[21-Nov-2013 21:01:25] Fatal error: ParserCache::getKey() [<a href='parsercache.getkey'>parsercache.getkey</a>]: The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition "params" of the object you are trying to operate on was loaded _before_ unserialize() gets called or provide a __autoload() function to load the class definition at /usr/local/apache/common-local/php-1.23wmf3/includes/parser/ParserCache.php on line 139 Server: mw1058 Method: GET URL: http://fr.wikipedia.org/wiki/Théorème_des_accroissements_finis Backtrace: #0 /usr/local/apache/common-local/php-1.23wmf3/includes/parser/ParserCache.php(139): ParserCache->getKey() #1 /usr/local/apache/common-local/php-1.23wmf3/includes/parser/ParserCache.php(181): ParserCache->getKey(Object(Article), Object(ParserOptions), false) #2 /usr/local/apache/common-local/php-1.23wmf3/includes/Article.php(628): ParserCache->get(Object(Article), Object(ParserOptions)) #3 /usr/local/apache/common-local/php-1.23wmf3/includes/actions/ViewAction.php(44): Article->view() #4 /usr/local/apache/common-local/php-1.23wmf3/includes/Wiki.php(441): ViewAction->show() #5 /usr/local/apache/common-local/php-1.23wmf3/includes/Wiki.php(305): MediaWiki->performAction(Object(Article), Object(Title)) #6 /usr/local/apache/common-local/php-1.23wmf3/includes/Wiki.php(596): MediaWiki->performRequest() #7 /usr/local/apache/common-local/php-1.23wmf3/includes/Wiki.php(460): MediaWiki->main() #8 /usr/local/apache/common-local/php-1.23wmf3/index.php(49): MediaWiki->run() #9 /usr/local/apache/common-local/w/index.php(3): require('/usr/local/apac...') #10 {main}
Only seems to be happening on fr.wikipedia.org/wiki/Théorème_des_accroissements_finis
Relatedly, it'd be nice if we could just purge a specific page from the parser cache... purgeParserCache.php only does age/expiredate
Also on http://fr.wikipedia.org/wiki/Ergine - ParserCache::getKey() retrieves on options key from memcached, here's what it got: object(__PHP_Incomplete_Class)#168 (6) { ["__PHP_Incomplete_Class_Name"]=> string(9) "paramsms" ["mVersion"]=> string(5) "1.6.4" ["mCacheTime"]=> string(14) "20131121150037" ["mCacheExpiry"]=> int(2592000) ["mContainsOldMagic"]=> bool(false) ["mUsedOptions"]=> array(3) { [0]=> string(9) "thumbsize" [1]=> string(14) "numberheadings" [2]=> string(13) "stubthreshold" } } Note that null editing Théorème_des_accroissements_finis fixed the error there for me. Keeping Ergine as a guinea pig.
Change 97704 had a related patch set uploaded by MaxSem: Fix fatal in ParserCache::getKey() https://gerrit.wikimedia.org/r/97704
Hashar added a comment on the patch: "That would still leave the invalid key in the cache. Would it make sense to look at the serialized data, log a wgDebugLogGroup entry about the class not being expected and unset it as well?"
Change 97704 abandoned by Hashar: Fix fatal in ParserCache::getKey() Reason: Abandoning for now, cleaning up dashboards. https://gerrit.wikimedia.org/r/97704
[Patch was abandoned, resetting status]