Page MenuHomePhabricator

MediaWiki\Extension\Score\Score::generateAudio does not catch Shellbox\ShellboxError
Open, Needs TriagePublicPRODUCTION ERROR

Description

Notes

Inside MediaWiki\Extension\Score\Score::generateAudio, Shellbox failed with a 504 and that error was bubbled up outside of Score. It should probably catch the Shellbox\ShellboxError and handle it gracefully.

Error
  • service.version: 1.45.0-wmf.13
  • timestamp: 2025-08-07T09:36:46.230Z
  • labels.phpversion: 8.1.33
  • trace.id: 946ab700-2a4a-4cb1-b115-73fc7e56e0d7
  • Find trace.id in Logstash
labels.normalized_message
[{reqId}] {exception_url}   Shellbox\ShellboxError: Shellbox server returned status code 504
FrameLocationCall
from/srv/mediawiki/php-1.45.0-wmf.13/vendor/wikimedia/shellbox/src/Client.php(189)
#0/srv/mediawiki/php-1.45.0-wmf.13/vendor/wikimedia/shellbox/src/Command/RemoteBoxedExecutor.php(83)Shellbox\Client->sendRequest(string, array, array, array)
#1/srv/mediawiki/php-1.45.0-wmf.13/vendor/wikimedia/shellbox/src/Command/BoxedExecutor.php(20)Shellbox\Command\RemoteBoxedExecutor->executeValid(Shellbox\Command\BoxedCommand)
#2/srv/mediawiki/php-1.45.0-wmf.13/vendor/wikimedia/shellbox/src/Command/BoxedCommand.php(406)Shellbox\Command\BoxedExecutor->execute(Shellbox\Command\BoxedCommand)
#3/srv/mediawiki/php-1.45.0-wmf.13/extensions/Score/includes/Score.php(1117)Shellbox\Command\BoxedCommand->execute()
#4/srv/mediawiki/php-1.45.0-wmf.13/extensions/Score/includes/Score.php(585)MediaWiki\Extension\Score\Score::generateAudio(string, array, string, array)
#5/srv/mediawiki/php-1.45.0-wmf.13/extensions/Score/includes/Score.php(429)MediaWiki\Extension\Score\Score::generateHTML(MediaWiki\Parser\Parser, string, array)
#6/srv/mediawiki/php-1.45.0-wmf.13/extensions/Score/includes/Score.php(280)MediaWiki\Extension\Score\Score::renderScore(string, array, MediaWiki\Parser\Parser)
#7/srv/mediawiki/php-1.45.0-wmf.13/includes/parser/Parser.php(4091)MediaWiki\Extension\Score\Score::render(string, array, MediaWiki\Parser\Parser, MediaWiki\Parser\PPFrame_Hash)
#8/srv/mediawiki/php-1.45.0-wmf.13/includes/parser/PPFrame_Hash.php(362)MediaWiki\Parser\Parser->extensionSubstitution(array, MediaWiki\Parser\PPFrame_Hash, bool)
#9/srv/mediawiki/php-1.45.0-wmf.13/includes/parser/Parser.php(2982)MediaWiki\Parser\PPFrame_Hash->expand(MediaWiki\Parser\PPNode_Hash_Tree, int)
#10/srv/mediawiki/php-1.45.0-wmf.13/includes/parser/Parser.php(1618)MediaWiki\Parser\Parser->replaceVariables(string)
#11/srv/mediawiki/php-1.45.0-wmf.13/includes/parser/Parser.php(705)MediaWiki\Parser\Parser->internalParse(string)
#12/srv/mediawiki/php-1.45.0-wmf.13/includes/content/WikitextContentHandler.php(382)MediaWiki\Parser\Parser->parse(string, MediaWiki\Title\Title, MediaWiki\Parser\ParserOptions, bool, bool, null)
#13/srv/mediawiki/php-1.45.0-wmf.13/includes/content/ContentHandler.php(1695)MediaWiki\Content\WikitextContentHandler->fillParserOutput(MediaWiki\Content\WikitextContent, MediaWiki\Content\Renderer\ContentParseParams, MediaWiki\Parser\ParserOutput)
#14/srv/mediawiki/php-1.45.0-wmf.13/includes/content/Renderer/ContentRenderer.php(75)MediaWiki\Content\ContentHandler->getParserOutput(MediaWiki\Content\WikitextContent, MediaWiki\Content\Renderer\ContentParseParams)
#15/srv/mediawiki/php-1.45.0-wmf.13/includes/Revision/RenderedRevision.php(261)MediaWiki\Content\Renderer\ContentRenderer->getParserOutput(MediaWiki\Content\WikitextContent, MediaWiki\Page\PageIdentityValue, MediaWiki\Revision\MutableRevisionRecord, MediaWiki\Parser\ParserOptions, array)
#16/srv/mediawiki/php-1.45.0-wmf.13/includes/Revision/RenderedRevision.php(233)MediaWiki\Revision\RenderedRevision->getSlotParserOutputUncached(MediaWiki\Content\WikitextContent, array)
#17/srv/mediawiki/php-1.45.0-wmf.13/includes/Revision/RevisionRenderer.php(237)MediaWiki\Revision\RenderedRevision->getSlotParserOutput(string, array)
#18/srv/mediawiki/php-1.45.0-wmf.13/includes/Revision/RevisionRenderer.php(170)MediaWiki\Revision\RevisionRenderer->combineSlotOutput(MediaWiki\Revision\RenderedRevision, MediaWiki\Parser\ParserOptions, array)
#19/srv/mediawiki/php-1.45.0-wmf.13/includes/Revision/RenderedRevision.php(196)MediaWiki\Revision\RevisionRenderer->MediaWiki\Revision\{closure}(MediaWiki\Revision\RenderedRevision, array)
#20/srv/mediawiki/php-1.45.0-wmf.13/includes/Storage/DerivedPageDataUpdater.php(1424)MediaWiki\Revision\RenderedRevision->getRevisionParserOutput()
#21/srv/mediawiki/php-1.45.0-wmf.13/includes/Storage/PageEditStash.php(167)MediaWiki\Storage\DerivedPageDataUpdater->getCanonicalParserOutput()
#22/srv/mediawiki/php-1.45.0-wmf.13/includes/api/ApiStashEdit.php(194)MediaWiki\Storage\PageEditStash->parseAndCache(MediaWiki\Storage\PageUpdater, MediaWiki\Content\WikitextContent, MediaWiki\User\User, string)
#23/srv/mediawiki/php-1.45.0-wmf.13/includes/api/ApiMain.php(2033)MediaWiki\Api\ApiStashEdit->execute()
#24/srv/mediawiki/php-1.45.0-wmf.13/includes/api/ApiMain.php(955)MediaWiki\Api\ApiMain->executeAction()
#25/srv/mediawiki/php-1.45.0-wmf.13/includes/api/ApiMain.php(926)MediaWiki\Api\ApiMain->executeActionWithErrorHandling()
#26/srv/mediawiki/php-1.45.0-wmf.13/includes/api/ApiEntryPoint.php(152)MediaWiki\Api\ApiMain->execute()
#27/srv/mediawiki/php-1.45.0-wmf.13/includes/MediaWikiEntryPoint.php(198)MediaWiki\Api\ApiEntryPoint->execute()
#28/srv/mediawiki/php-1.45.0-wmf.13/api.php(44)MediaWiki\MediaWikiEntryPoint->run()
#29/srv/mediawiki/w/api.php(3)require(string)
#30{main}

Details

Request URL
https://de.wikibooks.org/w/api.php

Event Timeline

I note we're very inconsistent across Shellbox calls when and where we catch errors. Some do, many don't...