Page MenuHomePhabricator

Score extension broken on test2.wikipedia.org
Closed, ResolvedPublic

Description

(In reply to bug 33193 comment #40)

Tim: So, just to be explicit, we're at a point where this could be deployed
to the cluster?

Looking at bug 33193 comment 35, it seems the Score extension is deployed to test2.wikipedia.org (cf. https://test.wikipedia.org/wiki/Special:Version).

However, trying to use the extension seems to error horribly: https://test2.wikipedia.org/wiki/Score.

Page contents:


<score>\relative c' { f d f a d f e d cis a cis e a g f e }</score>

Output:


Unable to compile LilyPond input file:
Processing `.../file.ly'
Parsing...
Interpreting music...
Preprocessing graphical objects...
Interpreting music...
MIDI output to `file.midi'...
Finding the ideal number of pages...
Fitting music on 1 page...
Drawing systems...
Layout output to `file.eps'...

Converting to PNG...


Version: wmf-deployment
Severity: major

Details

Reference
bz46374

Event Timeline

bzimport raised the priority of this task from to High.Nov 22 2014, 1:33 AM
bzimport set Reference to bz46374.

jgerber wrote:

are the required packages installed already? a grep for lilypond in puppet(production) does not show anything.

Adding Tim to this issue since he is the most familiar with the extension and what it needs and what we have.

Hey Jan,

Could you write up a puppet config for this (lilypond specifically and anything else Score-related/dependent) and submit it for review in Gerrit?

Thanks!

That change is now merged. lilypond is now installed on all the mediawikis.

However, the same error message is still there on the /Score page. I even made a simple edit to the markup to force a regen.

Thoughts, Jan?

		$cmd = wfEscapeShellArg( $wgScoreLilyPond )
			. ' ' . wfEscapeShellArg( '-dsafe=#t' )
			. ' -dbackend=eps --png --header=texidoc '
			. wfEscapeShellArg( $factoryLy )
			. ' 2>&1';
		$output = wfShellExec( $cmd, $rc2 );
		$rc = chdir( $oldcwd );
		if ( !$rc ) {
			throw new ScoreException( wfMessage( 'score-chdirerr', $oldcwd ) );
		}
		if ( $rc2 != 0 ) {
			self::throwCallException( wfMessage( 'score-compilererr' ), $output, $options );
		}

I guess giving the return code could be helpful. And even an error message..

Related URL: https://gerrit.wikimedia.org/r/58509 (Gerrit Change I05946b492cbe5eed2ccb199f9ba29fbb3c303a5a)

Related URL: https://gerrit.wikimedia.org/r/58512 (Gerrit Change I871dd28d367b0f9ecdf4637bef4f67fdc6129194)

jgerber wrote:

the problem is that on the apache nodes $wgMaxShellMemory is 100 Mb ($wgMaxShellMemory = 102400;) but lilybond only works with more memory.

this can be fixed buy switching to the ps backend (https://gerrit.wikimedia.org/r/58512)

to support vorbis generation, we also need to install timidity
(https://gerrit.wikimedia.org/r/#/c/58504/)