Page MenuHomePhabricator

Catchable fatal error: Argument 1 passed to Wikibase\Claims::getClaimsForProperty() in property parser function
Closed, ResolvedPublic

Description

I am getting a fatal error in the client:

Catchable fatal error: Argument 1 passed to Wikibase\Claims::getClaimsForProperty() must be an instance of Wikibase\DataModel\Entity\PropertyId, instance of Wikibase\DataModel\Entity\EntityId given, called in /var/www/common/php-master/extensions/Wikibase/client/includes/parserhooks/PropertyParserFunctionRenderer.php on line 86 and defined in /var/www/common/php-master/extensions/WikibaseDataModel/DataModel/Claim/Claims.php on line 370

This issue is caused by older data from memcached that my install is using. The TermPropertyLabelResolver pulls the ids from memcached.

e.g.

'coordinate' => Wikibase\DataModel\Entity\EntityId::__set_state(array( 'entityType' => 'property', 'serialization' => 'P5', ))

These are EntityId objects, but not specifically PropertyId objects that Claims::getClaimsForProperty() now requires.

This issue *will* hit us in production, so must fix asap.


Version: master
Severity: critical

Details

Reference
bz56051

Event Timeline

bzimport raised the priority of this task from to Needs Triage.Nov 22 2014, 2:27 AM
bzimport set Reference to bz56051.
bzimport added a subscriber: Unknown Object (MLST).

and we need to check every possible place this issue might occur

Change 91406 had a related patch set uploaded by Aude:
(bug 56051) Use PropertyId objects in TermPropertyLabelResolver, ensure recache when needed

https://gerrit.wikimedia.org/r/91406

Change 91406 merged by jenkins-bot:
(bug 56051) Use PropertyId objects in TermPropertyLabelResolver, ensure recache when needed

https://gerrit.wikimedia.org/r/91406