Page MenuHomePhabricator

InvalidArgumentException: Duplicate field labels for model wikibase-mediainfo
Closed, ResolvedPublicPRODUCTION ERROR

Description

Error
labels.normalized_message
[{reqId}] {exception_url}   InvalidArgumentException: Duplicate field labels for model wikibase-mediainfo
FrameLocationCall
from/srv/mediawiki/php-1.45.0-wmf.1/includes/search/SearchEngine.php(833)
#0/srv/mediawiki/php-1.45.0-wmf.1/extensions/CirrusSearch/includes/BuildDocument/ParserOutputPageProperties.php(117)SearchEngine->getSearchIndexFields()
#1/srv/mediawiki/php-1.45.0-wmf.1/extensions/CirrusSearch/includes/BuildDocument/ParserOutputPageProperties.php(49)CirrusSearch\BuildDocument\ParserOutputPageProperties->finalizeReal(Elastica\Document, MediaWiki\Page\WikiCategoryPage, CirrusSearch\CirrusSearch, MediaWiki\Revision\RevisionStoreRecord)
#2/srv/mediawiki/php-1.45.0-wmf.1/extensions/CirrusSearch/includes/BuildDocument/BuildDocument.php(215)CirrusSearch\BuildDocument\ParserOutputPageProperties->finalize(Elastica\Document, MediaWiki\Title\Title, MediaWiki\Revision\RevisionStoreRecord)
#3/srv/mediawiki/php-1.45.0-wmf.1/extensions/CirrusSearch/includes/Api/QueryBuildDocument.php(128)CirrusSearch\BuildDocument\BuildDocument->finalize(Elastica\Document, bool, MediaWiki\Revision\RevisionStoreRecord)
#4/srv/mediawiki/php-1.45.0-wmf.1/includes/api/ApiQuery.php(739)CirrusSearch\Api\QueryBuildDocument->execute()
#5/srv/mediawiki/php-1.45.0-wmf.1/includes/api/ApiMain.php(2010)MediaWiki\Api\ApiQuery->execute()
#6/srv/mediawiki/php-1.45.0-wmf.1/includes/api/ApiMain.php(948)MediaWiki\Api\ApiMain->executeAction()
#7/srv/mediawiki/php-1.45.0-wmf.1/includes/api/ApiMain.php(919)MediaWiki\Api\ApiMain->executeActionWithErrorHandling()
#8/srv/mediawiki/php-1.45.0-wmf.1/includes/api/ApiEntryPoint.php(152)MediaWiki\Api\ApiMain->execute()
#9/srv/mediawiki/php-1.45.0-wmf.1/includes/MediaWikiEntryPoint.php(198)MediaWiki\Api\ApiEntryPoint->execute()
#10/srv/mediawiki/php-1.45.0-wmf.1/api.php(44)MediaWiki\MediaWikiEntryPoint->run()
#11/srv/mediawiki/w/api.php(3)require(string)
#12{main}
Notes

Huge spike affecting commons after deploying php-1.45.0-wmf.1 to group1.

I don't see any recent changes around the affected code, I'm tagging the CirrusSearch folks and hope they can follow the trail

https://logstash.wikimedia.org/goto/1989c3749b4dda17577b5008efdd64e1

image.png (398×1 px, 55 KB)

Event Timeline

jnuche triaged this task as Unbreak Now! priority.
Restricted Application added a subscriber: Aklapper. · View Herald Transcript

might be related to T392058

Feels like it :/ apparently this exception is thrown if merge() on the field returns false, which in LabelsDescriptionsFieldTrait::merge() can happen in three cases:

  • different class (not $that instanceof self)
  • different $this->type
  • different $this->stemmingSettings

Change #1145819 had a related patch set uploaded (by Lucas Werkmeister (WMDE); author: Lucas Werkmeister (WMDE)):

[mediawiki/extensions/WikibaseMediaInfo@master] Pass ConfigFactory into LabelsProviderFieldDefinitions

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

Change #1145831 had a related patch set uploaded (by Lucas Werkmeister (WMDE); author: Lucas Werkmeister (WMDE)):

[mediawiki/extensions/WikibaseCirrusSearch@master] Also merge fields if stemming settings empty on one side

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

Change #1145836 had a related patch set uploaded (by Lucas Werkmeister (WMDE); author: Lucas Werkmeister (WMDE)):

[mediawiki/extensions/WikibaseCirrusSearch@wmf/1.45.0-wmf.1] Also merge fields if stemming settings empty on one side

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

Change #1145836 merged by jenkins-bot:

[mediawiki/extensions/WikibaseCirrusSearch@wmf/1.45.0-wmf.1] Also merge fields if stemming settings empty on one side

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

Mentioned in SAL (#wikimedia-operations) [2025-05-14T09:56:34Z] <lucaswerkmeister-wmde@deploy1003> Started scap sync-world: Backport for [[gerrit:1145836|Also merge fields if stemming settings empty on one side (T394274)]]

Mentioned in SAL (#wikimedia-operations) [2025-05-14T10:03:15Z] <lucaswerkmeister-wmde@deploy1003> lucaswerkmeister-wmde: Backport for [[gerrit:1145836|Also merge fields if stemming settings empty on one side (T394274)]] synced to the testservers (https://wikitech.wikimedia.org/wiki/Mwdebug)

Change #1145831 merged by jenkins-bot:

[mediawiki/extensions/WikibaseCirrusSearch@master] Also merge fields if stemming settings empty on one side

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

Change #1145819 abandoned by Lucas Werkmeister (WMDE):

[mediawiki/extensions/WikibaseMediaInfo@master] Pass ConfigFactory into LabelsProviderFieldDefinitions

Reason:

abandoned in favor of I4a7ef0f62e

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

Mentioned in SAL (#wikimedia-operations) [2025-05-14T10:12:28Z] <lucaswerkmeister-wmde@deploy1003> Finished scap sync-world: Backport for [[gerrit:1145836|Also merge fields if stemming settings empty on one side (T394274)]] (duration: 15m 53s)