Page MenuHomePhabricator

Fatal error: ParserCache::getKey() : 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(
Closed, DeclinedPublic

Description

[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 &quot;params&quot; 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}


Version: unspecified
Severity: major
URL: https://fr.wikipedia.org/wiki/Théorème_des_accroissements_finis

Details

Reference
bz57370

Event Timeline

bzimport raised the priority of this task from to High.Nov 22 2014, 2:32 AM
bzimport added a project: MediaWiki-Parser.
bzimport set Reference to bz57370.
bzimport added a subscriber: Unknown Object (MLST).

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]

bd808 claimed this task.
bd808 subscribed.

Can't reproduce and no activity in a year. Let's open a new ticket (or reopen this one) if it comes back again.