Catchable fatal error: Argument 1 passed to Wikibase\Repo\Api\EditEntity::getRemoveStatementChangeOps() must be an instance of array, string given in /srv/mediawiki/php-1.26wmf19/extensions/Wikidata/extensions/Wikibase/repo/includes/api/EditEntity.php on line 562
Description
Details
Subject | Repo | Branch | Lines +/- | |
---|---|---|---|---|
Add missing type check to ClaimsChangeOpDeserializer | mediawiki/extensions/Wikibase | master | +18 -7 |
Event Timeline
note this is in wmf19, so not new for this week's deployment but could have been new from last week
found a stack trace...
ErrorException from line 562 of /srv/mediawiki/php-1.26wmf19/extensions/Wikidata/extensions/Wikibase/repo/includes/api/EditEntity.php: PHP Error: Argument 1 passed to Wikibase\Repo\Api\EditEntity::getRemoveStatementChangeOps() must be an instance of array, string given {"exception":"[Exception ErrorException] (/srv/mediawiki/php-1.26wmf19/extensions/Wikidata/extensions/Wikibase/repo/includes/api/EditEntity.php:562) PHP Error: Argument 1 passed to Wikibase\\Repo\\Api\\EditEntity::getRemoveStatementChangeOps() must be an instance of array, string given\n[stacktrace]\n#0 /srv/mediawiki/php-1.26wmf19/extensions/Wikidata/extensions/Wikibase/repo/includes/api/EditEntity.php(562): MWExceptionHandler::handleError(integer, string, string, integer)\n#1 /srv/mediawiki/php-1.26wmf19/extensions/Wikidata/extensions/Wikibase/repo/includes/api/EditEntity.php(504): Wikibase\\Repo\\Api\\EditEntity->getRemoveStatementChangeOps(string)\n#2 /srv/mediawiki/php-1.26wmf19/extensions/Wikidata/extensions/Wikibase/repo/includes/api/EditEntity.php(295): Wikibase\\Repo\\Api\\EditEntity->getClaimsChangeOps(array)\n#3 /srv/mediawiki/php-1.26wmf19/extensions/Wikidata/extensions/Wikibase/repo/includes/api/EditEntity.php(235): Wikibase\\Repo\\Api\\EditEntity->getChangeOps(array, Wikibase\\DataModel\\Entity\\Item)\n#4 /srv/mediawiki/php-1.26wmf19/extensions/Wikidata/extensions/Wikibase/repo/includes/api/ModifyEntity.php(439): Wikibase\\Repo\\Api\\EditEntity->modifyEntity(Wikibase\\DataModel\\Entity\\Item, array, integer)\n#5 /srv/mediawiki/php-1.26wmf19/includes/api/ApiMain.php(1093): Wikibase\\Repo\\Api\\ModifyEntity->execute()\n#6 /srv/mediawiki/php-1.26wmf19/includes/api/ApiMain.php(432): ApiMain->executeAction()\n#7 /srv/mediawiki/php-1.26wmf19/includes/api/ApiMain.php(405): ApiMain->executeActionWithErrorHandling()\n#8 /srv/mediawiki/php-1.26wmf19/api.php(88): ApiMain->execute()\n#9 /srv/mediawiki/w/api.php(3): include(string)\n#10 {main}\n"}
Seems easy to reproduce by passing {"claims":{"key":"value"}} as data to wbeditentity.
I'm seeing this in 1.27.0-wmf.5:
Catchable fatal error: Argument 1 passed to Wikibase\Repo\Api\EditEntity::getRemoveStatementChangeOps() must be an instance of array, string given in /srv/mediawiki/php-1.27.0-wmf.5/extensions/Wikidata/extensions/Wikibase/r epo/includes/api/EditEntity.php on line 562
Change 349204 had a related patch set uploaded (by Thiemo Mättig (WMDE)):
[mediawiki/extensions/Wikibase@master] Add missing type check to ClaimsChangeOpDeserializer
Change 349204 merged by jenkins-bot:
[mediawiki/extensions/Wikibase@master] Add missing type check to ClaimsChangeOpDeserializer