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.

greg added a comment.Mar 21 2013, 9:22 PM

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

greg added a comment.Mar 25 2013, 9:18 PM

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!

jgerber wrote:

puppet config pending review at https://gerrit.wikimedia.org/r/#/c/56577/

greg added a comment.Apr 9 2013, 11:09 PM

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?

Reedy added a comment.Apr 9 2013, 11:14 PM
		$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/)