Page MenuHomePhabricator

"No such service: EventBus.EventBusFactory" error from GrowthExperiments extension
Closed, ResolvedPublicBUG REPORT

Description

Pixel was unusable today due to the following error:

MediaWiki internal error.

Original exception: [a5d3b092aa498d5295823921] / Wikimedia\Services\NoSuchServiceException: No such service: EventBus.EventBusFactory
Backtrace:
from /var/www/html/w/vendor/wikimedia/services/src/ServiceContainer.php(431)
#0 /var/www/html/w/vendor/wikimedia/services/src/ServiceContainer.php(411): Wikimedia\Services\ServiceContainer->createService()
#1 /var/www/html/w/includes/MediaWikiServices.php(306): Wikimedia\Services\ServiceContainer->getService()
#2 /var/www/html/w/vendor/wikimedia/services/src/ServiceContainer.php(419): MediaWiki\MediaWikiServices->getService()
#3 /var/www/html/w/extensions/GrowthExperiments/ServiceWiring.php(994): Wikimedia\Services\ServiceContainer->get()
#4 /var/www/html/w/vendor/wikimedia/services/src/ServiceContainer.php(447): Wikimedia\Services\ServiceContainer::{closure}()
#5 /var/www/html/w/vendor/wikimedia/services/src/ServiceContainer.php(411): Wikimedia\Services\ServiceContainer->createService()
#6 /var/www/html/w/includes/MediaWikiServices.php(306): Wikimedia\Services\ServiceContainer->getService()
#7 /var/www/html/w/vendor/wikimedia/services/src/ServiceContainer.php(419): MediaWiki\MediaWikiServices->getService()
#8 /var/www/html/w/extensions/GrowthExperiments/includes/GrowthExperimentsServices.php(334): Wikimedia\Services\ServiceContainer->get()
#9 /var/www/html/w/extensions/GrowthExperiments/ServiceWiring.php(116): GrowthExperiments\GrowthExperimentsServices->getEventGateImageSuggestionFeedbackUpdater()
#10 /var/www/html/w/vendor/wikimedia/services/src/ServiceContainer.php(447): Wikimedia\Services\ServiceContainer::{closure}()
#11 /var/www/html/w/vendor/wikimedia/services/src/ServiceContainer.php(411): Wikimedia\Services\ServiceContainer->createService()
#12 /var/www/html/w/includes/MediaWikiServices.php(306): Wikimedia\Services\ServiceContainer->getService()
#13 /var/www/html/w/vendor/wikimedia/services/src/ServiceContainer.php(419): MediaWiki\MediaWikiServices->getService()
#14 /var/www/html/w/extensions/GrowthExperiments/includes/GrowthExperimentsServices.php(294): Wikimedia\Services\ServiceContainer->get()
#15 /var/www/html/w/extensions/GrowthExperiments/ServiceWiring.php(231): GrowthExperiments\GrowthExperimentsServices->getAddImageSubmissionHandler()
#16 /var/www/html/w/vendor/wikimedia/services/src/ServiceContainer.php(447): Wikimedia\Services\ServiceContainer::{closure}()
#17 /var/www/html/w/vendor/wikimedia/services/src/ServiceContainer.php(411): Wikimedia\Services\ServiceContainer->createService()
#18 /var/www/html/w/includes/MediaWikiServices.php(306): Wikimedia\Services\ServiceContainer->getService()
#19 /var/www/html/w/vendor/wikimedia/services/src/ServiceContainer.php(419): MediaWiki\MediaWikiServices->getService()
#20 /var/www/html/w/extensions/GrowthExperiments/includes/GrowthExperimentsServices.php(126): Wikimedia\Services\ServiceContainer->get()
#21 /var/www/html/w/extensions/GrowthExperiments/ServiceWiring.php(217): GrowthExperiments\GrowthExperimentsServices->getImageRecommendationProviderUncached()

As a quick fix, I disabled the GrowthExperiments extension in Pixel's LocalSettings.php.

This ticket encompasses the work required to stop this error from happening when the GrowthExperiments extension is enabled again.

Event Timeline

Thanks for the report nray. I think this due to the fact the EventBus.EventBusFactory is a service provided by the EventBus extension (see Extension:EventBus). The service is used to gather the feedback users provide when accepting/rejecting possible edits when using the GrowthFeatures. If disabling is an option for you that's fine, if you want to use growth features you can install the EventBus extension for now.

I will check with the team how can we soften this dependency as its only needed for one of the growth features. (introduced in I0d2f5f977254b2d4329f54b6682726a87066b98c).

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

[mediawiki/extensions/GrowthExperiments@master] Soften dependency on EventBus

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

Thanks for the explanation @Sgs! I see the patch to make it a soft dependency, so I'll probably wait until that's merged before re-enabling the extension

Change 889645 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@master] Soften dependency on EventBus

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

@nray This should now be resolved. Please feel free to let us know if re-enabling the extension still causes some issues!

Sorry for the lack of response here! I've just submitted a PR to re-enable this . Thank you for fixing!