Page MenuHomePhabricator

Musical score on English Wikisource does not render (due to misplaced tilde)
Closed, InvalidPublic

Description

The LilyPond markup language appears not to be working in the case of Chopin's Second Nocturne. https://en.wikisource.org/wiki/Chopin_Nocturnes_Opus_9/Number_2
The encoded musical score works well enough to generate a midi file, but the musical score does not appear on the page as it should (there is an error message).

https://en.wikisource.org/wiki/User_talk:Beeswaxcandle#LilyPond

Event Timeline

@Peteforsyth: Assuming this task is about MediaWiki-extensions-Score, hence adding project tag so others can find this task when searching for tasks under that project or looking at that project workboard. Does this happen on other Wikisources too?

https://en.wikisource.org/w/index.php?title=Page:Chopin_Nocturnes_Op_9_Kistner_First_Edition_1833.djvu/6&action=edit for a direct link:

<score vorbis="1"><< \new Staff { \time 12/8 \key ees \major \tempo "ANDANTE." 8 = 132 \partial 8
  \relative b' { 
    bes8_\markup { \italic "espress. dolce." } |
    g'4. ~ g8\( f g f4. ees4\) bes8\(  | %% 1
    g'4 c,8\turn\< c'4\! g8 bes4. aes4 g8\) | %% 2
    f4. g4( d8) ees4. c | %% 3
    bes8( d') c\( bes16 aes g aes\) c,\f\( d ees4.\) r4 bes8\( | %% 4
    g'4.\p f16\)[ g f\prall e f g] f8 ees4_> ~ ees16[ f ees\prall d ees f] | %% 5
    g[\< b, c d->( c) f->( e) aes->( g) d'\( c g\!\)] bes4.\> aes4\! g8 | %% 6
    f4.\startTrillSpan
      \grace { ees16\stopTrillSpan f } g8^. g( d) ees4.( c) | %% 7
    bes8( d') c8^.\( bes16^. aes^. g^. aes^. \acciaccatura aes8 c,16 d\) ees4. ~ ees8 d ees | %% 8
    f4.\p g4_>(f8\!) f4.(\pp c) | %% 9
    ees8^.\(_\markup { \italic "poco ritard." } ees^. ees^. ees\) d!16\( ees f16. ees32 ees4.\) bes | %% 10
    bes'4.\f^\markup { \italic { Tempo 1\super o } } a4 g8 <f a,>4. <d bes> | %% 11
    <ees g,>4. \stemUp <d a>8-.\( <c a>-. <d a>-. <bes f>-.\)
      <b fis>-.\(_\markup { \italic "poco rallent." } <b e,>-. ~ <c bes e,>-. <c a! f>-. <d aes>-.\) \stemNeutral | %% 12
    \appoggiatura { g,16^\markup { \italic { Tempo 1\super o } }_\markup { \dynamic fzp } bes ees } g4 a,16\( bes ces bes cis d g16. f32\)
      f4 ees8 ~ ees16 f ees\prall d ees f | %% 13
    g16\< b, c des( c) f(\! e)_\markup { \italic cres. } aes( g) d'\( c g bes!4.\) aes4\> g8 | %% 14
    f4.\p\startTrillSpan
     \grace { ees16\stopTrillSpan f16 } g8^. g(-> d)\< ees4. c\! | %% 15
    bes8( d'8) cis^.\( c32-5^.[ b-5^. bes-4^. a-5^. aes^. f^. d^. ces^.\)_> bes d \times 2/3 { g-5 f-4 ees-2] } ees4.-1 ~ ees8 d ees | %% 16
    f4.\( g4 f8\) f4.( c4.) | %% 17
%% tuplet: here, four notes are to be played in the time of three
    \times 3/4 { ees8\([ ees ees ees] } ees[ d16 ees f16. ees32] ees4.\) bes\< | %% 18
%% page two begins
    bes'4.(\f a4) g8 <f a,>4.\> <d bes>\! | %% 19
    <ees g,>4. \stemUp <d a>8-.\( <c a>-. <a d>-.\)
      <bes f>-.\(_\markup { \italic "poco rall." }^\< <b fis>-. <b e,>-. <c bes e,>-. <c a f>-. <d aes>-.\)\! \stemNeutral | %% 20
    \appoggiatura { g,16^\markup { \italic { Tempo 1\super o } }_\markup { \dynamic fzp } bes ees } g4\) a,16\( bes ces-> bes cis d g16.-> f32\)
      f4_\> ees8\! ~ ees16 f ees\trill_\< d ees f(\! | %% 21
    g16) b, c des->( c) f->( e)_\< aes->( g) d'\( c g \acciaccatura { g8 } bes!4.\)\! aes4 g8 | %% 22
    f4.\startTrillSpan
      \grace { ees16\stopTrillSpan f16 } g8-! g8\( d8\) ees4. c4. | %% 23
    bes16[\( d'8-. cis16-. c-. b32-.] bes16-.[ a16-.]\) aes32-! a,\( bes b c cis d \times 2/3 { g f ees]\) } ees2.-> | %% 24
    ees4.\p f8\( ees8 f8 g2.\) | %% 25
    ees4.\pp ~ ees16\( f ees\) f\( ees f g4\)_\markup { \italic "poco rubato." } ees8\turn( ees'8-5) d-5 c-5 | %% 26
    bes4-4_\markup { \italic sempre \dynamic pp } a8-5( aes)[ c, d] ees[ f16 ees\prall d ees]
      \acciaccatura { ees8_\markup { \italic dolciss. } } g'-.[ f16-.-5\( ees-.-4 d-.-5 c-.-5] | %% 27
    ces8-5 bes-4 beses-5\) beses16-5([ aes-4)] aes-4([ g-5)] g16.-5\([ f32-4] ees2.-3\)_> | %% 28
    ees4.\p ~ \scaleDurations 6/8 { ees16[ f\( ees f ees\) f\( ees\< f\)]} g4.\! r4 r8 | %% 29
    ees8-![_\markup { \italic "con forza." } aes,16\( bes aes\trill g] aes[ ces ees aes ees'\) r32 f32]\(
      \ottava #1 g8([ ees8)]\) <ees ees'>4_\> <d d'>8\![_\markup { \italic "stretto." } <c c'>8] | %% 30
    <ces ces'>8[ <bes bes'>8 <beses beses'>8] <aes! aes'!>8[ <g g'>8 <d d'>8] <ees ees'>8 <ees' ees'>4. <f f,>8[ <ces ces'>8] | %% 31
    \cadenzaOn <ces ces'>2.\ff_\markup { \italic "senza Tempo" } <bes bes'>2.\fermata \teeny ces'!16[ bes c a] ces[ bes c a!] ces[\< bes c a]
      \repeat unfold 4 { ces[ bes c a] }
      ces[ bes c a]\! \bar "" \break \repeat unfold 3 { ces[ bes c a] } ces[\> bes c a]\! ces16[ bes16 d16 c16]
      bes16[_\markup { \italic \normalsize rallent. } a!16 aes16 g16] f16\([ d16 ees16 ces16]_\markup { \italic \normalsize smorz. }
      \ottava #0 bes8[ aes^\markup { \normalsize loco. } c, d]\) \cadenzaOff \normalsize \bar "|" %% 32
    <g, ees'>\([\pp bes g']  <g, ees'>[ bes g']  <g, ees'>[ bes g']  <g, ees'>[ bes g']\) | %% 33
    <g, ees'>4.\ppp <g' ees'>4. ees,2.\fermata \bar "|." } %% 34
   }
\new Staff { \clef bass \key ees \major <<
  \new Voice \relative e, {
    r8 | ees-. <g' ees'>( <bes ees g>) ees,-. <aes d>( <ces d aes'>) ees,,-. <g' ees'>( <bes ees g>) d,,-. <g' ees'>( <bes ees g>) | %% 1
    c,,-. <g'' e'> <bes e g> c, <g' e'> <c e bes'> f,, <f' des'> <bes des e!>   f, <f' c'> <aes c f> | %% 2
    bes, <f' d'!> <bes d aes'> b, <g' f'> <d' f g> c, <g' ees'> <c ees g> a, <ges' ees'> <c ees ges> | %% 3
    bes, <f' ees'> <bes ees aes> bes,, <f'' d'> <bes aes'> ees,, <g' ees'> <bes ees g> ees, <g ees'> <bes ees g> | %% 4
    ees,-. <g ees'>( <bes ees g>) ees,-. <aes d>( <ces d aes'>) ees,-. <g ees'>( <bes ees g>) d,-. <g ees'>( <bes ees g>) | %% 5
    c, <g' e'> <bes e g> c, <g' e'> <c e bes'> f,, <f' des'> <bes des e!> f, <f' c'> <aes c f> | %% 6
    bes, <f' d'> <bes d aes'> b, <g' f'> <d' f g> c, <g' ees'> <c ees g> a, <ges' ees'> <c ees ges> | %% 7
    bes, <f' ees'> <bes ees aes> bes,, <f'' d'> <bes aes'> ees,, <g' ees'> <bes ees g> ees, <g ees'> <bes ees g> | %% 8
    bes,-. <f' d'>( <bes d f>) bes,-. <f' d'>( <bes d f>) a,!-. <f' c'>( <c' f>) a,-. <f' c'>( <c' f>) | %% 9
    aes, <ees' c'> <aes c ees> aes,, <ees''ces'> <aes ces ees> ees, <g' ees'>( <bes ees g>) ees, <g ees'>( <bes ees g>) | %% 10
    e,, <e' des'> <bes' des g> e,, <e' c'> <bes' c g'> f, <f' ees'!> <c' ees f> g, <g' d'> <bes d g> | %% 11
    c,, <g'' ees'> <c ees g> f,, <f' ees'> <c' ees f> <bes d> <a dis> gis g <f c' ees> <bes f'> | %% 12
    ees,, <g' ees'> <bes ees g> ees, <aes d> <bes d aes'> ees, <g ees'> <bes ees g> d, <g ees'> <bes ees g> | %% 13
    c, <g' e'> <bes e g> c, <g' e'> <c e bes'> f,, <f' des'> <bes des e!> f, <f' c'> <aes c f> | %% 14
    bes, <f' d'!> <bes d aes'> b,! <g' f'> <d' f g> c, <g' ees'> <c ees g> a, <ges' ees'> <c ees ges> | %% 15
    bes, <f' ees'> <bes ees aes> bes,, <f'' d'> <bes d aes'> ees,, <g' ees'> <bes g'> ees, <g ees'> <bes g'> | %% 16
    bes, <f' d'> <bes d f> bes, <f' d'> <bes d f> a, <f' c'> <c' f> a, <f' c'> <c' f> | %% 17
    aes,! <ees' c'> <aes c ees> aes,, <ees'' ces'> <aes ces ees> ees, <g' ees'> <bes ees g> ees, <g ees'> <bes ees g> | %% 18
    e,, <ees' des'> <bes' des g> e,, <ees' c'> <bes' c g'> f, <f' ees'> <c' ees a> g, <g' des'> <bes des bes'> | %% 19 from 1:38
    c,, <g'' ees'> <c ees g> f,, <f' ees'> <c' ees f> <bes d> <a dis> gis g <f c' ees!> <bes f'> | %% 20 from 1:43
    ees,,-. <g' ees'> <bes ees g> ees,-. <aes d>( <bes d aes'>) ees,-. <g ees'>( <bes ees g>) d,( <g ees'> <bes ees g>) | %% 21 from 1:49
    c, <g' e'>( <bes e g>) c, <g' e'> <c e bes'> f,, <f' bes des> <bes des e!> f, <f' c'> <aes c f> | %% 22 from 1:54
    bes, <f' d'!> <bes d aes'> b, <g' f'> <d' f g> c, <g' ees'> <c ees g> a, <ges' ees'> <c ees ges> | %% 23 from 2:00
    bes, <f' ees'> <bes ees aes> bes,, <f'' d'> <bes d aes'> ees,, <g' ees'> <bes ees g> ees, <g ees'> <bes ees g> | %% 24 from 2:05
    ees,, <aes' ces ees> <ces ees aes> ees, <aes ces ees> <ces ees aes> ees,, <g' ees'>( <bes ees g>) ees,-. <g ees'>( <bes ees g>) | %% 25 from 2:11
    ees,, <aes' ces ees> <ces ees aes> ees, <aes ces ees> <ces ees aes> ees,, <g' bes ees> <bes ees g> ees, <g ees'> <bes ees g> | %% 26 from 2:17
    ees, <f d'> <bes aes'> ees, <f d'> <bes aes'> ees, <g ees'> <bes g'> a, <f' ees'> <c' ees f> | %% 27 from 2:22
    bes, <f' ees'> <bes ees aes> bes,, <f'' d'> <bes d aes'> ees,, <g' ees'> <bes ees g> ees, <g ees'> <bes ees g> | %% 28 from 2:28
    aes,, <ees'' aes ces> <aes ces ees> <ces ees aes> <aes ces ees> <ees aes ces> ees, <g' ees'> <bes ees g> ees, <g ees'> <bes ees g> | %% 29 from 2:33
    aes,, <ees'' aes ces> <aes ces ees> <ees aes ces> <aes ces ees> <ees aes ces> ees, <g' ees'> <bes ees g> a, <f' ees'> <ces' ees f> | %% 30 from 2:39
    bes, <f' bes ees> <bes ees aes> b, <g' f'> <d' f g> c, <g' ees'> <c g'> << { s <c ees> <c ees f> } \\ { a,8^! f'4 } >> | %% 31 from 2:44
    \cadenzaOn \override TupletNumber #'stencil = ##f \times 6/8 { bes,,8[ bes' f' aes d bes \clef treble f' aes] } d2. s16*32 \clef bass s16*28 s2 \cadenzaOff | %% 32 from
    << { \repeat unfold 4 { s8 bes,4 } } \\ { ees,,8( bes'' bes, ees bes' bes,) ees,( bes'' bes, ees bes' bes,)( } >> | %% 33 from
    <ees bes'>4.) \clef treble <ees' bes'>4. \clef bass << s g,2. \\ { <ees, bes'>2.\fermata } >>
  }
  \new Voice { % for pedal marking
    s8 | \repeat unfold 14 { s\sustainOn s s\sustainOff } s2.\sustainOn s4 s8\sustainOff
    \repeat unfold 3 { s\sustainOn s s\sustainOff } s\sustainOn s2 s8\sustainOff
    \repeat unfold 8 { s\sustainOn s s\sustainOff } s\sustainOn s2 s8\sustainOff %% bars 6-8
    \repeat unfold 4 { s\sustainOn s2 s8\sustainOff } %% bars 9-10
    \repeat unfold 6 { s\sustainOn s s\sustainOff } s2. %% bars 11-12
    s4\sustainOn s8\sustainOff s4. s2. | s1. s % bar 13-15
    s s s s s s s s s % bar16-24
    \repeat unfold 5 { s4\sustainOn s4. s8\sustainOff } \repeat unfold 4 { s4\sustainOn s8\sustainOff } % bar 25-28
    \repeat unfold 3 { s4\sustainOn s4. s8\sustainOff } s2. |
    \repeat unfold 6 { s4\sustainOn s8\sustainOff }
    \cadenzaOn { s8\sustainOn s1. s s s1 s8 }
    s4.\sustainOn s s s | s s s2 s4\sustainOff
  } >> } >>
</score>
Ebe123 subscribed.

The error message is (hidden by the error beautifier):

/vagrant/mediawiki/includes/shell/limit.sh: line 101:  2815 Segmentation fault      /usr/bin/timeout $MW_WALL_CLOCK_LIMIT /bin/bash -c "$1" 3>&-

@Peteforsyth, no, the MIDI file was not generated, as it is linked to the same command as the image. The LY syntax is valid, but it seems at first glance to be too complex to be run all at once. Try splitting it?

@Peteforsyth, no, the MIDI file was not generated, as it is linked to the same command as the image. The LY syntax is valid, but it seems at first glance to be too complex to be run all at once. Try splitting it?

Not an overly complex score. It was rendering absolutely fine at the time it was created (1 Feb 2018). The most complex score we currently host at enWS is https://en.wikisource.org/wiki/Essentials_in_Conducting/Appendix_B and it renders.

@Peteforsyth It seems that there was a misplaced tie in the Lilypond code. After this fix:
https://en.wikisource.org/w/index.php?title=Page%3AChopin_Nocturnes_Op_9_Kistner_First_Edition_1833.djvu%2F6&type=revision&diff=9580515&oldid=7253044
it works fine.

BTW, I think the file should be proofread in mul.ws rather than in en.ws as there is no linguistic content here (especially it is not in English).

Aklapper renamed this task from Musical score on English Wikisource does not render to Musical score on English Wikisource does not render (due to misplaced tilde).Sep 3 2019, 9:07 AM

The problem is resolved as a user syntax error, so not a problem in the extension.