Campsite task
As well as fixing this one stacktrace, all other "Checker"s should have their checkConstraint method checked for a similar issue.
Error Report
Error
Request ID: W@Ic1gpAIDwAAC08Gs4AAACW
BadMethodCallException: Call to a member function getStatements() on a non-object (null)
#0 /srv/mediawiki/php-1.33.0-wmf.2/extensions/WikibaseQualityConstraints/src/ConstraintCheck/DelegatingConstraintChecker.php(553): WikibaseQuality\ConstraintReport\ConstraintCheck\Checker\ContemporaryChecker->checkConstraint(WikibaseQuality\ConstraintReport\ConstraintCheck\Context\MainSnakContext, WikibaseQuality\ConstraintReport\Constraint) #1 /srv/mediawiki/php-1.33.0-wmf.2/extensions/WikibaseQualityConstraints/src/ConstraintCheck/DelegatingConstraintChecker.php(447): WikibaseQuality\ConstraintReport\ConstraintCheck\DelegatingConstraintChecker->getCheckResultFor(WikibaseQuality\ConstraintReport\ConstraintCheck\Context\MainSnakContext, WikibaseQuality\ConstraintReport\Constraint) #2 /srv/mediawiki/php-1.33.0-wmf.2/extensions/WikibaseQualityConstraints/src/ConstraintCheck/DelegatingConstraintChecker.php(362): WikibaseQuality\ConstraintReport\ConstraintCheck\DelegatingConstraintChecker->checkConstraintsForMainSnak(Wikibase\DataModel\Entity\Item, Wikibase\DataModel\Statement\Statement, NULL, array) #3 /srv/mediawiki/php-1.33.0-wmf.2/extensions/WikibaseQualityConstraints/src/ConstraintCheck/DelegatingConstraintChecker.php(334): WikibaseQuality\ConstraintReport\ConstraintCheck\DelegatingConstraintChecker->checkStatement(Wikibase\DataModel\Entity\Item, Wikibase\DataModel\Statement\Statement, NULL, array) #4 /srv/mediawiki/php-1.33.0-wmf.2/extensions/WikibaseQualityConstraints/src/ConstraintCheck/DelegatingConstraintChecker.php(154): WikibaseQuality\ConstraintReport\ConstraintCheck\DelegatingConstraintChecker->checkEveryStatement(Wikibase\DataModel\Entity\Item, NULL, array) #5 /srv/mediawiki/php-1.33.0-wmf.2/extensions/WikibaseQualityConstraints/src/Api/CheckingResultsSource.php(54): WikibaseQuality\ConstraintReport\ConstraintCheck\DelegatingConstraintChecker->checkAgainstConstraintsOnEntityId(Wikibase\DataModel\Entity\ItemId, NULL, array, array) #6 /srv/mediawiki/php-1.33.0-wmf.2/extensions/WikibaseQualityConstraints/src/Api/CachingResultsSource.php(247): WikibaseQuality\ConstraintReport\Api\CheckingResultsSource->getResults(array, array, NULL, array) #7 /srv/mediawiki/php-1.33.0-wmf.2/extensions/WikibaseQualityConstraints/src/Api/CachingResultsSource.php(179): WikibaseQuality\ConstraintReport\Api\CachingResultsSource->getAndStoreResults(array, array, NULL, array) #8 /srv/mediawiki/php-1.33.0-wmf.2/extensions/WikibaseQualityConstraints/src/Api/CheckConstraints.php(181): WikibaseQuality\ConstraintReport\Api\CachingResultsSource->getResults(array, array, NULL, array) #9 /srv/mediawiki/php-1.33.0-wmf.2/includes/api/ApiMain.php(1570): WikibaseQuality\ConstraintReport\Api\CheckConstraints->execute() #10 /srv/mediawiki/php-1.33.0-wmf.2/includes/api/ApiMain.php(531): ApiMain->executeAction() #11 /srv/mediawiki/php-1.33.0-wmf.2/includes/api/ApiMain.php(502): ApiMain->executeActionWithErrorHandling() #12 /srv/mediawiki/php-1.33.0-wmf.2/api.php(87): ApiMain->execute()
Impact
Certain user queries for wbcheckconstraints API consistently fail with a generic "Internal api error" exception.
Notes
WMF Logstash contains entries for this error description since at least 30 days (1.32.0-wmf.24 or earlier).
For example: https://www.wikidata.org/w/api.php?action=wbcheckconstraints&format=json&id=Q2518823.
See also: T128342