Lucas_Werkmeister_WMDE created this task.
Lucas_Werkmeister_WMDE added projects: Wikidata, Lexicographical data, 
Wikimedia-production-error (Shared Build Failure), Wikidata-Campsite 
(Wikidata-Campsite-Iteration-∞).

TASK DESCRIPTION
  If you try to edit a lexeme with `wbeditentity`, enable the `clear` option, 
and don’t provide a new `language` (item ID) in the `data`, then you should get 
a “failed-save” API error. This error starts out as an 
`UnexpectedValueException` in `Lexeme::getLanguage()`, is transformed several 
times, and should ultimately be caught by `ModifyEntity`.
  
  However, if the edit stash is not used – see the condition at the beginning 
of `PageEditStash::checkCache()`: if the request was not POSTed (e. g. in a 
unit test), or if the user has the bot flag (you can use this to reproduce the 
bug manually) – then the exception isn’t caught properly, and instead the 
`UnexpectedValueException` bubbles all the way up the stack. In theory, this is 
a #wikimedia-production-error 
<https://phabricator.wikimedia.org/tag/wikimedia-production-error/> (though 
very rare); more importantly, it’s a #jenkins-failure 
<https://phabricator.wikimedia.org/project/view/3298/> blocking merges for 
Wikibase and related extensions, because 
`LexemeEditEntityTest::testGivenInvalidDataInClearRequest_errorIsReported` 
expects an `ApiUsageException`, not an `UnexpectedValueException`.
  
  Stack trace:
  
  name=XMctnwpAAK4AAFdLQ4cAAACS
    
/srv/mediawiki/php-1.34.0-wmf.1/extensions/WikibaseLexeme/src/Domain/Model/Lexeme.php:255:
 UnexpectedValueException: Can not access uninitialized field
    #0 
/srv/mediawiki/php-1.34.0-wmf.1/extensions/WikibaseLexeme/src/Serialization/StorageLexemeSerializer.php(107):
 Wikibase\Lexeme\Domain\Model\Lexeme->getLanguage()
    #1 
/srv/mediawiki/php-1.34.0-wmf.1/extensions/WikibaseLexeme/src/Serialization/StorageLexemeSerializer.php(80):
 
Wikibase\Lexeme\Serialization\StorageLexemeSerializer->getSerialized(Wikibase\Lexeme\Domain\Model\Lexeme)
    #2 
/srv/mediawiki/php-1.34.0-wmf.1/vendor/serialization/serialization/src/Serializers/DispatchingSerializer.php(42):
 
Wikibase\Lexeme\Serialization\StorageLexemeSerializer->serialize(Wikibase\Lexeme\Domain\Model\Lexeme)
    #3 
/srv/mediawiki/php-1.34.0-wmf.1/extensions/Wikibase/lib/includes/Store/EntityContentDataCodec.php(151):
 
Serializers\DispatchingSerializer->serialize(Wikibase\Lexeme\Domain\Model\Lexeme)
    #4 
/srv/mediawiki/php-1.34.0-wmf.1/extensions/Wikibase/repo/includes/Content/EntityHandler.php(369):
 
Wikibase\Lib\Store\EntityContentDataCodec->encodeEntity(Wikibase\Lexeme\Domain\Model\Lexeme,
 string)
    #5 
/srv/mediawiki/php-1.34.0-wmf.1/includes/content/AbstractContent.php(155): 
Wikibase\Repo\Content\EntityHandler->serializeContent(Wikibase\Lexeme\MediaWiki\Content\LexemeContent,
 string)
    #6 /srv/mediawiki/php-1.34.0-wmf.1/includes/api/ApiStashEdit.php(361): 
AbstractContent->serialize(string)
    #7 /srv/mediawiki/php-1.34.0-wmf.1/includes/api/ApiStashEdit.php(272): 
ApiStashEdit::getContentHash(Wikibase\Lexeme\MediaWiki\Content\LexemeContent)
    #8 
/srv/mediawiki/php-1.34.0-wmf.1/includes/Storage/DerivedPageDataUpdater.php(760):
 ApiStashEdit::checkCache(Title, 
Wikibase\Lexeme\MediaWiki\Content\LexemeContent, User)
    #9 /srv/mediawiki/php-1.34.0-wmf.1/includes/page/WikiPage.php(2009): 
MediaWiki\Storage\DerivedPageDataUpdater->prepareContent(User, 
MediaWiki\Storage\RevisionSlotsUpdate, boolean)
    #10 
/srv/mediawiki/php-1.34.0-wmf.1/extensions/SpamBlacklist/includes/SpamBlacklistHooks.php(31):
 
WikiPage->prepareContentForEdit(Wikibase\Lexeme\MediaWiki\Content\LexemeContent)
    #11 /srv/mediawiki/php-1.34.0-wmf.1/includes/Hooks.php(174): 
SpamBlacklistHooks::filterMergedContent(DerivativeContext, 
Wikibase\Lexeme\MediaWiki\Content\LexemeContent, Status, string, User, boolean, 
string)
    #12 /srv/mediawiki/php-1.34.0-wmf.1/includes/Hooks.php(202): 
Hooks::callHook(string, array, array, NULL)
    #13 
/srv/mediawiki/php-1.34.0-wmf.1/extensions/Wikibase/repo/includes/EditEntity/MediawikiEditFilterHookRunner.php(115):
 Hooks::run(string, array)
    #14 
/srv/mediawiki/php-1.34.0-wmf.1/extensions/Wikibase/repo/includes/EditEntity/StatsdTimeRecordingEditFilterHookRunner.php(44):
 
Wikibase\Repo\EditEntity\MediawikiEditFilterHookRunner->run(Wikibase\Lexeme\Domain\Model\Lexeme,
 User, string)
    #15 
/srv/mediawiki/php-1.34.0-wmf.1/extensions/Wikibase/repo/includes/EditEntity/MediawikiEditEntity.php(692):
 
Wikibase\Repo\EditEntity\StatsdTimeRecordingEditFilterHookRunner->run(Wikibase\Lexeme\Domain\Model\Lexeme,
 User, string)
    #16 
/srv/mediawiki/php-1.34.0-wmf.1/extensions/Wikibase/repo/includes/EditEntity/StatsdSaveTimeRecordingEditEntity.php(73):
 
Wikibase\Repo\EditEntity\MediawikiEditEntity->attemptSave(Wikibase\Lexeme\Domain\Model\Lexeme,
 string, integer, string, boolean)
    #17 
/srv/mediawiki/php-1.34.0-wmf.1/extensions/Wikibase/repo/includes/Api/EntitySavingHelper.php(350):
 
Wikibase\Repo\EditEntity\StatsdSaveTimeRecordingEditEntity->attemptSave(Wikibase\Lexeme\Domain\Model\Lexeme,
 string, integer, string)
    #18 
/srv/mediawiki/php-1.34.0-wmf.1/extensions/Wikibase/repo/includes/Api/ModifyEntity.php(309):
 
Wikibase\Repo\Api\EntitySavingHelper->attemptSaveEntity(Wikibase\Lexeme\Domain\Model\Lexeme,
 string)
    #19 /srv/mediawiki/php-1.34.0-wmf.1/includes/api/ApiMain.php(1593): 
Wikibase\Repo\Api\ModifyEntity->execute()
    #20 /srv/mediawiki/php-1.34.0-wmf.1/includes/api/ApiMain.php(531): 
ApiMain->executeAction()
    #21 /srv/mediawiki/php-1.34.0-wmf.1/includes/api/ApiMain.php(502): 
ApiMain->executeActionWithErrorHandling()
    #22 /srv/mediawiki/php-1.34.0-wmf.1/api.php(87): ApiMain->execute()
    #23 /srv/mediawiki/w/api.php(3): require(string)
    #24 {main}

TASK DETAIL
  https://phabricator.wikimedia.org/T222090

EMAIL PREFERENCES
  https://phabricator.wikimedia.org/settings/panel/emailpreferences/

To: Lucas_Werkmeister_WMDE
Cc: Lucas_Werkmeister_WMDE, alaa_wmde, Nandana, Mringgaard, Lahi, Gq86, 
GoranSMilovanovic, QZanden, LawExplorer, _jensen, rosalieper, Jonas, 
Wikidata-bugs, aude, Lydia_Pintscher, Darkdadaah, Jdforrester-WMF, Mbch331, 
Jay8g, Krenair
_______________________________________________
Wikidata-bugs mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikidata-bugs

Reply via email to