Page MenuHomePhabricator

Bad revision error when trying to save more than 1 tag
Closed, ResolvedPublic

Description

When I try to publish more than 1 tag for an image, I get the following BadRevisionException:

"Exception caught: No such revision found for M189: 422"

This happens on the save attempt for the second tag (the first one saves successfully), and the revision that's not being found appears to be the base rev:

image.png (878×2 px, 422 KB)

Full stack trace:

"Wikibase\Lib\Store\BadRevisionException at /var/www/mediawiki/extensions/Wikibase/lib/includes/Store/Sql/WikiPageEntityRevisionLookup.php(174)
#0 /var/www/mediawiki/extensions/Wikibase/lib/includes/Store/DispatchingEntityRevisionLookup.php(59): Wikibase\Lib\Store\Sql\WikiPageEntityRevisionLookup->getEntityRevision(Wikibase\MediaInfo\DataModel\MediaInfoId, integer, string)
#1 /var/www/mediawiki/extensions/WikibaseMediaInfo/src/DataAccess/Store/EntityIdFixingRevisionLookup.php(48): Wikibase\Lib\Store\DispatchingEntityRevisionLookup->getEntityRevision(Wikibase\MediaInfo\DataModel\MediaInfoId, integer, string)
#2 /var/www/mediawiki/extensions/Wikibase/lib/includes/Store/TypeDispatchingEntityRevisionLookup.php(54): Wikibase\MediaInfo\DataAccess\Store\EntityIdFixingRevisionLookup->getEntityRevision(Wikibase\MediaInfo\DataModel\MediaInfoId, integer, string)
#3 /var/www/mediawiki/extensions/Wikibase/repo/includes/EditEntity/MediawikiEditEntity.php(317): Wikibase\Lib\Store\TypeDispatchingEntityRevisionLookup->getEntityRevision(Wikibase\MediaInfo\DataModel\MediaInfoId, integer, string)
#4 /var/www/mediawiki/extensions/Wikibase/repo/includes/EditEntity/MediawikiEditEntity.php(410): Wikibase\Repo\EditEntity\MediawikiEditEntity->getBaseRevision()
#5 /var/www/mediawiki/extensions/Wikibase/repo/includes/EditEntity/MediawikiEditEntity.php(684): Wikibase\Repo\EditEntity\MediawikiEditEntity->fixEditConflict(Wikibase\MediaInfo\DataModel\MediaInfo)
#6 /var/www/mediawiki/extensions/Wikibase/repo/includes/EditEntity/StatsdSaveTimeRecordingEditEntity.php(74): Wikibase\Repo\EditEntity\MediawikiEditEntity->attemptSave(Wikibase\MediaInfo\DataModel\MediaInfo, string, integer, string, boolean, array)
#7 /var/www/mediawiki/extensions/MachineVision/src/Handler/WikidataDepictsSetter.php(118): Wikibase\Repo\EditEntity\StatsdSaveTimeRecordingEditEntity->attemptSave(Wikibase\MediaInfo\DataModel\MediaInfo, string, integer, string, NULL, array)
#8 /var/www/mediawiki/extensions/MachineVision/src/Handler/WikidataIdHandler.php(85): MediaWiki\Extension\MachineVision\Handler\WikidataDepictsSetter->addDepicts(User, LocalFile, string, string)
#9 /var/www/mediawiki/extensions/MachineVision/src/Handler/WikidataIdHandler.php(80): MediaWiki\Extension\MachineVision\Handler\WikidataIdHandler->handleLabelAccepted(User, LocalFile, string, string)
#10 /var/www/mediawiki/extensions/MachineVision/src/Api/ApiReviewImageLabels.php(188): MediaWiki\Extension\MachineVision\Handler\WikidataIdHandler->handleLabelReview(User, LocalFile, string, string, integer)
#11 /var/www/mediawiki/extensions/MachineVision/src/Api/ApiReviewImageLabels.php(106): MediaWiki\Extension\MachineVision\Api\ApiReviewImageLabels->propagateSetLabelSuccess(LocalFile, string, string, integer)
#12 /var/www/mediawiki/includes/api/ApiMain.php(1588): MediaWiki\Extension\MachineVision\Api\ApiReviewImageLabels->execute()
#13 /var/www/mediawiki/includes/api/ApiMain.php(537): ApiMain->executeAction()
#14 /var/www/mediawiki/includes/api/ApiMain.php(508): ApiMain->executeActionWithErrorHandling()
#15 /var/www/mediawiki/api.php(83): ApiMain->execute()
#16 {main}"

Event Timeline

@egardner Mateus and I can't reproduce this error. Multiple depicts statements are created without issue for multiple approved tags. Once your environment is set up, I'd be interested in whether or not you hit this error.

I am thinking that maybe we can get away with seeing if this manifests in production, and fix it during the testing period if so. It's too difficult to test locally, especially now that we're disallowing duplicate depicts statements.

Note to self: check this out on test-commons with the random suggestion provider.

Mholloway claimed this task.

Never reproduced, would have been fixed by the elimination of baseRev checking anyway.