Page MenuHomePhabricator

JCObjContent->getValidationData(): This method may only be called during or after validation has started
Open, MediumPublicPRODUCTION ERROR

Description

Error

MediaWiki version: 1.36.0-wmf.16

message
This method may only be called during or after validation has started

Impact

One of these in 1.36.0-wmf.16. Cropped up about an hour after deploy.

Notes

My original tagging of this task is pretty haphazard; assistance welcome.

Details

Request ID
dc1afe33-eceb-4a97-9f08-a352a3c51e58
Request URL
https://commons.wikimedia.org/wiki/Data:Omnioramas_de_El_Bierzo.map
Stack Trace
exception.trace
#0 /srv/mediawiki/php-1.36.0-wmf.16/extensions/JsonConfig/includes/JCObjContent.php(453): JsonConfig\JCObjContent->getValidationData()
#1 /srv/mediawiki/php-1.36.0-wmf.16/extensions/JsonConfig/includes/JCDataContent.php(127): JsonConfig\JCObjContent->getField(string)
#2 /srv/mediawiki/php-1.36.0-wmf.16/extensions/JsonConfig/includes/JCSingleton.php(767): JsonConfig\JCDataContent->getLicenseObject()
#3 /srv/mediawiki/php-1.36.0-wmf.16/extensions/JsonConfig/includes/JCSingleton.php(874): JsonConfig\JCSingleton::getTitleLicenseCode(JsonConfig\JCTitle)
#4 /srv/mediawiki/php-1.36.0-wmf.16/includes/HookContainer/HookContainer.php(333): JsonConfig\JCSingleton::onSkinCopyrightFooter(Title, string, string, string)
#5 /srv/mediawiki/php-1.36.0-wmf.16/includes/HookContainer/HookContainer.php(140): MediaWiki\HookContainer\HookContainer->callLegacyHook(string, array, array, array)
#6 /srv/mediawiki/php-1.36.0-wmf.16/includes/HookContainer/HookRunner.php(3500): MediaWiki\HookContainer\HookContainer->run(string, array)
#7 /srv/mediawiki/php-1.36.0-wmf.16/includes/skins/Skin.php(898): MediaWiki\HookContainer\HookRunner->onSkinCopyrightFooter(Title, string, string, string)
#8 /srv/mediawiki/php-1.36.0-wmf.16/includes/skins/Skin.php(2565): Skin->getCopyright()
#9 /srv/mediawiki/php-1.36.0-wmf.16/includes/skins/SkinMustache.php(249): Skin->getFooterLinks()
#10 /srv/mediawiki/php-1.36.0-wmf.16/includes/skins/SkinMustache.php(187): SkinMustache->getFooterTemplateData()
#11 /srv/mediawiki/php-1.36.0-wmf.16/skins/Vector/includes/SkinVector.php(120): SkinMustache->getTemplateData()
#12 /srv/mediawiki/php-1.36.0-wmf.16/includes/skins/SkinMustache.php(128): SkinVector->getTemplateData()
#13 /srv/mediawiki/php-1.36.0-wmf.16/includes/skins/SkinTemplate.php(138): SkinMustache->generateHTML()
#14 /srv/mediawiki/php-1.36.0-wmf.16/includes/OutputPage.php(2617): SkinTemplate->outputPage()
#15 /srv/mediawiki/php-1.36.0-wmf.16/includes/MediaWiki.php(950): OutputPage->output(boolean)
#16 /srv/mediawiki/php-1.36.0-wmf.16/includes/MediaWiki.php(963): MediaWiki->{closure}()
#17 /srv/mediawiki/php-1.36.0-wmf.16/includes/MediaWiki.php(546): MediaWiki->main()
#18 /srv/mediawiki/php-1.36.0-wmf.16/index.php(53): MediaWiki->run()
#19 /srv/mediawiki/php-1.36.0-wmf.16/index.php(46): wfIndexMain()
#20 /srv/mediawiki/w/index.php(3): require(string)
#21 {main}

Event Timeline

brennen renamed this task from This method may only be called during or after validation has started to JCObjContent->getValidationData(): This method may only be called during or after validation has started.Nov 9 2020, 6:22 PM

Also these 3, all from request ed1b88cf-49cd-4c32-ac9b-f7f0d9c1d844 for /w/api.php?format=json&formatversion=2&action=jsondata&title=Omnioramas+de+El+Bierzo.map:

exception.trace
PHP Notice: Trying to get property 'data' of non-object
#0 /srv/mediawiki/php-1.36.0-wmf.16/extensions/JsonConfig/includes/JCMapDataContent.php(48): MWExceptionHandler::handleError(integer, string, string, integer, array)
#1 /srv/mediawiki/php-1.36.0-wmf.16/extensions/JsonConfig/includes/JCDataApi.php(35): JsonConfig\JCMapDataContent->getSafeData(NULL)
#2 /srv/mediawiki/php-1.36.0-wmf.16/includes/api/ApiMain.php(1601): JsonConfig\JCDataApi->execute()
#3 /srv/mediawiki/php-1.36.0-wmf.16/includes/api/ApiMain.php(581): ApiMain->executeAction()
#4 /srv/mediawiki/php-1.36.0-wmf.16/includes/api/ApiMain.php(552): ApiMain->executeActionWithErrorHandling()
#5 /srv/mediawiki/php-1.36.0-wmf.16/api.php(90): ApiMain->execute()
#6 /srv/mediawiki/php-1.36.0-wmf.16/api.php(45): wfApiMain()
#7 /srv/mediawiki/w/api.php(3): require(string)
#8 {main}
exception.trace
PHP Warning: Creating default object from empty value
#0 /srv/mediawiki/php-1.36.0-wmf.16/extensions/JsonConfig/includes/JCMapDataContent.php(50): MWExceptionHandler::handleError(integer, string, string, integer, array)
#1 /srv/mediawiki/php-1.36.0-wmf.16/extensions/JsonConfig/includes/JCDataApi.php(35): JsonConfig\JCMapDataContent->getSafeData(stdClass)
#2 /srv/mediawiki/php-1.36.0-wmf.16/includes/api/ApiMain.php(1601): JsonConfig\JCDataApi->execute()
#3 /srv/mediawiki/php-1.36.0-wmf.16/includes/api/ApiMain.php(581): ApiMain->executeAction()
#4 /srv/mediawiki/php-1.36.0-wmf.16/includes/api/ApiMain.php(552): ApiMain->executeActionWithErrorHandling()
#5 /srv/mediawiki/php-1.36.0-wmf.16/api.php(90): ApiMain->execute()
#6 /srv/mediawiki/php-1.36.0-wmf.16/api.php(45): wfApiMain()
#7 /srv/mediawiki/w/api.php(3): require(string)
#8 {main}
exception.trace
PHP Notice: Trying to get property 'type' of non-object
#0 /srv/mediawiki/php-1.36.0-wmf.16/extensions/Kartographer/includes/SimpleStyleParser.php(204): MWExceptionHandler::handleError(integer, string, string, integer, array)
#1 /srv/mediawiki/php-1.36.0-wmf.16/extensions/Kartographer/includes/SimpleStyleParser.php(97): Kartographer\SimpleStyleParser->normalize(array)
#2 /srv/mediawiki/php-1.36.0-wmf.16/extensions/JsonConfig/includes/JCMapDataContent.php(49): Kartographer\SimpleStyleParser->normalizeAndSanitize(array)
#3 /srv/mediawiki/php-1.36.0-wmf.16/extensions/JsonConfig/includes/JCDataApi.php(35): JsonConfig\JCMapDataContent->getSafeData(NULL)
#4 /srv/mediawiki/php-1.36.0-wmf.16/includes/api/ApiMain.php(1601): JsonConfig\JCDataApi->execute()
#5 /srv/mediawiki/php-1.36.0-wmf.16/includes/api/ApiMain.php(581): ApiMain->executeAction()
#6 /srv/mediawiki/php-1.36.0-wmf.16/includes/api/ApiMain.php(552): ApiMain->executeActionWithErrorHandling()
#7 /srv/mediawiki/php-1.36.0-wmf.16/api.php(90): ApiMain->execute()
#8 /srv/mediawiki/php-1.36.0-wmf.16/api.php(45): wfApiMain()
#9 /srv/mediawiki/w/api.php(3): require(string)
#10 {main}

This isn't happening at a high rate, not blocking 1.36.0-wmf.16 (T263182) for it unless it crops up again.

That data page itself throws an error. Seems the contentmodel is set to wikitext

https://commons.wikimedia.org/w/index.php?title=Data:Omnioramas_de_El_Bierzo.map&action=edit

Pretty sure it has invalid json...we should probably have a proper user facing error for that

EBernhardson added subscribers: MSantos, Gehel, EBernhardson.

@MSantos @Gehel This isn't something search platform knows anything about, perhaps you know where to direct this ticket?

@EBernhardson We are going to discuss and triage it, thanks for raising it.

sdkim triaged this task as Medium priority.Dec 2 2020, 5:36 PM
sdkim moved this task from Needs triage to Upcoming on the Product-Infrastructure-Team-Backlog board.
sdkim added subscribers: Jgiannelos, Peter.ovchyn, sdkim.

@Jgiannelos to speak with @Peter.ovchyn on this