Last modified: 2014-10-12 18:19:46 UTC
If one of the items in my badgeItems setting does not exist (e.g. deleted or misconfigured), then I get an uncaught exception on Special:SetSiteLink: Unexpected non-MediaWiki exception encountered, of type "UserInputException" [7e14a62b] /index.php?title=Special:SetSiteLink Exception from line 145 of /Library/WebServer/Documents/php-master/extensions/WikidataBuild/extensions/Wikibase/repo/includes/specials/SpecialWikibaseRepoPage.php: Entity id is unknown Backtrace: #0 /Library/WebServer/Documents/php-master/extensions/WikidataBuild/extensions/Wikibase/repo/includes/specials/SpecialSetSiteLink.php(348): Wikibase\Repo\Specials\SpecialWikibaseRepoPage->loadEntity(Wikibase\DataModel\Entity\ItemId) #1 /Library/WebServer/Documents/php-master/extensions/WikidataBuild/extensions/Wikibase/repo/includes/specials/SpecialSetSiteLink.php(333): Wikibase\Repo\Specials\SpecialSetSiteLink->getTitleForBadge(Wikibase\DataModel\Entity\ItemId) #2 /Library/WebServer/Documents/php-master/extensions/WikidataBuild/extensions/Wikibase/repo/includes/specials/SpecialSetSiteLink.php(260): Wikibase\Repo\Specials\SpecialSetSiteLink->getBadgesOptionsHtml() #3 /Library/WebServer/Documents/php-master/extensions/WikidataBuild/extensions/Wikibase/repo/includes/specials/SpecialModifyEntity.php(205): Wikibase\Repo\Specials\SpecialSetSiteLink->getFormElements(NULL) #4 /Library/WebServer/Documents/php-master/extensions/WikidataBuild/extensions/Wikibase/repo/includes/specials/SpecialModifyEntity.php(99): Wikibase\Repo\Specials\SpecialModifyEntity->setForm(NULL) #5 /Library/WebServer/Documents/php-master/includes/specialpage/SpecialPage.php(357): Wikibase\Repo\Specials\SpecialModifyEntity->execute(NULL) #6 /Library/WebServer/Documents/php-master/includes/specialpage/SpecialPageFactory.php(516): SpecialPage->run(NULL) #7 /Library/WebServer/Documents/php-master/includes/MediaWiki.php(300): SpecialPageFactory::executePath(Title, RequestContext) #8 /Library/WebServer/Documents/php-master/includes/MediaWiki.php(609): MediaWiki->performRequest() #9 /Library/WebServer/Documents/php-master/includes/MediaWiki.php(460): MediaWiki->main() #10 /Library/WebServer/Documents/php-master/index.php(46): MediaWiki->run() #11 {main}
I'm not sure if we should check for the existance of the badge item in every place because the exception is the result of a poor configuration. However, we should perhaps prevent the deletion of those badge items although this would also remove responsibilities from the community and its administrators.
Change 163351 had a related patch set uploaded by Bene: Catch exceptions on SpecialSetSiteLink https://gerrit.wikimedia.org/r/163351
*** Bug 71232 has been marked as a duplicate of this bug. ***
Change 163351 merged by jenkins-bot: Catch exceptions on SpecialSetSiteLink https://gerrit.wikimedia.org/r/163351