Page MenuHomePhabricator

PHP Deprecated: str_starts_with(): Passing null to parameter #1 ($haystack) of type string is deprecated
Closed, ResolvedPublicPRODUCTION ERROR

Description

Notes

Following set of related warnings were first seen after deploying 1.45.0-wmf.15 to group0.

The only change I could find that touches a related code area is: https://gerrit.wikimedia.org/r/c/mediawiki/extensions/JsonConfig/+/1177942 But the code path is different, so I have my doubts this is the actual cause.

Error 1
  • service.version: 1.45.0-wmf.15
  • timestamp: 2025-08-19T09:12:01.823Z
  • labels.phpversion: 8.1.33
  • trace.id: d5d1dc7f-61e1-4892-b6b0-5f0ac7255ef4
  • Find trace.id in Logstash
labels.normalized_message
[{reqId}] {exception_url}   PHP Deprecated: str_starts_with(): Passing null to parameter #1 ($haystack) of type string is deprecated
FrameLocationCall
from/srv/mediawiki/php-1.45.0-wmf.15/includes/libs/Cookie.php(174)
#0[internal function]MediaWiki\Exception\MWExceptionHandler::handleError(int, string, string, int)
#1/srv/mediawiki/php-1.45.0-wmf.15/includes/libs/Cookie.php(174)str_starts_with(null, string)
#2/srv/mediawiki/php-1.45.0-wmf.15/includes/libs/Cookie.php(158)Cookie->canServeDomain(string)
#3/srv/mediawiki/php-1.45.0-wmf.15/includes/libs/CookieJar.php(59)Cookie->serializeToHttpRequest(string, string)
#4/srv/mediawiki/php-1.45.0-wmf.15/includes/http/GuzzleHttpRequest.php(177)CookieJar->serializeToHttpRequest(string, string)
#5/srv/mediawiki/php-1.45.0-wmf.15/vendor/guzzlehttp/guzzle/src/Middleware.php(248)GuzzleHttpRequest::{closure}(GuzzleHttp\Psr7\Request)
#6/srv/mediawiki/php-1.45.0-wmf.15/vendor/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php(64)GuzzleHttp\Middleware::GuzzleHttp\{closure}(GuzzleHttp\Psr7\Request, array)
#7/srv/mediawiki/php-1.45.0-wmf.15/vendor/guzzlehttp/guzzle/src/RedirectMiddleware.php(55)GuzzleHttp\PrepareBodyMiddleware->__invoke(GuzzleHttp\Psr7\Request, array)
#8/srv/mediawiki/php-1.45.0-wmf.15/vendor/guzzlehttp/guzzle/src/Middleware.php(63)GuzzleHttp\RedirectMiddleware->__invoke(GuzzleHttp\Psr7\Request, array)
#9/srv/mediawiki/php-1.45.0-wmf.15/vendor/guzzlehttp/guzzle/src/HandlerStack.php(75)GuzzleHttp\Middleware::GuzzleHttp\{closure}(GuzzleHttp\Psr7\Request, array)
#10/srv/mediawiki/php-1.45.0-wmf.15/vendor/guzzlehttp/guzzle/src/Client.php(333)GuzzleHttp\HandlerStack->__invoke(GuzzleHttp\Psr7\Request, array)
#11/srv/mediawiki/php-1.45.0-wmf.15/vendor/guzzlehttp/guzzle/src/Client.php(107)GuzzleHttp\Client->transfer(GuzzleHttp\Psr7\Request, array)
#12/srv/mediawiki/php-1.45.0-wmf.15/vendor/guzzlehttp/guzzle/src/Client.php(124)GuzzleHttp\Client->sendAsync(GuzzleHttp\Psr7\Request, array)
#13/srv/mediawiki/php-1.45.0-wmf.15/includes/http/GuzzleHttpRequest.php(215)GuzzleHttp\Client->send(GuzzleHttp\Psr7\Request)
#14/srv/mediawiki/php-1.45.0-wmf.15/extensions/JsonConfig/includes/JCApiUtils.php(97)GuzzleHttpRequest->execute()
#15/srv/mediawiki/php-1.45.0-wmf.15/extensions/JsonConfig/includes/JCApiUtils.php(81)JsonConfig\JCApiUtils->callApiStatus(GuzzleHttpRequest, array, string)
#16/srv/mediawiki/php-1.45.0-wmf.15/extensions/JsonConfig/includes/JCApiUtils.php(54)JsonConfig\JCApiUtils->callApi(GuzzleHttpRequest, array, string)
#17/srv/mediawiki/php-1.45.0-wmf.15/extensions/JsonConfig/includes/JCCache.php(163)JsonConfig\JCApiUtils->initApiRequestObj(string, string, string)
#18/srv/mediawiki/php-1.45.0-wmf.15/extensions/JsonConfig/includes/JCCache.php(113)JsonConfig\JCCache->loadRemote()
#19/srv/mediawiki/php-1.45.0-wmf.15/extensions/JsonConfig/includes/JCCache.php(66)JsonConfig\JCCache->fetchContent()
#20/srv/mediawiki/php-1.45.0-wmf.15/includes/libs/objectcache/WANObjectCache.php(1842)JsonConfig\JCCache->JsonConfig\{closure}(bool, int, array, null, array)
#21/srv/mediawiki/php-1.45.0-wmf.15/includes/libs/objectcache/WANObjectCache.php(1646)Wikimedia\ObjectCache\WANObjectCache->fetchOrRegenerate(string, int, Closure, array, array)
#22/srv/mediawiki/php-1.45.0-wmf.15/extensions/JsonConfig/includes/JCCache.php(77)Wikimedia\ObjectCache\WANObjectCache->getWithSetCallback(string, int, Closure)
#23/srv/mediawiki/php-1.45.0-wmf.15/extensions/JsonConfig/includes/JCSingleton.php(366)JsonConfig\JCCache->get()
#24/srv/mediawiki/php-1.45.0-wmf.15/extensions/JsonConfig/includes/JCLuaLibrary.php(49)JsonConfig\JCSingleton::getContent(JsonConfig\JCTitle)
#25/srv/mediawiki/php-1.45.0-wmf.15/extensions/Scribunto/includes/Engines/LuaSandbox/LuaSandboxCallback.php(31)JsonConfig\JCLuaLibrary->get(string, null)
#26[internal function]MediaWiki\Extension\Scribunto\Engines\LuaSandbox\LuaSandboxCallback->__call(string, array)
#27/srv/mediawiki/php-1.45.0-wmf.15/extensions/Scribunto/includes/Engines/LuaSandbox/LuaSandboxInterpreter.php(137)LuaSandboxFunction->call(LuaSandboxFunction)
#28/srv/mediawiki/php-1.45.0-wmf.15/extensions/Scribunto/includes/Engines/LuaCommon/LuaEngine.php(318)MediaWiki\Extension\Scribunto\Engines\LuaSandbox\LuaSandboxInterpreter->callFunction(LuaSandboxFunction, LuaSandboxFunction)
#29/srv/mediawiki/php-1.45.0-wmf.15/extensions/Scribunto/includes/Engines/LuaCommon/LuaModule.php(76)MediaWiki\Extension\Scribunto\Engines\LuaCommon\LuaEngine->executeFunctionChunk(LuaSandboxFunction, MediaWiki\Parser\PPTemplateFrame_Hash)
#30/srv/mediawiki/php-1.45.0-wmf.15/extensions/Scribunto/includes/Hooks.php(184)MediaWiki\Extension\Scribunto\Engines\LuaCommon\LuaModule->invoke(string, MediaWiki\Parser\PPTemplateFrame_Hash)
#31/srv/mediawiki/php-1.45.0-wmf.15/includes/parser/Parser.php(3427)MediaWiki\Extension\Scribunto\Hooks->invokeHook(MediaWiki\Parser\Parser, MediaWiki\Parser\PPTemplateFrame_Hash, array)
#32/srv/mediawiki/php-1.45.0-wmf.15/includes/parser/Parser.php(3083)MediaWiki\Parser\Parser->callParserFunction(MediaWiki\Parser\PPTemplateFrame_Hash, string, array, bool)
#33/srv/mediawiki/php-1.45.0-wmf.15/includes/parser/PPFrame_Hash.php(280)MediaWiki\Parser\Parser->braceSubstitution(array, MediaWiki\Parser\PPTemplateFrame_Hash)
#34/srv/mediawiki/php-1.45.0-wmf.15/includes/parser/Parser.php(3283)MediaWiki\Parser\PPFrame_Hash->expand(MediaWiki\Parser\PPNode_Hash_Tree)
#35/srv/mediawiki/php-1.45.0-wmf.15/includes/parser/PPFrame_Hash.php(280)MediaWiki\Parser\Parser->braceSubstitution(array, MediaWiki\Parser\PPFrame_Hash)
#36/srv/mediawiki/php-1.45.0-wmf.15/includes/parser/Parser.php(2905)MediaWiki\Parser\PPFrame_Hash->expand(MediaWiki\Parser\PPNode_Hash_Tree, int)
#37/srv/mediawiki/php-1.45.0-wmf.15/includes/parser/Parser.php(1541)MediaWiki\Parser\Parser->replaceVariables(string)
#38/srv/mediawiki/php-1.45.0-wmf.15/includes/parser/Parser.php(799)MediaWiki\Parser\Parser->internalParse(string, bool, bool)
#39/srv/mediawiki/php-1.45.0-wmf.15/extensions/Cite/src/ReferenceListFormatter.php(40)MediaWiki\Parser\Parser->recursiveTagParse(string)
#40/srv/mediawiki/php-1.45.0-wmf.15/extensions/Cite/src/Cite.php(319)Cite\ReferenceListFormatter->formatReferences(MediaWiki\Parser\Parser, array, bool)
#41/srv/mediawiki/php-1.45.0-wmf.15/extensions/Cite/src/Cite.php(232)Cite\Cite->formatReferences(MediaWiki\Parser\Parser, string, null)
#42/srv/mediawiki/php-1.45.0-wmf.15/extensions/Cite/src/Hooks/CiteParserTagHooks.php(76)Cite\Cite->references(MediaWiki\Parser\Parser, null, array)
#43/srv/mediawiki/php-1.45.0-wmf.15/includes/parser/Parser.php(4014)Cite\Hooks\CiteParserTagHooks->references(null, array, MediaWiki\Parser\Parser, MediaWiki\Parser\PPTemplateFrame_Hash)
#44/srv/mediawiki/php-1.45.0-wmf.15/includes/parser/PPFrame_Hash.php(359)MediaWiki\Parser\Parser->extensionSubstitution(array, MediaWiki\Parser\PPTemplateFrame_Hash, bool)
#45/srv/mediawiki/php-1.45.0-wmf.15/includes/parser/Parser.php(3283)MediaWiki\Parser\PPFrame_Hash->expand(MediaWiki\Parser\PPNode_Hash_Tree)
#46/srv/mediawiki/php-1.45.0-wmf.15/includes/parser/PPFrame_Hash.php(280)MediaWiki\Parser\Parser->braceSubstitution(array, MediaWiki\Parser\PPFrame_Hash)
#47/srv/mediawiki/php-1.45.0-wmf.15/includes/parser/Parser.php(2905)MediaWiki\Parser\PPFrame_Hash->expand(MediaWiki\Parser\PPNode_Hash_Tree, int)
#48/srv/mediawiki/php-1.45.0-wmf.15/includes/parser/Parser.php(1541)MediaWiki\Parser\Parser->replaceVariables(string)
#49/srv/mediawiki/php-1.45.0-wmf.15/includes/parser/Parser.php(628)MediaWiki\Parser\Parser->internalParse(string)
#50/srv/mediawiki/php-1.45.0-wmf.15/includes/content/WikitextContentHandler.php(389)MediaWiki\Parser\Parser->parse(string, MediaWiki\Title\Title, MediaWiki\Parser\ParserOptions, bool, bool, int)
#51/srv/mediawiki/php-1.45.0-wmf.15/includes/content/ContentHandler.php(1695)MediaWiki\Content\WikitextContentHandler->fillParserOutput(MediaWiki\Content\WikitextContent, MediaWiki\Content\Renderer\ContentParseParams, MediaWiki\Parser\ParserOutput)
#52/srv/mediawiki/php-1.45.0-wmf.15/includes/content/Renderer/ContentRenderer.php(75)MediaWiki\Content\ContentHandler->getParserOutput(MediaWiki\Content\WikitextContent, MediaWiki\Content\Renderer\ContentParseParams)
#53/srv/mediawiki/php-1.45.0-wmf.15/includes/Revision/RenderedRevision.php(261)MediaWiki\Content\Renderer\ContentRenderer->getParserOutput(MediaWiki\Content\WikitextContent, MediaWiki\Page\PageIdentityValue, MediaWiki\Revision\RevisionStoreRecord, MediaWiki\Parser\ParserOptions, array)
#54/srv/mediawiki/php-1.45.0-wmf.15/includes/Revision/RenderedRevision.php(233)MediaWiki\Revision\RenderedRevision->getSlotParserOutputUncached(MediaWiki\Content\WikitextContent, array)
#55/srv/mediawiki/php-1.45.0-wmf.15/includes/Revision/RevisionRenderer.php(237)MediaWiki\Revision\RenderedRevision->getSlotParserOutput(string, array)
#56/srv/mediawiki/php-1.45.0-wmf.15/includes/Revision/RevisionRenderer.php(170)MediaWiki\Revision\RevisionRenderer->combineSlotOutput(MediaWiki\Revision\RenderedRevision, MediaWiki\Parser\ParserOptions, array)
#57/srv/mediawiki/php-1.45.0-wmf.15/includes/Revision/RenderedRevision.php(196)MediaWiki\Revision\RevisionRenderer->MediaWiki\Revision\{closure}(MediaWiki\Revision\RenderedRevision, array)
#58/srv/mediawiki/php-1.45.0-wmf.15/includes/page/ParserOutputAccess.php(602)MediaWiki\Revision\RenderedRevision->getRevisionParserOutput()
#59/srv/mediawiki/php-1.45.0-wmf.15/includes/page/ParserOutputAccess.php(516)MediaWiki\Page\ParserOutputAccess->renderRevision(MediaWiki\Page\WikiPage, MediaWiki\Parser\ParserOptions, MediaWiki\Revision\RevisionStoreRecord, array, null)
#60/srv/mediawiki/php-1.45.0-wmf.15/includes/diff/DifferenceEngine.php(1264)MediaWiki\Page\ParserOutputAccess->getParserOutput(MediaWiki\Page\WikiPage, MediaWiki\Parser\ParserOptions, MediaWiki\Revision\RevisionStoreRecord, array)
#61/srv/mediawiki/php-1.45.0-wmf.15/includes/diff/DifferenceEngine.php(1049)DifferenceEngine->renderNewRevision()
#62/srv/mediawiki/php-1.45.0-wmf.15/includes/page/Article.php(1080)DifferenceEngine->showDiffPage(bool)
#63/srv/mediawiki/php-1.45.0-wmf.15/includes/page/Article.php(486)MediaWiki\Page\Article->showDiffPage()
#64/srv/mediawiki/php-1.45.0-wmf.15/includes/actions/ViewAction.php(84)MediaWiki\Page\Article->view()
#65/srv/mediawiki/php-1.45.0-wmf.15/includes/actions/ActionEntryPoint.php(728)MediaWiki\Actions\ViewAction->show()
#66/srv/mediawiki/php-1.45.0-wmf.15/includes/actions/ActionEntryPoint.php(505)MediaWiki\Actions\ActionEntryPoint->performAction(MediaWiki\Page\Article, MediaWiki\Title\Title)
#67/srv/mediawiki/php-1.45.0-wmf.15/includes/actions/ActionEntryPoint.php(143)MediaWiki\Actions\ActionEntryPoint->performRequest()
#68/srv/mediawiki/php-1.45.0-wmf.15/includes/MediaWikiEntryPoint.php(198)MediaWiki\Actions\ActionEntryPoint->execute()
#69/srv/mediawiki/php-1.45.0-wmf.15/index.php(58)MediaWiki\MediaWikiEntryPoint->run()
#70/srv/mediawiki/w/index.php(3)require(string)
#71{main}

Error 2
  • service.version: 1.45.0-wmf.15
  • timestamp: 2025-08-19T09:12:01.822Z
  • labels.phpversion: 8.1.33
  • trace.id: d5d1dc7f-61e1-4892-b6b0-5f0ac7255ef4
  • Find trace.id in Logstash
labels.normalized_message
[{reqId}] {exception_url}   PHP Deprecated: strlen(): Passing null to parameter #1 ($string) of type string is deprecated
FrameLocationCall
from/srv/mediawiki/php-1.45.0-wmf.15/includes/libs/Cookie.php(173)
#0/srv/mediawiki/php-1.45.0-wmf.15/includes/libs/Cookie.php(173)MediaWiki\Exception\MWExceptionHandler::handleError(int, string, string, int)
#1/srv/mediawiki/php-1.45.0-wmf.15/includes/libs/Cookie.php(158)Cookie->canServeDomain(string)
#2/srv/mediawiki/php-1.45.0-wmf.15/includes/libs/CookieJar.php(59)Cookie->serializeToHttpRequest(string, string)
#3/srv/mediawiki/php-1.45.0-wmf.15/includes/http/GuzzleHttpRequest.php(177)CookieJar->serializeToHttpRequest(string, string)
#4/srv/mediawiki/php-1.45.0-wmf.15/vendor/guzzlehttp/guzzle/src/Middleware.php(248)GuzzleHttpRequest::{closure}(GuzzleHttp\Psr7\Request)
#5/srv/mediawiki/php-1.45.0-wmf.15/vendor/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php(64)GuzzleHttp\Middleware::GuzzleHttp\{closure}(GuzzleHttp\Psr7\Request, array)
#6/srv/mediawiki/php-1.45.0-wmf.15/vendor/guzzlehttp/guzzle/src/RedirectMiddleware.php(55)GuzzleHttp\PrepareBodyMiddleware->__invoke(GuzzleHttp\Psr7\Request, array)
#7/srv/mediawiki/php-1.45.0-wmf.15/vendor/guzzlehttp/guzzle/src/Middleware.php(63)GuzzleHttp\RedirectMiddleware->__invoke(GuzzleHttp\Psr7\Request, array)
#8/srv/mediawiki/php-1.45.0-wmf.15/vendor/guzzlehttp/guzzle/src/HandlerStack.php(75)GuzzleHttp\Middleware::GuzzleHttp\{closure}(GuzzleHttp\Psr7\Request, array)
#9/srv/mediawiki/php-1.45.0-wmf.15/vendor/guzzlehttp/guzzle/src/Client.php(333)GuzzleHttp\HandlerStack->__invoke(GuzzleHttp\Psr7\Request, array)
#10/srv/mediawiki/php-1.45.0-wmf.15/vendor/guzzlehttp/guzzle/src/Client.php(107)GuzzleHttp\Client->transfer(GuzzleHttp\Psr7\Request, array)
#11/srv/mediawiki/php-1.45.0-wmf.15/vendor/guzzlehttp/guzzle/src/Client.php(124)GuzzleHttp\Client->sendAsync(GuzzleHttp\Psr7\Request, array)
#12/srv/mediawiki/php-1.45.0-wmf.15/includes/http/GuzzleHttpRequest.php(215)GuzzleHttp\Client->send(GuzzleHttp\Psr7\Request)
#13/srv/mediawiki/php-1.45.0-wmf.15/extensions/JsonConfig/includes/JCApiUtils.php(97)GuzzleHttpRequest->execute()
#14/srv/mediawiki/php-1.45.0-wmf.15/extensions/JsonConfig/includes/JCApiUtils.php(81)JsonConfig\JCApiUtils->callApiStatus(GuzzleHttpRequest, array, string)
#15/srv/mediawiki/php-1.45.0-wmf.15/extensions/JsonConfig/includes/JCApiUtils.php(54)JsonConfig\JCApiUtils->callApi(GuzzleHttpRequest, array, string)
#16/srv/mediawiki/php-1.45.0-wmf.15/extensions/JsonConfig/includes/JCCache.php(163)JsonConfig\JCApiUtils->initApiRequestObj(string, string, string)
#17/srv/mediawiki/php-1.45.0-wmf.15/extensions/JsonConfig/includes/JCCache.php(113)JsonConfig\JCCache->loadRemote()
#18/srv/mediawiki/php-1.45.0-wmf.15/extensions/JsonConfig/includes/JCCache.php(66)JsonConfig\JCCache->fetchContent()
#19/srv/mediawiki/php-1.45.0-wmf.15/includes/libs/objectcache/WANObjectCache.php(1842)JsonConfig\JCCache->JsonConfig\{closure}(bool, int, array, null, array)
#20/srv/mediawiki/php-1.45.0-wmf.15/includes/libs/objectcache/WANObjectCache.php(1646)Wikimedia\ObjectCache\WANObjectCache->fetchOrRegenerate(string, int, Closure, array, array)
#21/srv/mediawiki/php-1.45.0-wmf.15/extensions/JsonConfig/includes/JCCache.php(77)Wikimedia\ObjectCache\WANObjectCache->getWithSetCallback(string, int, Closure)
#22/srv/mediawiki/php-1.45.0-wmf.15/extensions/JsonConfig/includes/JCSingleton.php(366)JsonConfig\JCCache->get()
#23/srv/mediawiki/php-1.45.0-wmf.15/extensions/JsonConfig/includes/JCLuaLibrary.php(49)JsonConfig\JCSingleton::getContent(JsonConfig\JCTitle)
#24/srv/mediawiki/php-1.45.0-wmf.15/extensions/Scribunto/includes/Engines/LuaSandbox/LuaSandboxCallback.php(31)JsonConfig\JCLuaLibrary->get(string, null)
#25[internal function]MediaWiki\Extension\Scribunto\Engines\LuaSandbox\LuaSandboxCallback->__call(string, array)
#26/srv/mediawiki/php-1.45.0-wmf.15/extensions/Scribunto/includes/Engines/LuaSandbox/LuaSandboxInterpreter.php(137)LuaSandboxFunction->call(LuaSandboxFunction)
#27/srv/mediawiki/php-1.45.0-wmf.15/extensions/Scribunto/includes/Engines/LuaCommon/LuaEngine.php(318)MediaWiki\Extension\Scribunto\Engines\LuaSandbox\LuaSandboxInterpreter->callFunction(LuaSandboxFunction, LuaSandboxFunction)
#28/srv/mediawiki/php-1.45.0-wmf.15/extensions/Scribunto/includes/Engines/LuaCommon/LuaModule.php(76)MediaWiki\Extension\Scribunto\Engines\LuaCommon\LuaEngine->executeFunctionChunk(LuaSandboxFunction, MediaWiki\Parser\PPTemplateFrame_Hash)
#29/srv/mediawiki/php-1.45.0-wmf.15/extensions/Scribunto/includes/Hooks.php(184)MediaWiki\Extension\Scribunto\Engines\LuaCommon\LuaModule->invoke(string, MediaWiki\Parser\PPTemplateFrame_Hash)
#30/srv/mediawiki/php-1.45.0-wmf.15/includes/parser/Parser.php(3427)MediaWiki\Extension\Scribunto\Hooks->invokeHook(MediaWiki\Parser\Parser, MediaWiki\Parser\PPTemplateFrame_Hash, array)
#31/srv/mediawiki/php-1.45.0-wmf.15/includes/parser/Parser.php(3083)MediaWiki\Parser\Parser->callParserFunction(MediaWiki\Parser\PPTemplateFrame_Hash, string, array, bool)
#32/srv/mediawiki/php-1.45.0-wmf.15/includes/parser/PPFrame_Hash.php(280)MediaWiki\Parser\Parser->braceSubstitution(array, MediaWiki\Parser\PPTemplateFrame_Hash)
#33/srv/mediawiki/php-1.45.0-wmf.15/includes/parser/Parser.php(3283)MediaWiki\Parser\PPFrame_Hash->expand(MediaWiki\Parser\PPNode_Hash_Tree)
#34/srv/mediawiki/php-1.45.0-wmf.15/includes/parser/PPFrame_Hash.php(280)MediaWiki\Parser\Parser->braceSubstitution(array, MediaWiki\Parser\PPFrame_Hash)
#35/srv/mediawiki/php-1.45.0-wmf.15/includes/parser/Parser.php(2905)MediaWiki\Parser\PPFrame_Hash->expand(MediaWiki\Parser\PPNode_Hash_Tree, int)
#36/srv/mediawiki/php-1.45.0-wmf.15/includes/parser/Parser.php(1541)MediaWiki\Parser\Parser->replaceVariables(string)
#37/srv/mediawiki/php-1.45.0-wmf.15/includes/parser/Parser.php(799)MediaWiki\Parser\Parser->internalParse(string, bool, bool)
#38/srv/mediawiki/php-1.45.0-wmf.15/extensions/Cite/src/ReferenceListFormatter.php(40)MediaWiki\Parser\Parser->recursiveTagParse(string)
#39/srv/mediawiki/php-1.45.0-wmf.15/extensions/Cite/src/Cite.php(319)Cite\ReferenceListFormatter->formatReferences(MediaWiki\Parser\Parser, array, bool)
#40/srv/mediawiki/php-1.45.0-wmf.15/extensions/Cite/src/Cite.php(232)Cite\Cite->formatReferences(MediaWiki\Parser\Parser, string, null)
#41/srv/mediawiki/php-1.45.0-wmf.15/extensions/Cite/src/Hooks/CiteParserTagHooks.php(76)Cite\Cite->references(MediaWiki\Parser\Parser, null, array)
#42/srv/mediawiki/php-1.45.0-wmf.15/includes/parser/Parser.php(4014)Cite\Hooks\CiteParserTagHooks->references(null, array, MediaWiki\Parser\Parser, MediaWiki\Parser\PPTemplateFrame_Hash)
#43/srv/mediawiki/php-1.45.0-wmf.15/includes/parser/PPFrame_Hash.php(359)MediaWiki\Parser\Parser->extensionSubstitution(array, MediaWiki\Parser\PPTemplateFrame_Hash, bool)
#44/srv/mediawiki/php-1.45.0-wmf.15/includes/parser/Parser.php(3283)MediaWiki\Parser\PPFrame_Hash->expand(MediaWiki\Parser\PPNode_Hash_Tree)
#45/srv/mediawiki/php-1.45.0-wmf.15/includes/parser/PPFrame_Hash.php(280)MediaWiki\Parser\Parser->braceSubstitution(array, MediaWiki\Parser\PPFrame_Hash)
#46/srv/mediawiki/php-1.45.0-wmf.15/includes/parser/Parser.php(2905)MediaWiki\Parser\PPFrame_Hash->expand(MediaWiki\Parser\PPNode_Hash_Tree, int)
#47/srv/mediawiki/php-1.45.0-wmf.15/includes/parser/Parser.php(1541)MediaWiki\Parser\Parser->replaceVariables(string)
#48/srv/mediawiki/php-1.45.0-wmf.15/includes/parser/Parser.php(628)MediaWiki\Parser\Parser->internalParse(string)
#49/srv/mediawiki/php-1.45.0-wmf.15/includes/content/WikitextContentHandler.php(389)MediaWiki\Parser\Parser->parse(string, MediaWiki\Title\Title, MediaWiki\Parser\ParserOptions, bool, bool, int)
#50/srv/mediawiki/php-1.45.0-wmf.15/includes/content/ContentHandler.php(1695)MediaWiki\Content\WikitextContentHandler->fillParserOutput(MediaWiki\Content\WikitextContent, MediaWiki\Content\Renderer\ContentParseParams, MediaWiki\Parser\ParserOutput)
#51/srv/mediawiki/php-1.45.0-wmf.15/includes/content/Renderer/ContentRenderer.php(75)MediaWiki\Content\ContentHandler->getParserOutput(MediaWiki\Content\WikitextContent, MediaWiki\Content\Renderer\ContentParseParams)
#52/srv/mediawiki/php-1.45.0-wmf.15/includes/Revision/RenderedRevision.php(261)MediaWiki\Content\Renderer\ContentRenderer->getParserOutput(MediaWiki\Content\WikitextContent, MediaWiki\Page\PageIdentityValue, MediaWiki\Revision\RevisionStoreRecord, MediaWiki\Parser\ParserOptions, array)
#53/srv/mediawiki/php-1.45.0-wmf.15/includes/Revision/RenderedRevision.php(233)MediaWiki\Revision\RenderedRevision->getSlotParserOutputUncached(MediaWiki\Content\WikitextContent, array)
#54/srv/mediawiki/php-1.45.0-wmf.15/includes/Revision/RevisionRenderer.php(237)MediaWiki\Revision\RenderedRevision->getSlotParserOutput(string, array)
#55/srv/mediawiki/php-1.45.0-wmf.15/includes/Revision/RevisionRenderer.php(170)MediaWiki\Revision\RevisionRenderer->combineSlotOutput(MediaWiki\Revision\RenderedRevision, MediaWiki\Parser\ParserOptions, array)
#56/srv/mediawiki/php-1.45.0-wmf.15/includes/Revision/RenderedRevision.php(196)MediaWiki\Revision\RevisionRenderer->MediaWiki\Revision\{closure}(MediaWiki\Revision\RenderedRevision, array)
#57/srv/mediawiki/php-1.45.0-wmf.15/includes/page/ParserOutputAccess.php(602)MediaWiki\Revision\RenderedRevision->getRevisionParserOutput()
#58/srv/mediawiki/php-1.45.0-wmf.15/includes/page/ParserOutputAccess.php(516)MediaWiki\Page\ParserOutputAccess->renderRevision(MediaWiki\Page\WikiPage, MediaWiki\Parser\ParserOptions, MediaWiki\Revision\RevisionStoreRecord, array, null)
#59/srv/mediawiki/php-1.45.0-wmf.15/includes/diff/DifferenceEngine.php(1264)MediaWiki\Page\ParserOutputAccess->getParserOutput(MediaWiki\Page\WikiPage, MediaWiki\Parser\ParserOptions, MediaWiki\Revision\RevisionStoreRecord, array)
#60/srv/mediawiki/php-1.45.0-wmf.15/includes/diff/DifferenceEngine.php(1049)DifferenceEngine->renderNewRevision()
#61/srv/mediawiki/php-1.45.0-wmf.15/includes/page/Article.php(1080)DifferenceEngine->showDiffPage(bool)
#62/srv/mediawiki/php-1.45.0-wmf.15/includes/page/Article.php(486)MediaWiki\Page\Article->showDiffPage()
#63/srv/mediawiki/php-1.45.0-wmf.15/includes/actions/ViewAction.php(84)MediaWiki\Page\Article->view()
#64/srv/mediawiki/php-1.45.0-wmf.15/includes/actions/ActionEntryPoint.php(728)MediaWiki\Actions\ViewAction->show()
#65/srv/mediawiki/php-1.45.0-wmf.15/includes/actions/ActionEntryPoint.php(505)MediaWiki\Actions\ActionEntryPoint->performAction(MediaWiki\Page\Article, MediaWiki\Title\Title)
#66/srv/mediawiki/php-1.45.0-wmf.15/includes/actions/ActionEntryPoint.php(143)MediaWiki\Actions\ActionEntryPoint->performRequest()
#67/srv/mediawiki/php-1.45.0-wmf.15/includes/MediaWikiEntryPoint.php(198)MediaWiki\Actions\ActionEntryPoint->execute()
#68/srv/mediawiki/php-1.45.0-wmf.15/index.php(58)MediaWiki\MediaWikiEntryPoint->run()
#69/srv/mediawiki/w/index.php(3)require(string)
#70{main}

Error 3
  • service.version: 1.45.0-wmf.15
  • timestamp: 2025-08-19T09:10:48.259Z
  • labels.phpversion: 8.1.33
  • trace.id: 0617b2e4-1670-491f-867b-417d6501e2d3
  • Find trace.id in Logstash
labels.normalized_message
[{reqId}] {exception_url}   PHP Warning: Failed to login: url=https://test-commons.wikimedia.org/w/api.php, user=, result=Failed [Called from JsonConfig\JCUtils::warn in /srv/mediawiki/php-1.45.0-wmf.15/extensions/JsonConfig/includes/JCUtils.php at line 4
FrameLocationCall
from/srv/mediawiki/php-1.45.0-wmf.15/includes/debug/MWDebug.php(499)
#0[internal function]MediaWiki\Exception\MWExceptionHandler::handleError(int, string, string, int)
#1/srv/mediawiki/php-1.45.0-wmf.15/includes/debug/MWDebug.php(499)trigger_error(string, int)
#2/srv/mediawiki/php-1.45.0-wmf.15/includes/debug/MWDebug.php(210)MediaWiki\Debug\MWDebug::sendMessage(string, string, int)
#3/srv/mediawiki/php-1.45.0-wmf.15/includes/GlobalFunctions.php(839)MediaWiki\Debug\MWDebug::warning(string, int, int, string)
#4/srv/mediawiki/php-1.45.0-wmf.15/extensions/JsonConfig/includes/JCUtils.php(46)wfLogWarning(string)
#5/srv/mediawiki/php-1.45.0-wmf.15/extensions/JsonConfig/includes/JCApiUtils.php(65)JsonConfig\JCUtils::warn(string, array)
#6/srv/mediawiki/php-1.45.0-wmf.15/extensions/JsonConfig/includes/JCCache.php(163)JsonConfig\JCApiUtils->initApiRequestObj(string, string, string)
#7/srv/mediawiki/php-1.45.0-wmf.15/extensions/JsonConfig/includes/JCCache.php(113)JsonConfig\JCCache->loadRemote()
#8/srv/mediawiki/php-1.45.0-wmf.15/extensions/JsonConfig/includes/JCCache.php(66)JsonConfig\JCCache->fetchContent()
#9/srv/mediawiki/php-1.45.0-wmf.15/includes/libs/objectcache/WANObjectCache.php(1842)JsonConfig\JCCache->JsonConfig\{closure}(bool, int, array, null, array)
#10/srv/mediawiki/php-1.45.0-wmf.15/includes/libs/objectcache/WANObjectCache.php(1646)Wikimedia\ObjectCache\WANObjectCache->fetchOrRegenerate(string, int, Closure, array, array)
#11/srv/mediawiki/php-1.45.0-wmf.15/extensions/JsonConfig/includes/JCCache.php(77)Wikimedia\ObjectCache\WANObjectCache->getWithSetCallback(string, int, Closure)
#12/srv/mediawiki/php-1.45.0-wmf.15/extensions/JsonConfig/includes/JCSingleton.php(366)JsonConfig\JCCache->get()
#13/srv/mediawiki/php-1.45.0-wmf.15/extensions/JsonConfig/includes/JCLuaLibrary.php(49)JsonConfig\JCSingleton::getContent(JsonConfig\JCTitle)
#14/srv/mediawiki/php-1.45.0-wmf.15/extensions/Scribunto/includes/Engines/LuaSandbox/LuaSandboxCallback.php(31)JsonConfig\JCLuaLibrary->get(string, null)
#15[internal function]MediaWiki\Extension\Scribunto\Engines\LuaSandbox\LuaSandboxCallback->__call(string, array)
#16/srv/mediawiki/php-1.45.0-wmf.15/extensions/Scribunto/includes/Engines/LuaSandbox/LuaSandboxInterpreter.php(137)LuaSandboxFunction->call(LuaSandboxFunction)
#17/srv/mediawiki/php-1.45.0-wmf.15/extensions/Scribunto/includes/Engines/LuaCommon/LuaEngine.php(318)MediaWiki\Extension\Scribunto\Engines\LuaSandbox\LuaSandboxInterpreter->callFunction(LuaSandboxFunction, LuaSandboxFunction)
#18/srv/mediawiki/php-1.45.0-wmf.15/extensions/Scribunto/includes/Engines/LuaCommon/LuaModule.php(76)MediaWiki\Extension\Scribunto\Engines\LuaCommon\LuaEngine->executeFunctionChunk(LuaSandboxFunction, MediaWiki\Parser\PPTemplateFrame_Hash)
#19/srv/mediawiki/php-1.45.0-wmf.15/extensions/Scribunto/includes/Hooks.php(184)MediaWiki\Extension\Scribunto\Engines\LuaCommon\LuaModule->invoke(string, MediaWiki\Parser\PPTemplateFrame_Hash)
#20/srv/mediawiki/php-1.45.0-wmf.15/includes/parser/Parser.php(3427)MediaWiki\Extension\Scribunto\Hooks->invokeHook(MediaWiki\Parser\Parser, MediaWiki\Parser\PPTemplateFrame_Hash, array)
#21/srv/mediawiki/php-1.45.0-wmf.15/includes/parser/Parser.php(3083)MediaWiki\Parser\Parser->callParserFunction(MediaWiki\Parser\PPTemplateFrame_Hash, string, array, bool)
#22/srv/mediawiki/php-1.45.0-wmf.15/includes/parser/PPFrame_Hash.php(280)MediaWiki\Parser\Parser->braceSubstitution(array, MediaWiki\Parser\PPTemplateFrame_Hash)
#23/srv/mediawiki/php-1.45.0-wmf.15/includes/parser/Parser.php(3283)MediaWiki\Parser\PPFrame_Hash->expand(MediaWiki\Parser\PPNode_Hash_Tree)
#24/srv/mediawiki/php-1.45.0-wmf.15/includes/parser/PPFrame_Hash.php(280)MediaWiki\Parser\Parser->braceSubstitution(array, MediaWiki\Parser\PPFrame_Hash)
#25/srv/mediawiki/php-1.45.0-wmf.15/includes/parser/Parser.php(2905)MediaWiki\Parser\PPFrame_Hash->expand(MediaWiki\Parser\PPNode_Hash_Tree, int)
#26/srv/mediawiki/php-1.45.0-wmf.15/includes/parser/Parser.php(1541)MediaWiki\Parser\Parser->replaceVariables(string)
#27/srv/mediawiki/php-1.45.0-wmf.15/includes/parser/Parser.php(799)MediaWiki\Parser\Parser->internalParse(string, bool, bool)
#28/srv/mediawiki/php-1.45.0-wmf.15/extensions/Cite/src/ReferenceListFormatter.php(40)MediaWiki\Parser\Parser->recursiveTagParse(string)
#29/srv/mediawiki/php-1.45.0-wmf.15/extensions/Cite/src/Cite.php(319)Cite\ReferenceListFormatter->formatReferences(MediaWiki\Parser\Parser, array, bool)
#30/srv/mediawiki/php-1.45.0-wmf.15/extensions/Cite/src/Cite.php(340)Cite\Cite->formatReferences(MediaWiki\Parser\Parser, string)
#31/srv/mediawiki/php-1.45.0-wmf.15/extensions/Cite/src/Hooks/CiteParserHooks.php(70)Cite\Cite->checkRefsNoReferences(MediaWiki\Parser\Parser, bool)
#32/srv/mediawiki/php-1.45.0-wmf.15/includes/HookContainer/HookContainer.php(155)Cite\Hooks\CiteParserHooks->onParserAfterParse(MediaWiki\Parser\Parser, string, MediaWiki\Parser\StripState)
#33/srv/mediawiki/php-1.45.0-wmf.15/includes/HookContainer/HookRunner.php(3278)MediaWiki\HookContainer\HookContainer->run(string, array)
#34/srv/mediawiki/php-1.45.0-wmf.15/includes/parser/Parser.php(629)MediaWiki\HookContainer\HookRunner->onParserAfterParse(MediaWiki\Parser\Parser, string, MediaWiki\Parser\StripState)
#35/srv/mediawiki/php-1.45.0-wmf.15/includes/content/WikitextContentHandler.php(389)MediaWiki\Parser\Parser->parse(string, MediaWiki\Title\Title, MediaWiki\Parser\ParserOptions, bool, bool, int)
#36/srv/mediawiki/php-1.45.0-wmf.15/includes/content/ContentHandler.php(1695)MediaWiki\Content\WikitextContentHandler->fillParserOutput(MediaWiki\Content\WikitextContent, MediaWiki\Content\Renderer\ContentParseParams, MediaWiki\Parser\ParserOutput)
#37/srv/mediawiki/php-1.45.0-wmf.15/includes/content/Renderer/ContentRenderer.php(75)MediaWiki\Content\ContentHandler->getParserOutput(MediaWiki\Content\WikitextContent, MediaWiki\Content\Renderer\ContentParseParams)
#38/srv/mediawiki/php-1.45.0-wmf.15/includes/Revision/RenderedRevision.php(261)MediaWiki\Content\Renderer\ContentRenderer->getParserOutput(MediaWiki\Content\WikitextContent, MediaWiki\Page\PageIdentityValue, MediaWiki\Revision\RevisionStoreRecord, MediaWiki\Parser\ParserOptions, array)
#39/srv/mediawiki/php-1.45.0-wmf.15/includes/Revision/RenderedRevision.php(233)MediaWiki\Revision\RenderedRevision->getSlotParserOutputUncached(MediaWiki\Content\WikitextContent, array)
#40/srv/mediawiki/php-1.45.0-wmf.15/includes/Revision/RevisionRenderer.php(237)MediaWiki\Revision\RenderedRevision->getSlotParserOutput(string, array)
#41/srv/mediawiki/php-1.45.0-wmf.15/includes/Revision/RevisionRenderer.php(170)MediaWiki\Revision\RevisionRenderer->combineSlotOutput(MediaWiki\Revision\RenderedRevision, MediaWiki\Parser\ParserOptions, array)
#42/srv/mediawiki/php-1.45.0-wmf.15/includes/Revision/RenderedRevision.php(196)MediaWiki\Revision\RevisionRenderer->MediaWiki\Revision\{closure}(MediaWiki\Revision\RenderedRevision, array)
#43/srv/mediawiki/php-1.45.0-wmf.15/includes/page/ParserOutputAccess.php(602)MediaWiki\Revision\RenderedRevision->getRevisionParserOutput()
#44/srv/mediawiki/php-1.45.0-wmf.15/includes/page/ParserOutputAccess.php(689)MediaWiki\Page\ParserOutputAccess->renderRevision(MediaWiki\Page\WikiPage, MediaWiki\Parser\ParserOptions, MediaWiki\Revision\RevisionStoreRecord, array)
#45/srv/mediawiki/php-1.45.0-wmf.15/includes/poolcounter/PoolCounterWorkViaCallback.php(82)MediaWiki\Page\ParserOutputAccess->MediaWiki\Page\{closure}()
#46/srv/mediawiki/php-1.45.0-wmf.15/includes/poolcounter/PoolCounterWork.php(173)MediaWiki\PoolCounter\PoolCounterWorkViaCallback->doWork()
#47/srv/mediawiki/php-1.45.0-wmf.15/includes/page/ParserOutputAccess.php(506)MediaWiki\PoolCounter\PoolCounterWork->execute()
#48/srv/mediawiki/php-1.45.0-wmf.15/includes/page/Article.php(837)MediaWiki\Page\ParserOutputAccess->getParserOutput(MediaWiki\Page\WikiPage, MediaWiki\Parser\ParserOptions, MediaWiki\Revision\RevisionStoreRecord, array)
#49/srv/mediawiki/php-1.45.0-wmf.15/includes/page/Article.php(549)MediaWiki\Page\Article->generateContentOutput(MediaWiki\User\User, MediaWiki\Parser\ParserOptions, int, MediaWiki\Output\OutputPage, array)
#50/srv/mediawiki/php-1.45.0-wmf.15/includes/actions/ViewAction.php(84)MediaWiki\Page\Article->view()
#51/srv/mediawiki/php-1.45.0-wmf.15/includes/actions/ActionEntryPoint.php(728)MediaWiki\Actions\ViewAction->show()
#52/srv/mediawiki/php-1.45.0-wmf.15/includes/actions/ActionEntryPoint.php(505)MediaWiki\Actions\ActionEntryPoint->performAction(MediaWiki\Page\Article, MediaWiki\Title\Title)
#53/srv/mediawiki/php-1.45.0-wmf.15/includes/actions/ActionEntryPoint.php(143)MediaWiki\Actions\ActionEntryPoint->performRequest()
#54/srv/mediawiki/php-1.45.0-wmf.15/includes/MediaWikiEntryPoint.php(198)MediaWiki\Actions\ActionEntryPoint->execute()
#55/srv/mediawiki/php-1.45.0-wmf.15/index.php(58)MediaWiki\MediaWikiEntryPoint->run()
#56/srv/mediawiki/w/index.php(3)require(string)
#57{main}

Event Timeline

Change #1180186 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/extensions/JsonConfig@master] Omit empty username in JCApiUtils::initApiRequestObj

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

Change #1180188 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/core@master] libs: Handle null domain in Cookie::canServeDomain

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

For the last error the log message shows the user is the empty string (type on initApiRequestObj says string, so user cannot null or false here),
added code to omit the api request. The condition was a falsy check before and changed to check for null only.

Added also a patch for core to avoid the other notice, that can happen from other code paths. Not sure why this has a invalid cookie domain, but not doing the api request is enough.

If this get backported: Only JsonConfig change is needed.

Volume has greatly increased after rolling out 1.45.0-wmf.15 to group1. I'm concerned about the noise we'll create if we roll this out to all wikis.

@Umherirrender Can I ask you to backport this today? Alternatively I can create + backport myself, but I'd feel more comfortable if I know you're around before I go ahead

Change #1180188 merged by jenkins-bot:

[mediawiki/core@master] libs: Handle null domain in Cookie::canServeDomain

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

Change #1180525 had a related patch set uploaded (by D3r1ck01; author: Umherirrender):

[mediawiki/core@wmf/1.45.0-wmf.15] libs: Handle null domain in Cookie::canServeDomain

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

Thanks @DAlangi_WMF.

Looking at @Umherirrender's message it looks the patch we need is https://gerrit.wikimedia.org/r/c/mediawiki/extensions/JsonConfig/+/1180186, it looks like it's a pretty straightforward change after all. I'm gonna wait a bit longer in case they show up and then create the backport for that patch.

Change #1180540 had a related patch set uploaded (by Jaime Nuche; author: Umherirrender):

[mediawiki/extensions/JsonConfig@wmf/1.45.0-wmf.15] Omit empty username in JCApiUtils::initApiRequestObj

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

Change #1180540 merged by jenkins-bot:

[mediawiki/extensions/JsonConfig@wmf/1.45.0-wmf.15] Omit empty username in JCApiUtils::initApiRequestObj

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

Mentioned in SAL (#wikimedia-operations) [2025-08-20T12:28:31Z] <jnuche@deploy1003> Started scap sync-world: Backport for [[gerrit:1180540|Omit empty username in JCApiUtils::initApiRequestObj (T402273)]]

Mentioned in SAL (#wikimedia-operations) [2025-08-20T12:30:44Z] <jnuche@deploy1003> jnuche: Backport for [[gerrit:1180540|Omit empty username in JCApiUtils::initApiRequestObj (T402273)]] synced to the testservers (see https://wikitech.wikimedia.org/wiki/Mwdebug). Changes can now be verified there.

Mentioned in SAL (#wikimedia-operations) [2025-08-20T12:36:26Z] <jnuche@deploy1003> Finished scap sync-world: Backport for [[gerrit:1180540|Omit empty username in JCApiUtils::initApiRequestObj (T402273)]] (duration: 07m 55s)

Change #1180525 abandoned by Umherirrender:

[mediawiki/core@wmf/1.45.0-wmf.15] libs: Handle null domain in Cookie::canServeDomain

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

Change #1180186 merged by jenkins-bot:

[mediawiki/extensions/JsonConfig@master] Omit empty username in JCApiUtils::initApiRequestObj

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

Umherirrender claimed this task.