Page MenuHomePhabricator

Can't save edits using VisualEditor on beta cluster: "Exception caught: Provided specification is not an array."
Closed, ResolvedPublic

Description

For example on https://en.wikipedia.beta.wmflabs.org/w/index.php?title=Test&veaction=edit:

image.png (1,067×775 px, 111 KB)

[ZP9V5AcQLKWQd6GIfXHk7QAAAAE] Exception caught: Provided specification is not an array.

Event Timeline

matmarex triaged this task as Unbreak Now! priority.Sep 11 2023, 6:03 PM

(I'm assuming this will also affect production until proven otherwise)

Error backtrace from https://beta-logs.wmcloud.org/goto/72fc2a56d61ed33007bf4163646a0ef2:

from /srv/mediawiki/php-master/vendor/wikimedia/object-factory/src/ObjectFactory.php(295)
#0 /srv/mediawiki/php-master/vendor/wikimedia/object-factory/src/ObjectFactory.php(174): Wikimedia\ObjectFactory\ObjectFactory::validateSpec(string, array)
#1 /srv/mediawiki/php-master/vendor/wikimedia/object-factory/src/ObjectFactory.php(149): Wikimedia\ObjectFactory\ObjectFactory::getObjectFromSpec(string, array)
#2 /srv/mediawiki/php-master/includes/content/ContentHandlerFactory.php(228): Wikimedia\ObjectFactory\ObjectFactory->createObject(string, array)
#3 /srv/mediawiki/php-master/includes/content/ContentHandlerFactory.php(178): MediaWiki\Content\ContentHandlerFactory->createContentHandlerFromHandlerSpec(string, string)
#4 /srv/mediawiki/php-master/includes/content/ContentHandlerFactory.php(93): MediaWiki\Content\ContentHandlerFactory->createForModelID(string)
#5 /srv/mediawiki/php-master/includes/content/ContentHandlerFactory.php(149): MediaWiki\Content\ContentHandlerFactory->getContentHandler(string)
#6 /srv/mediawiki/php-master/includes/api/ApiEditPage.php(778): MediaWiki\Content\ContentHandlerFactory->getAllContentFormats()
#7 /srv/mediawiki/php-master/includes/api/ApiBase.php(1905): ApiEditPage->getAllowedParams(integer)
#8 /srv/mediawiki/php-master/includes/api/ApiBase.php(821): ApiBase->getFinalParams()
#9 /srv/mediawiki/php-master/includes/api/ApiMain.php(1513): ApiBase->extractRequestParams()
#10 /srv/mediawiki/php-master/includes/api/ApiMain.php(1906): ApiMain->setupModule()
#11 /srv/mediawiki/php-master/includes/api/ApiMain.php(874): ApiMain->executeAction()
#12 /srv/mediawiki/php-master/extensions/VisualEditor/includes/ApiVisualEditorEdit.php(137): ApiMain->execute()
#13 /srv/mediawiki/php-master/extensions/VisualEditor/includes/ApiVisualEditorEdit.php(448): MediaWiki\Extension\VisualEditor\ApiVisualEditorEdit->saveWikitext(MediaWiki\Title\Title, string, array)
#14 /srv/mediawiki/php-master/includes/api/ApiMain.php(1928): MediaWiki\Extension\VisualEditor\ApiVisualEditorEdit->execute()
#15 /srv/mediawiki/php-master/includes/api/ApiMain.php(905): ApiMain->executeAction()
#16 /srv/mediawiki/php-master/includes/api/ApiMain.php(876): ApiMain->executeActionWithErrorHandling()
#17 /srv/mediawiki/php-master/api.php(95): ApiMain->execute()
#18 /srv/mediawiki/php-master/api.php(48): wfApiMain()
#19 /srv/mediawiki/w/api.php(3): require(string)
#20 {main}

It seems to be a problem with the validation of parameters in action=edit API. You can't even get the API documentation, it fails with the same error: https://en.wikipedia.beta.wmflabs.org/w/api.php?action=help&modules=edit

Change 956482 had a related patch set uploaded (by Bartosz Dziewoński; author: Amir Sarabadani):

[operations/mediawiki-config@master] Use FallbackContentHandler instead of UnknownContentHandler

https://gerrit.wikimedia.org/r/956482

Change 956482 merged by jenkins-bot:

[operations/mediawiki-config@master] Use FallbackContentHandler instead of UnknownContentHandler

https://gerrit.wikimedia.org/r/956482

(Turns out to be just a beta cluster issue after all)

Is this also related to why we're getting [ZP9syrQUYbuj7j3pnm2g6gAAAAo] /wiki/Zebra InvalidArgumentException: Multiple conflicting values given for ScribuntoErrors on beta?

e.g. https://en.wikipedia.beta.wmflabs.org/wiki/Zebra