Page MenuHomePhabricator

EasyTimeline extension shell error
Closed, ResolvedPublic

Description

Error

MediaWiki version: 1.35.0-wmf.4

message
Shell error
Command
/bin/bash '/srv/mediawiki/php-1.35.0-wmf.4/includes/shell/limit.sh' ''\''/usr/bin/perl'\'' '\''/srv/mediawiki/php-1.35.0-wmf.4/extensions/timeline/EasyTimeline.pl'\'' -i '\''/tmp/timeline_f4edebea6876'\'' -m -P '\''/usr/bin/ploticus'\'' -T '\''/tmp'\'' -A '\''/wiki/$1'\'' -f '\''FreeSans'\''' 'MW_INCLUDE_STDERR=;MW_CPU_LIMIT=50; MW_CGROUP='\''/sys/fs/cgroup/memory/mediawiki/job'\''; MW_MEM_LIMIT=1048576; MW_FILE_SIZE_LIMIT=524288; MW_WALL_CLOCK_LIMIT=180; MW_USE_LOG_PIPE=yes'
Error
sh: 1: /usr/bin/ploticus: not found
sh: 1: /usr/bin/ploticus: not found

Notes

Not sure this is specific to Parsoid/PHP

Details

Request ID
XbsV5wpAAEUAAIzcfwgAAABD
Request URL
n/a
Stack Trace
exception.trace
#0 /includes/GlobalFunctions.php(2154): MediaWiki\Shell\Command->execute()
#1 /extensions/timeline/includes/Timeline.php(109): wfShellExec(string, NULL)
#2 /includes/parser/Parser.php(4145): Timeline::renderTimeline(string, array, Parser, PPFrame_Hash)
#3 /includes/parser/PPFrame_Hash.php(327): Parser->extensionSubstitution(array, PPFrame_Hash)
#4 /includes/parser/Parser.php(3188): PPFrame_Hash->expand(PPNode_Hash_Tree, integer)
#5 /includes/parser/Parser.php(1501): Parser->replaceVariables(string)
#6 /includes/parser/Parser.php(798): Parser->internalParse(string, boolean, boolean)
#7 /includes/parser/Parser.php(846): Parser->recursiveTagParse(string)
#8 /srv/deployment/parsoid/deploy-cache/revs/a69ec92e21cc4be117daaadef4a8fc5bf5813fcf/src/extension/src/Config/DataAccess.php(220): Parser->parseExtensionTagAsTopLevelDoc(string)
#9 /srv/deployment/parsoid/deploy-cache/revs/a69ec92e21cc4be117daaadef4a8fc5bf5813fcf/src/src/Wt2Html/TT/ExtensionHandler.php(166): MWParsoid\Config\DataAccess->parseWikitext(MWParsoid\Config\PageConfig, string)
#10 /srv/deployment/parsoid/deploy-cache/revs/a69ec92e21cc4be117daaadef4a8fc5bf5813fcf/src/src/Wt2Html/TT/ExtensionHandler.php(261): Parsoid\Wt2Html\TT\ExtensionHandler->onExtension(Parsoid\Tokens\SelfclosingTagTk)
#11 /srv/deployment/parsoid/deploy-cache/revs/a69ec92e21cc4be117daaadef4a8fc5bf5813fcf/src/src/Wt2Html/TT/TokenHandler.php(211): Parsoid\Wt2Html\TT\ExtensionHandler->onTag(Parsoid\Tokens\SelfclosingTagTk)
#12 /srv/deployment/parsoid/deploy-cache/revs/a69ec92e21cc4be117daaadef4a8fc5bf5813fcf/src/src/Wt2Html/TokenTransformManager.php(120): Parsoid\Wt2Html\TT\TokenHandler->process(array)
#13 /srv/deployment/parsoid/deploy-cache/revs/a69ec92e21cc4be117daaadef4a8fc5bf5813fcf/src/src/Wt2Html/TokenTransformManager.php(182): Parsoid\Wt2Html\TokenTransformManager->processChunk(array)
#14 /srv/deployment/parsoid/deploy-cache/revs/a69ec92e21cc4be117daaadef4a8fc5bf5813fcf/src/src/Wt2Html/ParserPipeline.php(127): Parsoid\Wt2Html\TokenTransformManager->process(array, array)
#15 /srv/deployment/parsoid/deploy-cache/revs/a69ec92e21cc4be117daaadef4a8fc5bf5813fcf/src/src/Utils/PipelineUtils.php(110): Parsoid\Wt2Html\ParserPipeline->parse(string, array)
#16 /srv/deployment/parsoid/deploy-cache/revs/a69ec92e21cc4be117daaadef4a8fc5bf5813fcf/src/src/Wt2Html/TT/TemplateHandler.php(620): Parsoid\Utils\PipelineUtils::processContentInPipeline(Parsoid\Config\Env, Parsoid\Wt2Html\PageConfigFrame, string, array)
#17 /srv/deployment/parsoid/deploy-cache/revs/a69ec92e21cc4be117daaadef4a8fc5bf5813fcf/src/src/Wt2Html/TT/TemplateHandler.php(1399): Parsoid\Wt2Html\TT\TemplateHandler->processTemplateSource(array, array, string)
#18 /srv/deployment/parsoid/deploy-cache/revs/a69ec92e21cc4be117daaadef4a8fc5bf5813fcf/src/src/Wt2Html/TT/TemplateHandler.php(1451): Parsoid\Wt2Html\TT\TemplateHandler->onTemplate(Parsoid\Tokens\SelfclosingTagTk)
#19 /srv/deployment/parsoid/deploy-cache/revs/a69ec92e21cc4be117daaadef4a8fc5bf5813fcf/src/src/Wt2Html/TT/TokenHandler.php(211): Parsoid\Wt2Html\TT\TemplateHandler->onTag(Parsoid\Tokens\SelfclosingTagTk)
#20 /srv/deployment/parsoid/deploy-cache/revs/a69ec92e21cc4be117daaadef4a8fc5bf5813fcf/src/src/Wt2Html/TokenTransformManager.php(120): Parsoid\Wt2Html\TT\TokenHandler->process(array)
#21 /srv/deployment/parsoid/deploy-cache/revs/a69ec92e21cc4be117daaadef4a8fc5bf5813fcf/src/src/Wt2Html/TokenTransformManager.php(192): Parsoid\Wt2Html\TokenTransformManager->processChunk(array)
#22 /srv/deployment/parsoid/deploy-cache/revs/a69ec92e21cc4be117daaadef4a8fc5bf5813fcf/src/src/Wt2Html/TokenTransformManager.php(190): Parsoid\Wt2Html\TokenTransformManager->processChunkily(string, array)
#23 /srv/deployment/parsoid/deploy-cache/revs/a69ec92e21cc4be117daaadef4a8fc5bf5813fcf/src/src/Wt2Html/HTML5TreeBuilder.php(431): Parsoid\Wt2Html\TokenTransformManager->processChunkily(string, array)
#24 [internal function]: Parsoid\Wt2Html\HTML5TreeBuilder->processChunkily(string, array)
#25 /srv/deployment/parsoid/deploy-cache/revs/a69ec92e21cc4be117daaadef4a8fc5bf5813fcf/src/src/Wt2Html/DOMPostProcessor.php(895): Generator->current()
#26 /srv/deployment/parsoid/deploy-cache/revs/a69ec92e21cc4be117daaadef4a8fc5bf5813fcf/src/src/Wt2Html/ParserPipeline.php(148): Parsoid\Wt2Html\DOMPostProcessor->processChunkily(string, array)
#27 /srv/deployment/parsoid/deploy-cache/revs/a69ec92e21cc4be117daaadef4a8fc5bf5813fcf/src/src/Wt2Html/ParserPipeline.php(198): Parsoid\Wt2Html\ParserPipeline->parseChunkily(string, array)
#28 /srv/deployment/parsoid/deploy-cache/revs/a69ec92e21cc4be117daaadef4a8fc5bf5813fcf/src/src/Wt2Html/ParserPipelineFactory.php(308): Parsoid\Wt2Html\ParserPipeline->parseToplevelDoc(string, array)
#29 /srv/deployment/parsoid/deploy-cache/revs/a69ec92e21cc4be117daaadef4a8fc5bf5813fcf/src/src/WikitextContentModelHandler.php(78): Parsoid\Wt2Html\ParserPipelineFactory->parse(string)
#30 /srv/deployment/parsoid/deploy-cache/revs/a69ec92e21cc4be117daaadef4a8fc5bf5813fcf/src/src/Parsoid.php(86): Parsoid\WikitextContentModelHandler->toHTML(Parsoid\Config\Env)
#31 /srv/deployment/parsoid/deploy-cache/revs/a69ec92e21cc4be117daaadef4a8fc5bf5813fcf/src/src/Parsoid.php(113): Parsoid\Parsoid->parseWikitext(MWParsoid\Config\PageConfig, array)
#32 /srv/deployment/parsoid/deploy-cache/revs/a69ec92e21cc4be117daaadef4a8fc5bf5813fcf/src/extension/src/Rest/Handler/ParsoidHandler.php(543): Parsoid\Parsoid->wikitext2html(MWParsoid\Config\PageConfig, array, NULL)
#33 /srv/deployment/parsoid/deploy-cache/revs/a69ec92e21cc4be117daaadef4a8fc5bf5813fcf/src/extension/src/Rest/Handler/PageHandler.php(55): MWParsoid\Rest\Handler\ParsoidHandler->wt2html(Parsoid\Config\Env, array)
#34 /includes/Rest/Router.php(315): MWParsoid\Rest\Handler\PageHandler->execute()
#35 /includes/Rest/Router.php(285): MediaWiki\Rest\Router->executeHandler(MWParsoid\Rest\Handler\PageHandler)
#36 /includes/Rest/EntryPoint.php(116): MediaWiki\Rest\Router->execute(MediaWiki\Rest\RequestFromGlobals)
#37 /includes/Rest/EntryPoint.php(83): MediaWiki\Rest\EntryPoint->execute()
#38 /rest.php(31): MediaWiki\Rest\EntryPoint::main()
#39 /srv/mediawiki/w/rest.php(3): require(string)
#40 {main}
Related Gerrit Patches:

Event Timeline

ssastry created this task.Nov 4 2019, 6:50 PM
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptNov 4 2019, 6:50 PM
ssastry updated the task description. (Show Details)Nov 4 2019, 6:53 PM
ssastry triaged this task as Low priority.Nov 4 2019, 7:12 PM
Reedy added a subscriber: Reedy.Nov 4 2019, 8:09 PM

I'm presuming ploticus just isn't installed on the Parsoid PHP servers?

There's potentially a few packages like this that MW will use for shelling out from the parser, so would be sensible to sort most of them in one go

ssastry added subscribers: Dzahn, Joe.Nov 4 2019, 8:13 PM
ssastry moved this task from Backlog to Deployment on the Parsoid-PHP board.Nov 4 2019, 9:06 PM
Dzahn claimed this task.Nov 4 2019, 9:23 PM

ploticus is required in mediawiki::packages so it should be on everything.

but cumin shows it is actually just installed on wtp1025 and wtp2001 but not the others.

Dzahn added a comment.Nov 4 2019, 9:31 PM

role::parsoid -> profile::parsoid ->

if $use_php
..
require ::profile::mediawiki::common

-> class { '::mediawiki::packages': }

but these packages were removed in:

https://gerrit.wikimedia.org/r/c/operations/puppet/+/540154

This happened on October 1st, so the 2 test servers got the package but later the other servers did not.

Change 548533 had a related patch set uploaded (by Dzahn; owner: Dzahn):
[operations/puppet@production] mediawiki::packages: re-add ploticus for EasyTimeline extension

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

Dzahn added a comment.Nov 4 2019, 9:39 PM

Not sure this is specific to Parsoid/PHP

Not specific to Parsoid/PHP, only so much that they were the only appservers installed after October 1st so they came without math packages.

Change 548533 merged by Giuseppe Lavagetto:
[operations/puppet@production] mediawiki::packages: re-add ploticus for EasyTimeline extension

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

Joe closed this task as Resolved.Nov 5 2019, 9:45 AM

Sorry for the inconvenience. This wasn't spotted earlier as we didn't actively remove the packages from the canaries in production.