Page MenuHomePhabricator

Score is disabled (T441512)
Open, Needs TriagePublicBUG REPORT

Description

English Wikipedia acnnouncement from @Jdrewniak

Hello, I'm writing to let everyone here know that the Score extension has been temporarily disabled. We do not have a timeline for re-enabling it yet, but a fix is in progress.

What this means for readers and editors

Any page that uses the <score> tag is affected. Where musical notation used to appear, you will now see the message "Musical scores are temporarily disabled." This applies to all score formats (LilyPond and ABC notation).

The underlying wikitext is not affected. Pages still save and edit normally. The source code for each score is preserved. The rendering is what is currently disabled.

What you can do

  • No action is needed from editors right now. Your score markup is intact.
  • If you are aware of articles where the missing scores are particularly disruptive to readers, feel free to note them here so we can prioritize.
  • A separate announcement will go out when the extension is re-enabled.

Thanks for your patience while we work on this.


Steps to replicate the issue (include links if applicable):

What happens?:
You see a warning message: "Musical scores are temporarily disabled."

What should have happened instead?:
You should see a musical score.

Other information (browser name/version, screenshots, etc.):
No workaround exists. This is creating a significant regression on the Wikipedia pages

Event Timeline

Huji triaged this task as Unbreak Now! priority.Sun, Oct 18, 11:51 PM

Since no workaround exists and this has a significant negative impact on the Wikipedia articles, marking it as highest priority.

Didn't mean to merge, only meant to connect

JJMC89 lowered the priority of this task from Unbreak Now! to Needs Triage.Sun, Oct 18, 11:56 PM
JJMC89 removed a project: Regression.
JJMC89 subscribed.

It is intentionally disabled for security reasons, not a Regression.

Noted. I also found this by @EMill-WMF just after creating this task.

Two questions:

  1. How was this disabled? I don't see a corresponding change in https://phabricator.wikimedia.org/source/mediawiki-config/history/master/
  2. Do such issues get communicated in some way so users become aware and not ask repetitive questions about it?
JJMC89 updated the task description. (Show Details)
JJMC89 added a subscriber: Jdrewniak.

Not sure, but if it helps with bug fixing, for some reason Special:Version on en Wikipedia is now reporting version 2.22.0 of LilyPond, which does not support the SVG rendering with libcairo that the Score extension relies on. LilyPond should be version 2.24.0 or later with libcairo compiled in; see T385404 and T427820.

JJMC89 renamed this task from Score is disabled to Score is disabled (T441512).Mon, Oct 19, 12:11 AM

Not sure, but if it helps with bug fixing, for some reason Special:Version on en Wikipedia is now reporting version 2.22.0 of LilyPond, which does not support the SVG rendering with libcairo that the Score extension relies on. LilyPond should be version 2.24.0 or later with libcairo compiled in; see T385404 and T427820.

That comes from:

if ( $wmgUseScore ) {
	wfLoadExtension( 'Score' );
	$wgScoreSafeMode = false;
	$wgScoreUseSvg = true;

	if ( $wmgUseScoreShellbox && $wmgLocalServices['shellbox'] ) {
		// Route score to the Shellbox named "shellbox".
		$wgShellboxUrls['score'] = $wmgLocalServices['shellbox'];
		// $wgShellboxSecretKey set in PrivateSettings.php
		$wgScoreImageMagickConvert = '/usr/bin/convert';
	} else {
		# Emergency mode in which Score is disabled
		$wgScoreLilyPond = '/dev/null';
		$wgScoreDisableExec = true;
		$wgScoreLilyPondFakeVersion = '2.2.0';
	}

}

in CommonSettings.php.

I assume somewhere in PrivateSettings.php wmgUseScoreShellbox is being set to false.

There's no bug in the Score codebase here AFAICS.

Noted. I also found this by @EMill-WMF just after creating this task.

Two questions:

  1. How was this disabled? I don't see a corresponding change in https://phabricator.wikimedia.org/source/mediawiki-config/history/master/
  2. Do such issues get communicated in some way so users become aware and not ask repetitive questions about it?

Based on the above, I believe the answer to #1 above is: the change was made in PrivateSettings.php which is not git-tracked (for obvious reasons).

I would still appreciate a response to #2 above.

the change was made in PrivateSettings.php which is not git-tracked

PrivateSettings.php uses a git repo, albeit a private one.

It is intentionally disabled for security reasons, not a Regression.

Hi, could you please provide more information about the security issue, and point us at the related task (if public/possible). I'm a dev with Score codebase familiarity, and happy to help, but I'm not a WMF dev. For instance, if it's to do with Ghostscript or Imagemagick, I have a patch waiting for review on Gerrit that removes those as dependencies since they are no longer needed for SVG (and we don't need PNG fallback in 2026).

I cannot provide any details. The (private) security task is T441512.