Page MenuHomePhabricator

scap sync fails on beta with Error: Class 'MediaWiki\Extension\MediaSearch\I18nUtils' not found
Closed, ResolvedPublic

Description

Logs:

04:15:41 [d6c50b28c2b2908d6ca70479] [no req]   Error: Class 'MediaWiki\Extension\MediaSearch\I18nUtils' not found
04:15:41 Backtrace:
04:15:41 from /srv/mediawiki-staging/php-master/extensions/MediaSearch/MediaSearch.i18n.php(13)
04:15:41 #0 /srv/mediawiki-staging/php-master/includes/cache/localisation/LocalisationCache.php(555): include()
04:15:41 #1 /srv/mediawiki-staging/php-master/includes/cache/localisation/LocalisationCacheBulkLoad.php(53): LocalisationCache->readPHPFile(string, string)
04:15:41 #2 /srv/mediawiki-staging/php-master/includes/cache/localisation/LocalisationCache.php(900): LocalisationCacheBulkLoad->readPHPFile(string, string)
04:15:41 #3 /srv/mediawiki-staging/php-master/includes/cache/localisation/LocalisationCacheBulkLoad.php(100): LocalisationCache->recache(string)
04:15:41 #4 /srv/mediawiki-staging/php-master/maintenance/rebuildLocalisationCache.php(220): LocalisationCacheBulkLoad->recache(string)
04:15:41 #5 /srv/mediawiki-staging/php-master/maintenance/rebuildLocalisationCache.php(167): RebuildLocalisationCache->doRebuild(array, LocalisationCacheBulkLoad, boolean)
04:15:41 #6 /srv/mediawiki-staging/php-master/maintenance/doMaintenance.php(108): RebuildLocalisationCache->execute()
04:15:41 #7 /srv/mediawiki-staging/php-master/maintenance/rebuildLocalisationCache.php(248): require_once(string)
04:15:41 #8 /srv/mediawiki-staging/multiversion/MWScript.php(116): require_once(string)
04:15:41 #9 {main}
04:15:41 [d6c50b28c2b2908d6ca70479] [no req]   Error: Class 'MediaWiki\Extension\MediaSearch\I18nUtils' not found
04:15:41 Backtrace:
04:15:41 from /srv/mediawiki-staging/php-master/extensions/MediaSearch/MediaSearch.i18n.php(13)
04:15:41 #0 /srv/mediawiki-staging/php-master/includes/cache/localisation/LocalisationCache.php(555): include()
04:15:41 #1 /srv/mediawiki-staging/php-master/includes/cache/localisation/LocalisationCacheBulkLoad.php(53): LocalisationCache->readPHPFile(string, string)
04:15:41 #2 /srv/mediawiki-staging/php-master/includes/cache/localisation/LocalisationCache.php(900): LocalisationCacheBulkLoad->readPHPFile(string, string)
04:15:41 #3 /srv/mediawiki-staging/php-master/includes/cache/localisation/LocalisationCacheBulkLoad.php(100): LocalisationCache->recache(string)
04:15:41 #4 /srv/mediawiki-staging/php-master/maintenance/rebuildLocalisationCache.php(220): LocalisationCacheBulkLoad->recache(string)
04:15:41 #5 /srv/mediawiki-staging/php-master/maintenance/rebuildLocalisationCache.php(167): RebuildLocalisationCache->doRebuild(array, LocalisationCacheBulkLoad, boolean)
04:15:41 #6 /srv/mediawiki-staging/php-master/maintenance/doMaintenance.php(108): RebuildLocalisationCache->execute()
04:15:41 #7 /srv/mediawiki-staging/php-master/maintenance/rebuildLocalisationCache.php(248): require_once(string)
04:15:41 #8 /srv/mediawiki-staging/multiversion/MWScript.php(116): require_once(string)
04:15:41 #9 {main}
04:15:41 [d6c50b28c2b2908d6ca70479] [no req]   Error: Class 'MediaWiki\Extension\MediaSearch\I18nUtils' not found
04:15:41 Backtrace:
04:15:41 from /srv/mediawiki-staging/php-master/extensions/MediaSearch/MediaSearch.i18n.php(13)
04:15:41 #0 /srv/mediawiki-staging/php-master/includes/cache/localisation/LocalisationCache.php(555): include()
04:15:41 #1 /srv/mediawiki-staging/php-master/includes/cache/localisation/LocalisationCacheBulkLoad.php(53): LocalisationCache->readPHPFile(string, string)
04:15:41 #2 /srv/mediawiki-staging/php-master/includes/cache/localisation/LocalisationCache.php(900): LocalisationCacheBulkLoad->readPHPFile(string, string)
04:15:41 #3 /srv/mediawiki-staging/php-master/includes/cache/localisation/LocalisationCacheBulkLoad.php(100): LocalisationCache->recache(string)
04:15:41 #4 /srv/mediawiki-staging/php-master/maintenance/rebuildLocalisationCache.php(220): LocalisationCacheBulkLoad->recache(string)
04:15:41 #5 /srv/mediawiki-staging/php-master/maintenance/rebuildLocalisationCache.php(167): RebuildLocalisationCache->doRebuild(array, LocalisationCacheBulkLoad, boolean)
04:15:41 #6 /srv/mediawiki-staging/php-master/maintenance/doMaintenance.php(108): RebuildLocalisationCache->execute()
04:15:41 #7 /srv/mediawiki-staging/php-master/maintenance/rebuildLocalisationCache.php(248): require_once(string)
04:15:41 #8 /srv/mediawiki-staging/multiversion/MWScript.php(116): require_once(string)
04:15:41 #9 {main}
04:15:41 [d6c50b28c2b2908d6ca70479] [no req]   Error: Class 'MediaWiki\Extension\MediaSearch\I18nUtils' not found
04:15:41 Backtrace:
04:15:41 from /srv/mediawiki-staging/php-master/extensions/MediaSearch/MediaSearch.i18n.php(13)
04:15:41 #0 /srv/mediawiki-staging/php-master/includes/cache/localisation/LocalisationCache.php(555): include()
04:15:41 #1 /srv/mediawiki-staging/php-master/includes/cache/localisation/LocalisationCacheBulkLoad.php(53): LocalisationCache->readPHPFile(string, string)
04:15:41 #2 /srv/mediawiki-staging/php-master/includes/cache/localisation/LocalisationCache.php(900): LocalisationCacheBulkLoad->readPHPFile(string, string)
04:15:41 #3 /srv/mediawiki-staging/php-master/includes/cache/localisation/LocalisationCacheBulkLoad.php(100): LocalisationCache->recache(string)
04:15:41 #4 /srv/mediawiki-staging/php-master/maintenance/rebuildLocalisationCache.php(220): LocalisationCacheBulkLoad->recache(string)
04:15:41 #5 /srv/mediawiki-staging/php-master/maintenance/rebuildLocalisationCache.php(167): RebuildLocalisationCache->doRebuild(array, LocalisationCacheBulkLoad, boolean)
04:15:41 #6 /srv/mediawiki-staging/php-master/maintenance/doMaintenance.php(108): RebuildLocalisationCache->execute()
04:15:41 #7 /srv/mediawiki-staging/php-master/maintenance/rebuildLocalisationCache.php(248): require_once(string)
04:15:41 #8 /srv/mediawiki-staging/multiversion/MWScript.php(116): require_once(string)
04:15:41 #9 {main}
04:15:41 [d6c50b28c2b2908d6ca70479] [no req]   Error: Class 'MediaWiki\Extension\MediaSearch\I18nUtils' not found
04:15:41 Backtrace:
04:15:41 from /srv/mediawiki-staging/php-master/extensions/MediaSearch/MediaSearch.i18n.php(13)
04:15:41 #0 /srv/mediawiki-staging/php-master/includes/cache/localisation/LocalisationCache.php(555): include()
04:15:41 #1 /srv/mediawiki-staging/php-master/includes/cache/localisation/LocalisationCacheBulkLoad.php(53): LocalisationCache->readPHPFile(string, string)
04:15:41 #2 /srv/mediawiki-staging/php-master/includes/cache/localisation/LocalisationCache.php(900): LocalisationCacheBulkLoad->readPHPFile(string, string)
04:15:41 #3 /srv/mediawiki-staging/php-master/includes/cache/localisation/LocalisationCacheBulkLoad.php(100): LocalisationCache->recache(string)
04:15:41 #4 /srv/mediawiki-staging/php-master/maintenance/rebuildLocalisationCache.php(220): LocalisationCacheBulkLoad->recache(string)
04:15:41 #5 /srv/mediawiki-staging/php-master/maintenance/rebuildLocalisationCache.php(167): RebuildLocalisationCache->doRebuild(array, LocalisationCacheBulkLoad, boolean)
04:15:41 #6 /srv/mediawiki-staging/php-master/maintenance/doMaintenance.php(108): RebuildLocalisationCache->execute()
04:15:41 #7 /srv/mediawiki-staging/php-master/maintenance/rebuildLocalisationCache.php(248): require_once(string)
04:15:41 #8 /srv/mediawiki-staging/multiversion/MWScript.php(116): require_once(string)
04:15:41 #9 {main}
04:15:41 [d6c50b28c2b2908d6ca70479] [no req]   Error: Class 'MediaWiki\Extension\MediaSearch\I18nUtils' not found
04:15:41 Backtrace:
04:15:41 from /srv/mediawiki-staging/php-master/extensions/MediaSearch/MediaSearch.i18n.php(13)
04:15:41 #0 /srv/mediawiki-staging/php-master/includes/cache/localisation/LocalisationCache.php(555): include()
04:15:41 #1 /srv/mediawiki-staging/php-master/includes/cache/localisation/LocalisationCacheBulkLoad.php(53): LocalisationCache->readPHPFile(string, string)
04:15:41 #2 /srv/mediawiki-staging/php-master/includes/cache/localisation/LocalisationCache.php(900): LocalisationCacheBulkLoad->readPHPFile(string, string)
04:15:41 #3 /srv/mediawiki-staging/php-master/includes/cache/localisation/LocalisationCacheBulkLoad.php(100): LocalisationCache->recache(string)
04:15:41 #4 /srv/mediawiki-staging/php-master/maintenance/rebuildLocalisationCache.php(220): LocalisationCacheBulkLoad->recache(string)
04:15:41 #5 /srv/mediawiki-staging/php-master/maintenance/rebuildLocalisationCache.php(167): RebuildLocalisationCache->doRebuild(array, LocalisationCacheBulkLoad, boolean)
04:15:41 #6 /srv/mediawiki-staging/php-master/maintenance/doMaintenance.php(108): RebuildLocalisationCache->execute()
04:15:41 #7 /srv/mediawiki-staging/php-master/maintenance/rebuildLocalisationCache.php(248): require_once(string)
04:15:41 #8 /srv/mediawiki-staging/multiversion/MWScript.php(116): require_once(string)
04:15:41 #9 {main}
04:15:42 02:15:42 Finished l10n-update (duration: 00m 08s)
04:15:42 02:15:42 Unhandled error:
04:15:42 Traceback (most recent call last):
04:15:42   File "/usr/lib/python2.7/dist-packages/scap/cli.py", line 348, in run
04:15:42     exit_status = app.main(app.extra_arguments)
04:15:42   File "/usr/lib/python2.7/dist-packages/scap/main.py", line 727, in main
04:15:42     return super(ScapWorld, self).main(*extra_args)
04:15:42   File "/usr/lib/python2.7/dist-packages/scap/main.py", line 84, in main
04:15:42     self._after_sync_common()
04:15:42   File "/usr/lib/python2.7/dist-packages/scap/main.py", line 757, in _after_sync_common
04:15:42     version, wikidb, self.verbose, self.config
04:15:42   File "/usr/lib/python2.7/dist-packages/scap/utils.py", line 388, in context_wrapper
04:15:42     return func(*args, **kwargs)
04:15:42   File "/usr/lib/python2.7/dist-packages/scap/tasks.py", line 688, in update_localization_cache
04:15:42     delay_messageblobstore_purge=cfg["delay_messageblobstore_purge"],
04:15:42   File "/usr/lib/python2.7/dist-packages/scap/tasks.py", line 594, in _call_rebuildLocalisationCache
04:15:42     _rebuild("LCStoreCDB", "cdb")
04:15:42   File "/usr/lib/python2.7/dist-packages/scap/tasks.py", line 583, in _rebuild
04:15:42     "skip_message_purge": "--skip-message-purge" if delay_messageblobstore_purge else "",
04:15:42   File "/usr/lib/python2.7/dist-packages/scap/utils.py", line 388, in context_wrapper
04:15:42     return func(*args, **kwargs)
04:15:42   File "/usr/lib/python2.7/dist-packages/scap/utils.py", line 484, in sudo_check_call
04:15:42     raise subprocess.CalledProcessError(proc.returncode, cmd)
04:15:42 CalledProcessError: Command '/usr/local/bin/mwscript rebuildLocalisationCache.php --wiki="dewiktionary" --outdir="/tmp/scap_l10n_LCStoreCDB4191177299" --store-class=LCStoreCDB --threads=6   --quiet --skip-message-purge' returned non-zero exit status 255
04:15:42 02:15:42 scap failed: CalledProcessError Command '/usr/local/bin/mwscript rebuildLocalisationCache.php --wiki="dewiktionary" --outdir="/tmp/scap_l10n_LCStoreCDB4191177299" --store-class=LCStoreCDB --threads=6   --quiet --skip-message-purge' returned non-zero exit status 255 (duration: 01m 10s)

Event Timeline

Urbanecm triaged this task as Unbreak Now! priority.May 10 2021, 5:09 PM

Tentatively marking this as next train blocker, since this will likely break i18n cache building in production as well.

Yeah... That's not going to work. While the extension.json files are loaded as per wmf-config extension-list, there's no injection/loading of PHP classes into the autoloader for this to work as designed.

IIRC that file doesn’t require any other code, so a simple manual include should probably be a good enough fix, right?

I think so, yeah. Can't say 100% offhand, but should be cheap to try it, merge and see/confirm if it works correctly on beta

Change 688373 had a related patch set uploaded (by Anne Tomasevich; author: Anne Tomasevich):

[mediawiki/extensions/MediaSearch@master] Manually include I18NUtils class

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

Confirming that this is a train blocker. It is also blocking progress the MW-on-K8s project.

Change 688373 merged by jenkins-bot:

[mediawiki/extensions/MediaSearch@master] Manually include I18nUtils class

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

Change 688294 had a related patch set uploaded (by Ahmon Dancy; author: Anne Tomasevich):

[mediawiki/extensions/MediaSearch@wmf/1.37.0-wmf.3] Manually include I18nUtils class

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

Change 688295 had a related patch set uploaded (by Ahmon Dancy; author: Anne Tomasevich):

[mediawiki/extensions/MediaSearch@wmf/1.37.0-wmf.4] Manually include I18nUtils class

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

Change 688294 merged by jenkins-bot:

[mediawiki/extensions/MediaSearch@wmf/1.37.0-wmf.3] Manually include I18nUtils class

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

Mentioned in SAL (#wikimedia-operations) [2021-05-10T21:45:06Z] <dancy@deploy1002> Synchronized php-1.37.0-wmf.3/extensions/MediaSearch/MediaSearch.i18n.php: Backport: [[gerrit:688294|Manually include I18nUtils class (T282206)]] (duration: 01m 01s)

Change 688295 merged by jenkins-bot:

[mediawiki/extensions/MediaSearch@wmf/1.37.0-wmf.4] Manually include I18nUtils class

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

Mentioned in SAL (#wikimedia-operations) [2021-05-10T21:59:48Z] <dancy@deploy1002> Synchronized php-1.37.0-wmf.4/extensions/MediaSearch/MediaSearch.i18n.php: Backport: [[gerrit:688295|Manually include I18nUtils class (T282206)]] (duration: 00m 56s)

dancy claimed this task.

Looks good on my end.