Page MenuHomePhabricator

UnexpectedValueException: Default '"sh-latn"' is invalid for preference variant of user [user]
Closed, ResolvedPublicPRODUCTION ERROR

Description

Error
  • service.version: 1.46.0-wmf.19
  • timestamp: 2026-03-12T19:07:17.612Z
  • labels.phpversion: 8.3.30
  • trace.id: 019829c3-814d-4d44-8fbb-2dda374d6cdf
  • Find trace.id in Logstash
labels.normalized_message
[{reqId}] {exception_url}   UnexpectedValueException: Default '"sh-latn"' is invalid for preference variant of user [user]
FrameLocationCall
from/srv/mediawiki/php-1.46.0-wmf.19/includes/Preferences/DefaultPreferencesFactory.php(350)
#0/srv/mediawiki/php-1.46.0-wmf.19/includes/Preferences/DefaultPreferencesFactory.php(258)MediaWiki\Preferences\DefaultPreferencesFactory->loadPreferenceValues(MediaWiki\User\User, MediaWiki\Context\DerivativeContext, array)
#1/srv/mediawiki/php-1.46.0-wmf.19/extensions/GlobalPreferences/includes/GlobalPreferencesFactory.php(168)MediaWiki\Preferences\DefaultPreferencesFactory->getFormDescriptor(MediaWiki\User\User, MediaWiki\Context\DerivativeContext)
#2/srv/mediawiki/php-1.46.0-wmf.19/includes/Preferences/DefaultPreferencesFactory.php(2193)GlobalPreferences\GlobalPreferencesFactory->getFormDescriptor(MediaWiki\User\User, MediaWiki\Context\DerivativeContext)
#3/srv/mediawiki/php-1.46.0-wmf.19/includes/Api/ApiOptionsBase.php(100)MediaWiki\Preferences\DefaultPreferencesFactory->getResetKinds(MediaWiki\User\User, MediaWiki\Context\DerivativeContext, array)
#4/srv/mediawiki/php-1.46.0-wmf.19/includes/Api/ApiMain.php(2059)MediaWiki\Api\ApiOptionsBase->execute()
#5/srv/mediawiki/php-1.46.0-wmf.19/includes/Api/ApiMain.php(964)MediaWiki\Api\ApiMain->executeAction()
#6/srv/mediawiki/php-1.46.0-wmf.19/includes/Api/ApiMain.php(935)MediaWiki\Api\ApiMain->executeActionWithErrorHandling()
#7/srv/mediawiki/php-1.46.0-wmf.19/includes/Api/ApiEntryPoint.php(138)MediaWiki\Api\ApiMain->execute()
#8/srv/mediawiki/php-1.46.0-wmf.19/includes/MediaWikiEntryPoint.php(180)MediaWiki\Api\ApiEntryPoint->execute()
#9/srv/mediawiki/php-1.46.0-wmf.19/api.php(30)MediaWiki\MediaWikiEntryPoint->run()
#10/srv/mediawiki/w/api.php(3)require(string)
#11{main}
Notes

Seeing these for one user of shwiki in 1.46.0-wmf.19 (T413810). Unclear if this is new or a longstanding issue, but I would expect to eventually see it for more users if it was caused by this train.

Event Timeline

@brennen: This issue is new, it prevents Serbo-Croatian project editors from accessing their settings. Please address this issue ASAP. Is there any possible way to access settings on the project (through some URL parameters) before this fatal error gets fixed?

Confirming this affects all attempts to use https://sh.wikipedia.org/wiki/Special:Preferences, and attempts to use the options API to set preferences.

Change #1254886 had a related patch set uploaded (by SomeRandomDeveloper; author: SomeRandomDeveloper):

[mediawiki/core@master] Revert "SpecialPreferences: Use Language Select Widget in language field"

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

Not sure if anything depends on this change or if there is an easier fix though. CCing path author and reviewer

Aklapper triaged this task as Unbreak Now! priority.Mar 18 2026, 11:49 AM
Aklapper added a project: Regression.

@Vipz: The reporter of an issue is often not the developer who can fix the issue, so I think you're addressing the wrong person :)

Change #1254890 had a related patch set uploaded (by SomeRandomDeveloper; author: SomeRandomDeveloper):

[mediawiki/core@wmf/1.46.0-wmf.20] Revert "SpecialPreferences: Use Language Select Widget in language field"

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

Change #1254891 had a related patch set uploaded (by SomeRandomDeveloper; author: SomeRandomDeveloper):

[mediawiki/core@wmf/1.46.0-wmf.19] Revert "SpecialPreferences: Use Language Select Widget in language field"

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

shwiki is in group 2 so ideally we should also backport this to wmf.19 so it can be fixed today already.

As the contributor who made this change recently, i don't spot any error for now, but if revert works let's do it first.

As the contributor who made this change recently, i don't spot any error for now, but if revert works let's do it first.

You probably need to set your content language to what this particular wiki uses which is 'sh'

Change #1254891 merged by jenkins-bot:

[mediawiki/core@wmf/1.46.0-wmf.19] Revert "SpecialPreferences: Use Language Select Widget in language field"

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

Change #1254890 merged by jenkins-bot:

[mediawiki/core@wmf/1.46.0-wmf.20] Revert "SpecialPreferences: Use Language Select Widget in language field"

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

Mentioned in SAL (#wikimedia-operations) [2026-03-18T13:22:25Z] <sgimeno@deploy2002> Started scap sync-world: Backport for [[gerrit:1254894|loggedOutWarning: dont set the schema for experiment events (T420451)]], [[gerrit:rEUME12548956f855|loggedOutWarning: dont set the schema for experiment events (T420451)]], [[gerrit:1254891|Revert "SpecialPreferences: Use Language Select Widget in language field" (T419895)]], [[gerrit:1254890|Revert "SpecialPreferences: Use Language Select Widget in lang

Mentioned in SAL (#wikimedia-operations) [2026-03-18T13:24:32Z] <sgimeno@deploy2002> somerandomdeveloper, sgimeno: Backport for [[gerrit:1254894|loggedOutWarning: dont set the schema for experiment events (T420451)]], [[gerrit:rEUME12548956f855|loggedOutWarning: dont set the schema for experiment events (T420451)]], [[gerrit:1254891|Revert "SpecialPreferences: Use Language Select Widget in language field" (T419895)]], [[gerrit:1254890|Revert "SpecialPreferences: Use Language Select Widget in

Mentioned in SAL (#wikimedia-operations) [2026-03-18T13:28:48Z] <sgimeno@deploy2002> Finished scap sync-world: Backport for [[gerrit:1254894|loggedOutWarning: dont set the schema for experiment events (T420451)]], [[gerrit:rEUME12548956f855|loggedOutWarning: dont set the schema for experiment events (T420451)]], [[gerrit:1254891|Revert "SpecialPreferences: Use Language Select Widget in language field" (T419895)]], [[gerrit:1254890|Revert "SpecialPreferences: Use Language Select Widget in lan

Settings are working again for me on Serbo-Croatian projects, thank you all for addressing the issue relatively quickly!

Change #1254886 merged by jenkins-bot:

[mediawiki/core@master] Revert "SpecialPreferences: Use Language Select Widget in language field"

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

Change #1258646 had a related patch set uploaded (by Huei Tan; author: Huei Tan):

[mediawiki/core@master] SpecialPreferences: Use Language Select Widget in language and variant fields

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

An update (patch), the issue is came from the LanguageCode::bcp47 that we don't need when using the new language selector in the variant field.

Tested locally

image.png (1×1 px, 192 KB)


UPDATE: after few more testing, the above fix isn't true, will update if solution found.

Change #1258646 merged by jenkins-bot:

[mediawiki/core@master] SpecialPreferences: Use Language Select Widget in language and variant fields

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