Page MenuHomePhabricator

Exception in Production when trying to diff two different Entity types
Closed, DuplicatePublicPRODUCTION ERROR

Description

Error

Request URL: https://www.wikidata.org/w/index.php?title=Property:P569&diff=946222148&oldid=9428738
Request ID: XOgI2ApAAC4AABgBqxUAAAAP

message
InvalidArgumentException: Can only diff two entities of the same type
trace
#0 /srv/mediawiki/php-1.34.0-wmf.6/vendor/wikibase/data-model-services/src/Diff/EntityDiffer.php(40): Wikibase\DataModel\Services\Diff\EntityDiffer->assertTypesMatch(Wikibase\DataModel\Entity\Item, Wikibase\DataModel\Entity\Property)
#1 /srv/mediawiki/php-1.34.0-wmf.6/extensions/Wikibase/repo/includes/Content/EntityContent.php(565): Wikibase\DataModel\Services\Diff\EntityDiffer->diffEntities(Wikibase\DataModel\Entity\Item, Wikibase\DataModel\Entity\Property)
#2 /srv/mediawiki/php-1.34.0-wmf.6/extensions/Wikibase/repo/includes/Diff/EntityContentDiffView.php(135): Wikibase\EntityContent->getDiff(Wikibase\PropertyContent)
#3 /srv/mediawiki/php-1.34.0-wmf.6/includes/diff/DifferenceEngineSlotDiffRenderer.php(50): Wikibase\Repo\Diff\EntityContentDiffView->generateContentDiffBody(Wikibase\ItemContent, Wikibase\PropertyContent)
#4 /srv/mediawiki/php-1.34.0-wmf.6/includes/diff/DifferenceEngine.php(1061): DifferenceEngineSlotDiffRenderer->getDiff(Wikibase\ItemContent, Wikibase\PropertyContent)
#5 /srv/mediawiki/php-1.34.0-wmf.6/includes/diff/DifferenceEngine.php(979): DifferenceEngine->getDiffBody()
#6 /srv/mediawiki/php-1.34.0-wmf.6/includes/diff/DifferenceEngine.php(941): DifferenceEngine->getDiff(string, string, string)
#7 /srv/mediawiki/php-1.34.0-wmf.6/includes/diff/DifferenceEngine.php(709): DifferenceEngine->showDiff(string, string, string)
#8 /srv/mediawiki/php-1.34.0-wmf.6/includes/page/Article.php(931): DifferenceEngine->showDiffPage(boolean)
#9 /srv/mediawiki/php-1.34.0-wmf.6/includes/page/Article.php(615): Article->showDiffPage()
#10 /srv/mediawiki/php-1.34.0-wmf.6/extensions/Wikibase/repo/includes/Actions/ViewEntityAction.php(79): Article->view()
#11 /srv/mediawiki/php-1.34.0-wmf.6/extensions/Wikibase/repo/includes/Actions/ViewEntityAction.php(54): Wikibase\ViewEntityAction->showEntityPage()
#12 /srv/mediawiki/php-1.34.0-wmf.6/includes/MediaWiki.php(499): Wikibase\ViewEntityAction->show()
#13 /srv/mediawiki/php-1.34.0-wmf.6/includes/MediaWiki.php(294): MediaWiki->performAction(Article, Title)
#14 /srv/mediawiki/php-1.34.0-wmf.6/includes/MediaWiki.php(865): MediaWiki->performRequest()
#15 /srv/mediawiki/php-1.34.0-wmf.6/includes/MediaWiki.php(515): MediaWiki->main()
#16 /srv/mediawiki/php-1.34.0-wmf.6/index.php(42): MediaWiki->run()
#17 /srv/mediawiki/w/index.php(3): require(string)

Impact

If someone tries to diff two revisions that do not belong to the same entity type, then an exception is thrown.

Example diff that throws the Exception: https://www.wikidata.org/w/index.php?title=Property:P569&diff=946222148&oldid=9428738

Notes

Frequency
Rare, there was a single spike in the last 7 days:

image.png (220×1 px, 19 KB)