Page MenuHomePhabricator

When Levelling up features are disabled, browsing Special:EditGrowthConfig errors out
Closed, ResolvedPublicPRODUCTION ERROR

Description

Regression from T343288: Leveling Up: Community configuration for Leveling up notifications changes. When Levelling up features are disabled via GELevelingUpFeaturesEnabled=false, Special:EditGrowthConfig becomes inaccessible. This happens because of a missing check of GELevelingUpFeaturesEnabled in the patch.

Original description

Appears on any request to https://en.wikipedia.org/wiki/Special:EditGrowthConfig

[6c5cbf46-b61c-45c5-bc7d-fca43340b4fe] 2023-11-19 04:09:51: Fatal exception of type "MWException": Descriptor with no class for geconfig-GELevelingUpKeepGoingNotificationThresholds-maximum: Array
(
    [default] => 4
)

from /srv/mediawiki/php-1.42.0-wmf.5/includes/htmlform/HTMLForm.php(541)
#0 /srv/mediawiki/php-1.42.0-wmf.5/includes/htmlform/HTMLForm.php(564): HTMLForm::getClassFromDescriptor(string, array)
#1 /srv/mediawiki/php-1.42.0-wmf.5/includes/htmlform/OOUIHTMLForm.php(53): HTMLForm::loadInputFromParameters(string, array, OOUIHTMLForm)
#2 /srv/mediawiki/php-1.42.0-wmf.5/includes/htmlform/HTMLForm.php(424): OOUIHTMLForm::loadInputFromParameters(string, array, OOUIHTMLForm)
#3 /srv/mediawiki/php-1.42.0-wmf.5/includes/htmlform/HTMLForm.php(402): HTMLForm->addFields(array)
#4 /srv/mediawiki/php-1.42.0-wmf.5/includes/htmlform/OOUIHTMLForm.php(43): HTMLForm->__construct(array, RequestContext, string)
#5 /srv/mediawiki/php-1.42.0-wmf.5/includes/htmlform/HTMLForm.php(369): OOUIHTMLForm->__construct(array, RequestContext, string)
#6 /srv/mediawiki/php-1.42.0-wmf.5/includes/specialpage/FormSpecialPage.php(149): HTMLForm::factory(string, array, RequestContext, string)
#7 /srv/mediawiki/php-1.42.0-wmf.5/includes/specialpage/FormSpecialPage.php(228): MediaWiki\SpecialPage\FormSpecialPage->getForm()
#8 /srv/mediawiki/php-1.42.0-wmf.5/extensions/GrowthExperiments/includes/Specials/SpecialEditGrowthConfig.php(126): MediaWiki\SpecialPage\FormSpecialPage->execute(NULL)
#9 /srv/mediawiki/php-1.42.0-wmf.5/includes/specialpage/SpecialPage.php(727): GrowthExperiments\Specials\SpecialEditGrowthConfig->execute(NULL)
#10 /srv/mediawiki/php-1.42.0-wmf.5/includes/specialpage/SpecialPageFactory.php(1637): MediaWiki\SpecialPage\SpecialPage->run(NULL)
#11 /srv/mediawiki/php-1.42.0-wmf.5/includes/MediaWiki.php(357): MediaWiki\SpecialPage\SpecialPageFactory->executePath(string, RequestContext)
#12 /srv/mediawiki/php-1.42.0-wmf.5/includes/MediaWiki.php(960): MediaWiki->performRequest()
#13 /srv/mediawiki/php-1.42.0-wmf.5/includes/MediaWiki.php(613): MediaWiki->main()
#14 /srv/mediawiki/php-1.42.0-wmf.5/index.php(50): MediaWiki->run()
#15 /srv/mediawiki/php-1.42.0-wmf.5/index.php(46): wfIndexMain()
#16 /srv/mediawiki/w/index.php(3): require(string)
#17 {main}

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald Transcript
Pppery set Request URL to https://en.wikipedia.org/wiki/Special:EditGrowthConfig.Nov 19 2023, 4:11 AM
Pppery updated the task description. (Show Details)
Iniquity renamed this task from Fatal error browsing Special:EditGrowthConfig to MWException: Fatal error browsing Special:EditGrowthConfig.Nov 19 2023, 1:13 PM
Urbanecm_WMF triaged this task as High priority.
Urbanecm_WMF subscribed.

I'll investigate, thanks for reporting.

Change 975766 had a related patch set uploaded (by Urbanecm; author: Urbanecm):

[mediawiki/extensions/GrowthExperiments@master] EditGrowthConfig: Do not provide default for levelling up threshold when disabled

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

Urbanecm_WMF renamed this task from MWException: Fatal error browsing Special:EditGrowthConfig to When Levelling up features are disabled, browsing Special:EditGrowthConfig errors out.Nov 20 2023, 9:52 AM
Urbanecm_WMF updated the task description. (Show Details)
Urbanecm_WMF added a project: Regression.

Change 975589 had a related patch set uploaded (by Cyndywikime; author: Urbanecm):

[mediawiki/extensions/GrowthExperiments@wmf/1.42.0-wmf.5] EditGrowthConfig: Do not provide default for levelling up threshold when disabled

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

Change 975766 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@master] EditGrowthConfig: Do not provide default for levelling up threshold when disabled

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

Change 975589 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@wmf/1.42.0-wmf.5] EditGrowthConfig: Do not provide default for levelling up threshold when disabled

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

Mentioned in SAL (#wikimedia-operations) [2023-11-20T14:26:45Z] <urbanecm@deploy2002> Started scap: Backport for [[gerrit:975589|EditGrowthConfig: Do not provide default for levelling up threshold when disabled (T351603)]], [[gerrit:975593|Add update.php maintenance script to fix pp_sortkey (T350224)]]

Mentioned in SAL (#wikimedia-operations) [2023-11-20T14:28:06Z] <urbanecm@deploy2002> urbanecm and lucaswerkmeister-wmde and cyndywikime: Backport for [[gerrit:975589|EditGrowthConfig: Do not provide default for levelling up threshold when disabled (T351603)]], [[gerrit:975593|Add update.php maintenance script to fix pp_sortkey (T350224)]] synced to the testservers (https://wikitech.wikimedia.org/wiki/Mwdebug)

Mentioned in SAL (#wikimedia-operations) [2023-11-20T14:37:13Z] <urbanecm@deploy2002> Finished scap: Backport for [[gerrit:975589|EditGrowthConfig: Do not provide default for levelling up threshold when disabled (T351603)]], [[gerrit:975593|Add update.php maintenance script to fix pp_sortkey (T350224)]] (duration: 10m 28s)

Hello @Pppery, this problem should now be fixed in production. Can you please try again and let us know if Community configuration works properly now?

The page loads for me. I don't have any specific edits to the config I want to make right now so can't test anything else about it.

Ack, thank you for the confirmation. Leaving the task open for it to go through Growth's QA.

Change 977627 had a related patch set uploaded (by Urbanecm; author: Urbanecm):

[mediawiki/extensions/GrowthExperiments@master] tests: Add basic coverage for SpecialEditGrowthConfig

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

Added basic Regression tests to this as well, to prevent it from happening in the future.

Change 977627 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@master] tests: Add basic coverage for SpecialEditGrowthConfig

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