lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [2.20] Issue 4943 Manual page breaking causing assertion failure usi


From: Chris Yate
Subject: Re: [2.20] Issue 4943 Manual page breaking causing assertion failure using Windows
Date: Tue, 03 Jan 2017 17:04:26 +0000

On Tue, 3 Jan 2017 at 16:23 Thomas Morley <address@hidden> wrote:

> 2017-01-03 17:10 GMT+01:00 Chris Yate <address@hidden>:
> >
> >
> > On Tue, 3 Jan 2017 at 16:03 Thomas Morley <address@hidden>
> wrote:
> >>
> >> This replies to
> >> http://lists.gnu.org/archive/html/lilypond-devel/2017-01/msg00010.html
> >>
> >> 2017-01-03 12:23 GMT+01:00 Chris Yate <address@hidden>:
> >> >
> >> > Hmm. No, agreed, not ready for release yet. This one prevents me using
> >> > Lilypond on Windows for anything other than pathologically small
> >> > projects
> >> > (i.e. nothing that's actually useful).
> >> >
> >> > https://sourceforge.net/p/testlilyissues/issues/4943/
> >> >
> >> > We've traced the symptom of the crash down to Assertions being raised
> >> > since
> >> > some point in 2.19, but AFAIK the cause is still unknown.
> >> >
> >> > I've tried to create a symbols build so we can trace back / debug, but
> >> > Gub
> >> > is simply not working for me. I don't really have the time to
> >> > investigate
> >> > the Lilypond bug (which I have motivation to do), so I really don't
> have
> >> > time to investigate why Gub isn't working (which I really don't have
> >> > motivation for).
> >> >
> >> > I've given up trying to make an instrumented build of Lilypond for
> >> > Windows/Mingw now, so if anybody else is able to create one for me
> >> > that'd
> >> > be very welcome.
> >> >
> >> > Chris_
> >>
> >> Hi Chris,
> >>
> >> I've just reread the Rietveld-discussion about
> >> Issue 4169: Line and page breaking syntactic sugar
> >> https://codereview.appspot.com/156400043/
> >>
> >> I just wondered why autoLineBreaksOff/On was changed/extended by an
> >> overrideProperty but _not_ autoPageBreaksOff/On.
> >>
> >> So (completely shooting in the dark) may I ask you to test the
> following:
> >>
> >> autoLineBreaksOff = {
> >>   \overrideProperty Score.NonMusicalPaperColumn.line-break-permission
> ##f
> >>   \override Score.NonMusicalPaperColumn.line-break-permission = ##f
> >> }
> >> autoLineBreaksOn = {
> >>   \overrideProperty Score.NonMusicalPaperColumn.line-break-permission
> >> #'allow
> >>   \override Score.NonMusicalPaperColumn.line-break-permission = #'allow
> >> }
> >> autoPageBreaksOff = {
> >>   \overrideProperty Score.NonMusicalPaperColumn.page-break-permission
> ##f
> >>   \override Score.NonMusicalPaperColumn.page-break-permission = ##f
> >> }
> >> autoPageBreaksOn = {
> >>   \overrideProperty Score.NonMusicalPaperColumn.page-break-permission
> >> #'allow
> >>   \override Score.NonMusicalPaperColumn.page-break-permission = #'allow
> >> }
> >>
> >> autoBreaksOff = { \autoLineBreaksOff \autoPageBreaksOff }
> >> autoBreaksOn = { \autoLineBreaksOn \autoPageBreaksOn }
> >>
> >>
> >> { \repeat unfold 22 b2
> >>   \autoPageBreaksOff
> >>   %\autoBreaksOff
> >>   \repeat unfold 320 b2
> >>   \once \autoPageBreaksOn
> >>   %\once \autoBreaksOn
> >>   R1
> >>   \repeat unfold 320 b2 }
> >>
> >> Cheers,
> >>   Harm
> >
> >
> > Hi Harm,
> >
> > I've just run this in Windows (it's 8.1 here, I can test 10 later but I
> > doubt it'll be any different).
> >
> > Output (pasted from the Log window in Frescobaldi):
> >
> > Starting lilypond.exe 2.19.45 [Untitled]...
> >
> > Processing
> > `c:/users/cjyate/appdata/local/temp/frescobaldi-pv_nf1/tmpp6nmiv/
> document.ly'
> >
> > Parsing...
> >
> > c:/users/cjyate/appdata/local/temp/frescobaldi-pv_nf1/tmpp6nmiv/
> document.ly:1:
> > warning: no \version statement found, please add
> >
> > \version "2.19.45"
> >
> > for future compatibility
> >
> > Interpreting
> >
> music...[8][16][24][32][40][48][56][64][72][80][88][96][104][112][120][128][136][144][152][160][168][176][184][192][200][208][216][224][232][240][248][256][264][272][280][288][296][304][312][320][328]
> >
> > Preprocessing graphical objects...
> >
> > Finding the ideal number of pages...
> >
> > Fitting music on 1 or 2 pages...
> >
> > This application has requested the Runtime to terminate it in an unusual
> > way.
> >
> > Please contact the application's support team for more information.
> >
> > Assertion failed!
> >
> > Program: C:\Program Files (x86)\LilyPond 2.19.45\usr\bin\lilypond.exe
> >
> > File:
> >
> /home/gub/NewGub/gub/target/mingw/src/lilypond-git.sv.gnu.org--lilypond.git-release-unstable/lily/page-breaking.cc,
> > Line 1180
> >
> > Expression: ret <= cached_line_details_.size ()
> >
> > Exited with return code 3.
> >
> >
> >
>
> So the shot in the dark failed.
> Thanks for testing, though.
>
> Do you have the same problems, while putting it in \layout and using
> manual breaks? Like:
>
> \layout {
>   \autoBreaksOff
> }
>
> { \repeat unfold 22 b2
>   \repeat unfold 320 b2
>   \break
>   R1
>   \repeat unfold 320 b2 }
>
> Cheers,
>   Harm
>


That example is OK, but I don't think the Layout makes any differece.

It seems it's the "autoPageBreaksOff" in particular that is a problem. A
few examples (not comprehensive):
--------------

This crashes:

{
  \autoPageBreaksOff
  \repeat unfold 22 b2
  \repeat unfold 320 b2

  R1
  \repeat unfold 320 b2
}

-------------
This crashes:

\layout {
  \autoPageBreaksOff
}

{
  \repeat unfold 22 b2
  \repeat unfold 320 b2
\break
  R1
  \repeat unfold 320 b2
}

--------

This is OK:

{
  \autoPageBreaksOn
  \repeat unfold 22 b2
  \repeat unfold 320 b2

  R1
  \repeat unfold 320 b2
}

----------
This is OK (your example):

\layout {
  \autoBreaksOff
}

{
  \repeat unfold 22 b2
  \repeat unfold 320 b2
\break
  R1
  \repeat unfold 320 b2
}
-----
This is OK:

\layout {
  \autoBreaksOn
}

{
  \repeat unfold 22 b2
  \repeat unfold 320 b2
\break
  R1
  \repeat unfold 320 b2
}

------------

This looks OK (though there's no breaks) but causes "Programming Error:
bounds of spanner are invalid"

{
  \autoBreaksOff
  \repeat unfold 22 b2
  \repeat unfold 320 b2
\break
  R1
  \repeat unfold 320 b2
}

-----


reply via email to

[Prev in Thread] Current Thread [Next in Thread]