Page MenuHomePhabricator

wbgetentities BadMethodCallException when mediainfo entity is for a redirect page
Closed, ResolvedPublic

Description

Logstash: https://logstash.wikimedia.org/app/kibana#/doc/logstash-*/logstash-2019.01.09/mediawiki?id=AWg0gD4PzpjgITg6D_gd&_g=h@44136fa

Reproduction: https://test-commons.wikimedia.org/w/api.php?action=wbgetentities&format=json&props=info%7Clabels&ids=M275

This seems to be related to the wikipage for M275 being a redirect

Stacktrace:

[XDZmdgpAMDkAAJSiWLMAAAAD] /w/api.php?action=wbgetentities&format=json&props=info%7Clabels&ids=M275   BadMethodCallException from line 188 of /srv/mediawiki/php-1.33.0-wmf.12/extensions/Wikibase/lib/includes/Store/Sql/WikiPageEntityRevisionLookup.php: Call to a member function getTargetId() on a non-object (null)

#0 /srv/mediawiki/php-1.33.0-wmf.12/extensions/Wikibase/lib/includes/Store/DispatchingEntityRevisionLookup.php(73): Wikibase\Lib\Store\Sql\WikiPageEntityRevisionLookup->getLatestRevisionId(Wikibase\MediaInfo\DataModel\MediaInfoId, string)
#1 /srv/mediawiki/php-1.33.0-wmf.12/extensions/Wikibase/lib/includes/Store/TypeDispatchingEntityRevisionLookup.php(70): Wikibase\Lib\Store\DispatchingEntityRevisionLookup->getLatestRevisionId(Wikibase\MediaInfo\DataModel\MediaInfoId, string)
#2 /srv/mediawiki/php-1.33.0-wmf.12/extensions/Wikibase/lib/includes/Store/CacheRetrievingEntityRevisionLookup.php(108): Wikibase\Lib\Store\TypeDispatchingEntityRevisionLookup->getLatestRevisionId(Wikibase\MediaInfo\DataModel\MediaInfoId, string)
#3 /srv/mediawiki/php-1.33.0-wmf.12/extensions/Wikibase/lib/includes/Store/CachingEntityRevisionLookup.php(84): Wikibase\Lib\Store\CacheRetrievingEntityRevisionLookup->getEntityRevisionFromCache(Wikibase\MediaInfo\DataModel\MediaInfoId, integer, string)
#4 /srv/mediawiki/php-1.33.0-wmf.12/extensions/Wikibase/lib/includes/Store/CachingEntityRevisionLookup.php(104): Wikibase\Lib\Store\CachingEntityRevisionLookup->getEntityRevision(Wikibase\MediaInfo\DataModel\MediaInfoId, integer, string)
#5 /srv/mediawiki/php-1.33.0-wmf.12/extensions/Wikibase/lib/includes/Store/CachingEntityRevisionLookup.php(87): Wikibase\Lib\Store\CachingEntityRevisionLookup->fetchEntityRevision(Wikibase\MediaInfo\DataModel\MediaInfoId, integer, string)
#6 /srv/mediawiki/php-1.33.0-wmf.12/extensions/Wikibase/repo/includes/Api/GetEntities.php(275): Wikibase\Lib\Store\CachingEntityRevisionLookup->getEntityRevision(Wikibase\MediaInfo\DataModel\MediaInfoId)
#7 /srv/mediawiki/php-1.33.0-wmf.12/extensions/Wikibase/repo/includes/Api/GetEntities.php(257): Wikibase\Repo\Api\GetEntities->getEntityRevision(Wikibase\MediaInfo\DataModel\MediaInfoId, boolean)
#8 /srv/mediawiki/php-1.33.0-wmf.12/extensions/Wikibase/repo/includes/Api/GetEntities.php(136): Wikibase\Repo\Api\GetEntities->getEntityRevisionsFromEntityIds(array, boolean)
#9 /srv/mediawiki/php-1.33.0-wmf.12/includes/api/ApiMain.php(1596): Wikibase\Repo\Api\GetEntities->execute()
#10 /srv/mediawiki/php-1.33.0-wmf.12/includes/api/ApiMain.php(531): ApiMain->executeAction()
#11 /srv/mediawiki/php-1.33.0-wmf.12/includes/api/ApiMain.php(502): ApiMain->executeActionWithErrorHandling()
#12 /srv/mediawiki/php-1.33.0-wmf.12/api.php(87): ApiMain->execute()
#13 /srv/mediawiki/w/api.php(3): include(string)
#14 {main}