Page MenuHomePhabricator

ConfigException: HashConfig::get: undefined option: 'AllowConfirmedEmail'
Closed, ResolvedPublicPRODUCTION ERROR

Description

All GrowthExperiments builds started failing with this error today.

https://integration.wikimedia.org/ci/job/quibble-vendor-mysql-hhvm-docker/48441/console

15:56:11 2) GrowthExperiments\Tests\HelpPanelQuestionPosterTest::testSubmitNewTarget
15:56:11 === Logs generated by test case
15:56:11 [caches] [info] parser: HashBagOStuff {"private":false}
15:56:11 [wfDebug] [debug] Parser: using preprocessor: Preprocessor_Hash {"private":false}
15:56:11 [wfDebug] [debug] IP: 127.0.0.1 {"private":false}
15:56:11 [wfDebug] [debug] User::getBlockedStatus: checking... {"private":false}
15:56:11 [wfDebug] [debug] IP: 127.0.0.1 {"private":false}
15:56:11 [GlobalTitleFail] [info] RequestContext::getTitle called by GrowthExperiments\HelpPanel\HelpPanelQuestionPoster->getSectionHeader/DerivativeContext->msg/Message->setContext/DerivativeContext->getTitle/RequestContext->getTitle with no title set. {"private":false}
15:56:11 [GlobalTitleFail] [info] RequestContext::getTitle called by GrowthExperiments\HelpPanel\QuestionPoster->getSectionHeaderWithTimestamp/DerivativeContext->msg/Message->setContext/DerivativeContext->getTitle/RequestContext->getTitle with no title set. {"private":false}
15:56:11 [GlobalTitleFail] [info] RequestContext::getTitle called by GrowthExperiments\HelpPanel\HelpPanelQuestionPoster->getSectionHeader/DerivativeContext->msg/Message->setContext/DerivativeContext->getTitle/RequestContext->getTitle with no title set. {"private":false}
15:56:11 [StashEdit] [debug] AbuseFilter::filterAction: cache miss for 'UTPage-44522' (key wikidb-unittest_:abusefilter:check-stash:default:2a2f779bffea2135bc2c04147b5fd229:v1). []
15:56:11 ===
15:56:11 ConfigException: HashConfig::get: undefined option: 'AllowConfirmedEmail'
15:56:11 
15:56:11 /workspace/src/includes/config/HashConfig.php:56
15:56:11 /workspace/src/extensions/ConfirmEdit/SimpleCaptcha/SimpleCaptcha.php:1176
15:56:11 /workspace/src/extensions/ConfirmEdit/SimpleCaptcha/SimpleCaptcha.php:534
15:56:11 /workspace/src/extensions/ConfirmEdit/SimpleCaptcha/SimpleCaptcha.php:800
15:56:11 /workspace/src/extensions/ConfirmEdit/SimpleCaptcha/SimpleCaptcha.php:836
15:56:11 /workspace/src/extensions/ConfirmEdit/includes/ConfirmEditHooks.php:39
15:56:11 /workspace/src/includes/Hooks.php:174
15:56:11 /workspace/src/includes/Hooks.php:202
15:56:11 /workspace/src/extensions/GrowthExperiments/includes/HelpPanel/QuestionPoster.php:363
15:56:11 /workspace/src/extensions/GrowthExperiments/includes/HelpPanel/QuestionPoster.php:145
15:56:11 /workspace/src/extensions/GrowthExperiments/includes/HelpPanel/QuestionPoster.php:107
15:56:11 /workspace/src/extensions/GrowthExperiments/tests/phpunit/HelpPanelQuestionPosterTest.php:62
15:56:11 /workspace/src/tests/phpunit/MediaWikiTestCase.php:427
15:56:11 /workspace/src/maintenance/doMaintenance.php:96
15:56:11 
15:56:11 FAILURES!
15:56:11 Tests: 1117, Assertions: 2019, Errors: 2, Skipped: 43.
15:56:11 Traceback (most recent call last):
15:56:11   File "/usr/local/bin/quibble", line 11, in <module>
15:56:11     load_entry_point('quibble==0.0.0', 'console_scripts', 'quibble')()
15:56:11   File "/usr/local/lib/python3.5/dist-packages/quibble/cmd.py", line 573, in main
15:56:11     cmd.execute()
15:56:11   File "/usr/local/lib/python3.5/dist-packages/quibble/cmd.py", line 545, in execute
15:56:11     junit_file=junit_db_file)
15:56:11   File "/usr/local/lib/python3.5/dist-packages/quibble/test.py", line 196, in run_phpunit_database
15:56:11     run_phpunit(*args, **kwargs)
15:56:11   File "/usr/local/lib/python3.5/dist-packages/quibble/test.py", line 191, in run_phpunit
15:56:11     subprocess.check_call(cmd, cwd=mwdir, env=phpunit_env)
15:56:11   File "/usr/lib/python3.5/subprocess.py", line 271, in check_call
15:56:11     raise CalledProcessError(retcode, cmd)
15:56:11 subprocess.CalledProcessError: Command '['php', 'tests/phpunit/phpunit.php', '--debug-tests', '--testsuite', 'extensions', '--group', 'Database', '--exclude-group', 'Broken,ParserFuzz,Stub', '--log-junit', '/workspace/log/junit-db.xml']' returned non-zero exit status 2

Event Timeline

kostajh triaged this task as High priority.May 10 2019, 8:03 PM
kostajh created this task.

Change 509509 had a related patch set uploaded (by Jforrester; owner: Jforrester):
[integration/config@master] [GrowthExperiments] Add ConfirmEdit dependency explicitly

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

Change 509517 had a related patch set uploaded (by Umherirrender; owner: Umherirrender):
[mediawiki/extensions/GrowthExperiments@master] Set MainConfig on DerivativeContext when running hook

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

The extension is trigged on hook EditFilterMergedContent which is called in the extension. I am not sure, if it is a good idea to re-call hooks from mediawiki/core, but it is also not one place in core and it is not the root cause here.

The problem seems that the DerivativeContext contains the wrong config object. I have no idea why the MainConfig is gone and tests now starting to fail.
I have uploaded a patch set to set the MainConfig

Change 509509 abandoned by Jforrester:
[GrowthExperiments] Add ConfirmEdit dependency explicitly

Reason:
Cool. :-)

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

Change 509517 merged by jenkins-bot:
[mediawiki/extensions/GrowthExperiments@master] Set MainConfig on DerivativeContext when running hook

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

Change 510535 had a related patch set uploaded (by Reedy; owner: Umherirrender):
[mediawiki/extensions/GrowthExperiments@wmf/1.34.0-wmf.4] Set MainConfig on DerivativeContext when running hook

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

Change 510535 merged by jenkins-bot:
[mediawiki/extensions/GrowthExperiments@wmf/1.34.0-wmf.4] Set MainConfig on DerivativeContext when running hook

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

Mentioned in SAL (#wikimedia-operations) [2019-05-15T15:21:32Z] <reedy@deploy1001> Synchronized php-1.34.0-wmf.4/extensions/GrowthExperiments/includes/HelpPanel/QuestionPoster.php: T222980 (duration: 00m 57s)

mmodell changed the subtype of this task from "Task" to "Production Error".Aug 28 2019, 11:07 PM