Page MenuHomePhabricator

Exception: Serialization of 'Closure' is not allowed
Closed, ResolvedPublic

Description

Running update.php on what should be HEAD of mw core, skins and extensions etc...

[dd36a9cd86e2c601f7930f04] [no req]   Exception: Serialization of 'Closure' is not allowed
Backtrace:
from /var/www/wiki/mediawiki/core/includes/libs/ObjectCache/MemcachedPeclBagOStuff.php(59)
#0 /var/www/wiki/mediawiki/core/includes/libs/ObjectCache/MemcachedPeclBagOStuff.php(59): serialize()
#1 /var/www/wiki/mediawiki/core/includes/ObjectCache/ObjectCacheFactory.php(228): Wikimedia\ObjectCache\MemcachedPeclBagOStuff->__construct()
#2 /var/www/wiki/mediawiki/core/includes/ObjectCache/ObjectCacheFactory.php(152): ObjectCacheFactory->newFromParams()
#3 /var/www/wiki/mediawiki/core/includes/ObjectCache/ObjectCacheFactory.php(163): ObjectCacheFactory->newFromId()
#4 /var/www/wiki/mediawiki/core/includes/ObjectCache/ObjectCacheFactory.php(441): ObjectCacheFactory->getInstance()
#5 /var/www/wiki/mediawiki/core/includes/ServiceWiring.php(1388): ObjectCacheFactory->getLocalClusterInstance()
#6 /var/www/wiki/mediawiki/core/vendor/wikimedia/services/src/ServiceContainer.php(440): Wikimedia\Services\ServiceContainer::{closure:/var/www/wiki/mediawiki/core/includes/ServiceWiring.php:1385}()
#7 /var/www/wiki/mediawiki/core/vendor/wikimedia/services/src/ServiceContainer.php(406): Wikimedia\Services\ServiceContainer->createService()
#8 /var/www/wiki/mediawiki/core/includes/MediaWikiServices.php(378): Wikimedia\Services\ServiceContainer->getService()
#9 /var/www/wiki/mediawiki/core/includes/MediaWikiServices.php(1529): MediaWiki\MediaWikiServices->getService()
#10 /var/www/wiki/mediawiki/core/includes/ServiceWiring.php(844): MediaWiki\MediaWikiServices->getMainWANObjectCache()
#11 /var/www/wiki/mediawiki/core/vendor/wikimedia/services/src/ServiceContainer.php(440): Wikimedia\Services\ServiceContainer::{closure:/var/www/wiki/mediawiki/core/includes/ServiceWiring.php:837}()
#12 /var/www/wiki/mediawiki/core/vendor/wikimedia/services/src/ServiceContainer.php(406): Wikimedia\Services\ServiceContainer->createService()
#13 /var/www/wiki/mediawiki/core/includes/MediaWikiServices.php(378): Wikimedia\Services\ServiceContainer->getService()
#14 /var/www/wiki/mediawiki/core/includes/MediaWikiServices.php(1143): MediaWiki\MediaWikiServices->getService()
#15 /var/www/wiki/mediawiki/core/includes/ServiceWiring.php(823): MediaWiki\MediaWikiServices->getDBLoadBalancerFactoryConfigBuilder()
#16 /var/www/wiki/mediawiki/core/vendor/wikimedia/services/src/ServiceContainer.php(440): Wikimedia\Services\ServiceContainer::{closure:/var/www/wiki/mediawiki/core/includes/ServiceWiring.php:821}()
#17 /var/www/wiki/mediawiki/core/vendor/wikimedia/services/src/ServiceContainer.php(406): Wikimedia\Services\ServiceContainer->createService()
#18 /var/www/wiki/mediawiki/core/includes/MediaWikiServices.php(378): Wikimedia\Services\ServiceContainer->getService()
#19 /var/www/wiki/mediawiki/core/includes/MediaWikiServices.php(1136): MediaWiki\MediaWikiServices->getService()
#20 /var/www/wiki/mediawiki/core/includes/ServiceWiring.php(1557): MediaWiki\MediaWikiServices->getDBLoadBalancerFactory()
#21 /var/www/wiki/mediawiki/core/vendor/wikimedia/services/src/ServiceContainer.php(440): Wikimedia\Services\ServiceContainer::{closure:/var/www/wiki/mediawiki/core/includes/ServiceWiring.php:1555}()
#22 /var/www/wiki/mediawiki/core/vendor/wikimedia/services/src/ServiceContainer.php(406): Wikimedia\Services\ServiceContainer->createService()
#23 /var/www/wiki/mediawiki/core/includes/MediaWikiServices.php(378): Wikimedia\Services\ServiceContainer->getService()
#24 /var/www/wiki/mediawiki/core/includes/MediaWikiServices.php(1605): MediaWiki\MediaWikiServices->getService()
#25 /var/www/wiki/mediawiki/core/includes/ServiceWiring.php(566): MediaWiki\MediaWikiServices->getNameTableStoreFactory()
#26 /var/www/wiki/mediawiki/core/vendor/wikimedia/services/src/ServiceContainer.php(440): Wikimedia\Services\ServiceContainer::{closure:/var/www/wiki/mediawiki/core/includes/ServiceWiring.php:565}()
#27 /var/www/wiki/mediawiki/core/vendor/wikimedia/services/src/ServiceContainer.php(406): Wikimedia\Services\ServiceContainer->createService()
#28 /var/www/wiki/mediawiki/core/includes/MediaWikiServices.php(378): Wikimedia\Services\ServiceContainer->getService()
#29 /var/www/wiki/mediawiki/core/vendor/wikimedia/services/src/ServiceContainer.php(414): MediaWiki\MediaWikiServices->getService()
#30 /var/www/wiki/mediawiki/core/vendor/wikimedia/object-factory/src/ObjectFactory.php(204): Wikimedia\Services\ServiceContainer->get()
#31 /var/www/wiki/mediawiki/core/vendor/wikimedia/object-factory/src/ObjectFactory.php(149): Wikimedia\ObjectFactory\ObjectFactory::getObjectFromSpec()
#32 /var/www/wiki/mediawiki/core/includes/HookContainer/HookContainer.php(231): Wikimedia\ObjectFactory\ObjectFactory->createObject()
#33 /var/www/wiki/mediawiki/core/includes/HookContainer/HookContainer.php(288): MediaWiki\HookContainer\HookContainer->makeExtensionHandlerCallback()
#34 /var/www/wiki/mediawiki/core/includes/HookContainer/HookContainer.php(411): MediaWiki\HookContainer\HookContainer->normalizeHandler()
#35 /var/www/wiki/mediawiki/core/includes/HookContainer/HookContainer.php(127): MediaWiki\HookContainer\HookContainer->getHandlers()
#36 /var/www/wiki/mediawiki/core/includes/HookContainer/HookRunner.php(3886): MediaWiki\HookContainer\HookContainer->run()
#37 /var/www/wiki/mediawiki/core/includes/Setup.php(468): MediaWiki\HookContainer\HookRunner->onSetupAfterCache()
#38 /var/www/wiki/mediawiki/core/maintenance/run.php(51): require_once(string)
#39 {main}

And trying to visit my dev wiki

MediaWiki internal error.

Original exception: [3c8bdadd4f17c95c067314a2] / Exception: Serialization of 'Closure' is not allowed
Backtrace:
from /var/www/wiki/mediawiki/core/includes/libs/ObjectCache/MemcachedPeclBagOStuff.php(59)
#0 /var/www/wiki/mediawiki/core/includes/libs/ObjectCache/MemcachedPeclBagOStuff.php(59): serialize()
#1 /var/www/wiki/mediawiki/core/includes/ObjectCache/ObjectCacheFactory.php(228): Wikimedia\ObjectCache\MemcachedPeclBagOStuff->__construct()
#2 /var/www/wiki/mediawiki/core/includes/ObjectCache/ObjectCacheFactory.php(152): ObjectCacheFactory->newFromParams()
#3 /var/www/wiki/mediawiki/core/includes/ObjectCache/ObjectCacheFactory.php(163): ObjectCacheFactory->newFromId()
#4 /var/www/wiki/mediawiki/core/includes/ObjectCache/ObjectCacheFactory.php(441): ObjectCacheFactory->getInstance()
#5 /var/www/wiki/mediawiki/core/includes/ServiceWiring.php(1388): ObjectCacheFactory->getLocalClusterInstance()
#6 /var/www/wiki/mediawiki/core/vendor/wikimedia/services/src/ServiceContainer.php(440): Wikimedia\Services\ServiceContainer::{closure:/var/www/wiki/mediawiki/core/includes/ServiceWiring.php:1385}()
#7 /var/www/wiki/mediawiki/core/vendor/wikimedia/services/src/ServiceContainer.php(406): Wikimedia\Services\ServiceContainer->createService()
#8 /var/www/wiki/mediawiki/core/includes/MediaWikiServices.php(378): Wikimedia\Services\ServiceContainer->getService()
#9 /var/www/wiki/mediawiki/core/includes/MediaWikiServices.php(1529): MediaWiki\MediaWikiServices->getService()
#10 /var/www/wiki/mediawiki/core/includes/ServiceWiring.php(844): MediaWiki\MediaWikiServices->getMainWANObjectCache()
#11 /var/www/wiki/mediawiki/core/vendor/wikimedia/services/src/ServiceContainer.php(440): Wikimedia\Services\ServiceContainer::{closure:/var/www/wiki/mediawiki/core/includes/ServiceWiring.php:837}()
#12 /var/www/wiki/mediawiki/core/vendor/wikimedia/services/src/ServiceContainer.php(406): Wikimedia\Services\ServiceContainer->createService()
#13 /var/www/wiki/mediawiki/core/includes/MediaWikiServices.php(378): Wikimedia\Services\ServiceContainer->getService()
#14 /var/www/wiki/mediawiki/core/includes/MediaWikiServices.php(1143): MediaWiki\MediaWikiServices->getService()
#15 /var/www/wiki/mediawiki/core/includes/ServiceWiring.php(823): MediaWiki\MediaWikiServices->getDBLoadBalancerFactoryConfigBuilder()
#16 /var/www/wiki/mediawiki/core/vendor/wikimedia/services/src/ServiceContainer.php(440): Wikimedia\Services\ServiceContainer::{closure:/var/www/wiki/mediawiki/core/includes/ServiceWiring.php:821}()
#17 /var/www/wiki/mediawiki/core/vendor/wikimedia/services/src/ServiceContainer.php(406): Wikimedia\Services\ServiceContainer->createService()
#18 /var/www/wiki/mediawiki/core/includes/MediaWikiServices.php(378): Wikimedia\Services\ServiceContainer->getService()
#19 /var/www/wiki/mediawiki/core/includes/MediaWikiServices.php(1136): MediaWiki\MediaWikiServices->getService()
#20 /var/www/wiki/mediawiki/core/includes/ServiceWiring.php(1557): MediaWiki\MediaWikiServices->getDBLoadBalancerFactory()
#21 /var/www/wiki/mediawiki/core/vendor/wikimedia/services/src/ServiceContainer.php(440): Wikimedia\Services\ServiceContainer::{closure:/var/www/wiki/mediawiki/core/includes/ServiceWiring.php:1555}()
#22 /var/www/wiki/mediawiki/core/vendor/wikimedia/services/src/ServiceContainer.php(406): Wikimedia\Services\ServiceContainer->createService()
#23 /var/www/wiki/mediawiki/core/includes/MediaWikiServices.php(378): Wikimedia\Services\ServiceContainer->getService()
#24 /var/www/wiki/mediawiki/core/includes/MediaWikiServices.php(1605): MediaWiki\MediaWikiServices->getService()
#25 /var/www/wiki/mediawiki/core/includes/ServiceWiring.php(566): MediaWiki\MediaWikiServices->getNameTableStoreFactory()
#26 /var/www/wiki/mediawiki/core/vendor/wikimedia/services/src/ServiceContainer.php(440): Wikimedia\Services\ServiceContainer::{closure:/var/www/wiki/mediawiki/core/includes/ServiceWiring.php:565}()
#27 /var/www/wiki/mediawiki/core/vendor/wikimedia/services/src/ServiceContainer.php(406): Wikimedia\Services\ServiceContainer->createService()
#28 /var/www/wiki/mediawiki/core/includes/MediaWikiServices.php(378): Wikimedia\Services\ServiceContainer->getService()
#29 /var/www/wiki/mediawiki/core/vendor/wikimedia/services/src/ServiceContainer.php(414): MediaWiki\MediaWikiServices->getService()
#30 /var/www/wiki/mediawiki/core/vendor/wikimedia/object-factory/src/ObjectFactory.php(204): Wikimedia\Services\ServiceContainer->get()
#31 /var/www/wiki/mediawiki/core/vendor/wikimedia/object-factory/src/ObjectFactory.php(149): Wikimedia\ObjectFactory\ObjectFactory::getObjectFromSpec()
#32 /var/www/wiki/mediawiki/core/includes/HookContainer/HookContainer.php(231): Wikimedia\ObjectFactory\ObjectFactory->createObject()
#33 /var/www/wiki/mediawiki/core/includes/HookContainer/HookContainer.php(288): MediaWiki\HookContainer\HookContainer->makeExtensionHandlerCallback()
#34 /var/www/wiki/mediawiki/core/includes/HookContainer/HookContainer.php(411): MediaWiki\HookContainer\HookContainer->normalizeHandler()
#35 /var/www/wiki/mediawiki/core/includes/HookContainer/HookContainer.php(127): MediaWiki\HookContainer\HookContainer->getHandlers()
#36 /var/www/wiki/mediawiki/core/includes/HookContainer/HookRunner.php(3886): MediaWiki\HookContainer\HookContainer->run()
#37 /var/www/wiki/mediawiki/core/includes/Setup.php(468): MediaWiki\HookContainer\HookRunner->onSetupAfterCache()
#38 /var/www/wiki/mediawiki/core/includes/WebStart.php(72): require_once(string)
#39 /var/www/wiki/mediawiki/core/index.php(36): require(string)
#40 {main}

Exception caught inside exception handler: [3c8bdadd4f17c95c067314a2] / Wikimedia\Services\RecursiveServiceDependencyException: Recursive service instantiation: Circular dependency when creating service! ChangeTagDefStore -> NameTableStoreFactory -> DBLoadBalancerFactory -> DBLoadBalancerFactoryConfigBuilder -> MainWANObjectCache -> MessageCache -> MainWANObjectCache
Backtrace:
from /var/www/wiki/mediawiki/core/vendor/wikimedia/services/src/ServiceContainer.php(430)
#0 /var/www/wiki/mediawiki/core/vendor/wikimedia/services/src/ServiceContainer.php(406): Wikimedia\Services\ServiceContainer->createService()
#1 /var/www/wiki/mediawiki/core/includes/MediaWikiServices.php(378): Wikimedia\Services\ServiceContainer->getService()
#2 /var/www/wiki/mediawiki/core/includes/MediaWikiServices.php(1529): MediaWiki\MediaWikiServices->getService()
#3 /var/www/wiki/mediawiki/core/includes/ServiceWiring.php(1435): MediaWiki\MediaWikiServices->getMainWANObjectCache()
#4 /var/www/wiki/mediawiki/core/vendor/wikimedia/services/src/ServiceContainer.php(440): Wikimedia\Services\ServiceContainer::{closure:/var/www/wiki/mediawiki/core/includes/ServiceWiring.php:1419}()
#5 /var/www/wiki/mediawiki/core/vendor/wikimedia/services/src/ServiceContainer.php(406): Wikimedia\Services\ServiceContainer->createService()
#6 /var/www/wiki/mediawiki/core/includes/MediaWikiServices.php(378): Wikimedia\Services\ServiceContainer->getService()
#7 /var/www/wiki/mediawiki/core/includes/MediaWikiServices.php(1550): MediaWiki\MediaWikiServices->getService()
#8 /var/www/wiki/mediawiki/core/includes/Language/Message/Message.php(1529): MediaWiki\MediaWikiServices->getMessageCache()
#9 /var/www/wiki/mediawiki/core/includes/Language/Message/Message.php(1034): MediaWiki\Message\Message->fetchMessage()
#10 /var/www/wiki/mediawiki/core/includes/Language/Message/Message.php(1136): MediaWiki\Message\Message->format()
#11 /var/www/wiki/mediawiki/core/includes/Exception/MWExceptionRenderer.php(251): MediaWiki\Message\Message->text()
#12 /var/www/wiki/mediawiki/core/includes/Exception/MWExceptionRenderer.php(189): MediaWiki\Exception\MWExceptionRenderer::msg()
#13 /var/www/wiki/mediawiki/core/includes/Exception/MWExceptionRenderer.php(103): MediaWiki\Exception\MWExceptionRenderer::reportHTML()
#14 /var/www/wiki/mediawiki/core/includes/Exception/MWExceptionHandler.php(123): MediaWiki\Exception\MWExceptionRenderer::output()
#15 /var/www/wiki/mediawiki/core/includes/Exception/MWExceptionHandler.php(224): MediaWiki\Exception\MWExceptionHandler::report()
#16 /var/www/wiki/mediawiki/core/includes/Exception/MWExceptionHandler.php(195): MediaWiki\Exception\MWExceptionHandler::handleException()
#17 [internal function]: MediaWiki\Exception\MWExceptionHandler::handleUncaughtException()
#18 {main}

Event Timeline

Reedy triaged this task as High priority.Tue, Jan 20, 11:34 PM

Change #1229451 had a related patch set uploaded (by Thiemo Kreuz (WMDE); author: Thiemo Kreuz (WMDE)):

[mediawiki/core@master] Revert "first-class callables" that need to be serializable

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

@Reedy, unfortunately I cannot replay the issue locally. But I do have a suspicion. Can you test if the partial revert https://gerrit.wikimedia.org/r/1229451 I created fixes the issue for you? Thanks a lot!

Change #1229451 merged by jenkins-bot:

[mediawiki/core@master] Revert "asyncHandler" callables that need to be serializable

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

Reedy assigned this task to thiemowmde.