lilypond-devel
[Top][All Lists]
Advanced

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

Re: wrt 'Make doc crashing on my PC'


From: James
Subject: Re: wrt 'Make doc crashing on my PC'
Date: Sat, 10 Aug 2013 07:58:25 +0100

Hello,


On 10 August 2013 01:07, Keith OHara <address@hidden> wrote:
Phil Holmes <mail <at> philholmes.net> writes:

> ----- Original Message -----
> > that reason at least on my machine. It seems to me therefore that
2.17.18
> > do not expose the issue but 2.17.19 does.
>
> That stacks up well with my earlier investigations.  Git besect
identified
> 35d5f2e2ff40e0bd35cf00f22c2428eac354e566 as the first bad commit, and
that
> commit occurred between 17.18 and 17.19.

> However, I can only get a crash when I run make doc, so wasn't 100% sure
> this was really the cause.

My revert of my first attempt at better tempo-mark spacing (issue 3279)
was also between 17.18 and 17.19, and this first attempt of mine avoided
issue 3409 for a couple minor versions.

When I run LilyPond on orchestra.ly using the debugger, the first time I
see a stack layout matching Petr's backtrace is during the horizontal
spacing step, when LilyPond is estimating the vertical position of the
"Presto" tempo mark, in order to see if it is necessary to allow
horizontal space for it.  That tempo mark contains all 25 StaffSymbols
in the score as its as side-suport-elements, the objects whose positions
it uses to determine its own position.

This means LilyPond tries to do a tentative vertical spacing of the
staves, which depends in turn on the vertical position of the "Presto"
mark through various paths.  With debugging on, I get four messages
"programming error: cyclic dependency: calculation-in-progress
 encountered for #'adjacent-pure-heights (VerticalAxisGroup)"
when executing side-position-interface.cc:239, immediately before
the call to the Skyline_pair constructor on line 240 that appears
in Petr's stack trace.

These error messages (issue 3409) have been around for a few major
versions.  My first attempt at issue 3279 skipped the step of
estimating the vertical positions of tempo marks, avoiding the error
messages, and possibly avoiding the crash.


I hope I am not adding 'useless' noise here but I thought I would have a play.

I built a 2.17.19 binary, and when I run the command:

lilypond -dpreview -dresolution=150 -o hello orchestra.ly

I get (on my 32 bit lilydev system)

address@hidden ~/Desktop$ lilypond -dpreview -dresolution=150 -o hello orchestra.ly
GNU LilyPond 2.17.19
Processing `orchestra.ly'
Parsing...
Interpreting music...
Preprocessing graphical objects...
programming error: cyclic dependency: calculation-in-progress encountered for #'adjacent-pure-heights (VerticalAxisGroup)
continuing, cross fingers
programming error: cyclic dependency: calculation-in-progress encountered for #'adjacent-pure-heights (VerticalAxisGroup)
continuing, cross fingers
programming error: cyclic dependency: calculation-in-progress encountered for #'adjacent-pure-heights (VerticalAxisGroup)
continuing, cross fingers
programming error: cyclic dependency: calculation-in-progress encountered for #'adjacent-pure-heights (VerticalAxisGroup)
continuing, cross fingers
Finding the ideal number of pages...
Fitting music on 1 page...
Drawing systems...
Layout output to `hello.ps'...
Converting to `./hello.pdf'...
Layout output to `hello.preview.eps'...
Converting to `./hello.preview.pdf'...
Converting to PNG...
Success: compilation successfully completed
 ...

So I did it a few more times, got the same message but a successful compilation.

Then I made a dir and added the path to the command and got a programming error but a successful compilation.

Thus:

address@hidden ~/Desktop$ lilypond -dpreview -dresolution=150 -o ./jamestest/hello orchestra.ly
GNU LilyPond 2.17.19
Changing working directory to: `./jamestest'
Processing `orchestra.ly'
Parsing...
Interpreting music...
Preprocessing graphical objects...
programming error: cyclic dependency: calculation-in-progress encountered for #'adjacent-pure-heights (VerticalAxisGroup)
continuing, cross fingers
programming error: cyclic dependency: calculation-in-progress encountered for #'adjacent-pure-heights (VerticalAxisGroup)
continuing, cross fingers
programming error: cyclic dependency: calculation-in-progress encountered for #'adjacent-pure-heights (VerticalAxisGroup)
continuing, cross fingers
programming error: cyclic dependency: calculation-in-progress encountered for #'adjacent-pure-heights (VerticalAxisGroup)
continuing, cross fingers
Finding the ideal number of pages...
Fitting music on 1 page...
Drawing systems...
Layout output to `hello.ps'...
Converting to `./hello.pdf'...
Layout output to `hello.preview.eps'...
Converting to `./hello.preview.pdf'...
Converting to PNG...
programming error: Parsed object should be dead: #<Prob: Music C++: Music((length . #<Mom 0>) (origin . #<location /home/jlowe/Desktop/orchestra.ly:338:12>))((display-methods #<procedure #f (check parser)>) (name . BarCheck) (types general-music bar-check) (iterator-ctor . #<primitive-procedure ly:bar-check-iterator::constructor>)) >

continuing, cross fingers
Success: compilation successfully completed


So I ran the same command again and got the 'normal' compilation (i.e. with the cyclic dependency VerticalAxisGroup message as before) but with no 'Parsed object...' message.

So I deleted all the created png, eps and log files etc and started again.

Nothing for 5 or 6 compilations.

Then I got this:

address@hidden ~/Desktop$ lilypond -dpreview -dresolution=150 -o hello orchestra.ly
GNU LilyPond 2.17.19
Processing `orchestra.ly'
Parsing...
Interpreting music...
Preprocessing graphical objects...
programming error: cyclic dependency: calculation-in-progress encountered for #'adjacent-pure-heights (VerticalAxisGroup)
continuing, cross fingers
programming error: cyclic dependency: calculation-in-progress encountered for #'adjacent-pure-heights (VerticalAxisGroup)
continuing, cross fingers
programming error: cyclic dependency: calculation-in-progress encountered for #'adjacent-pure-heights (VerticalAxisGroup)
continuing, cross fingers
programming error: cyclic dependency: calculation-in-progress encountered for #'adjacent-pure-heights (VerticalAxisGroup)
continuing, cross fingers
Finding the ideal number of pages...
Fitting music on 1 page...
Drawing systems...
Layout output to `hello.ps'...
Converting to `./hello.pdf'...
Layout output to `hello.preview.eps'...
Converting to `./hello.preview.pdf'...
Converting to PNG...
programming error: Parsed object should be dead: #<Context_mod ((push VerticalAxisGroup #t remove-empty) (description Remove staves which are considered to be empty according
to the list of interfaces set by @code{keepAliveInterfaces}.))>
continuing, cross fingers
programming error: Parsed object should be dead: #<Context_def ChoirStaff /home/jlowe/lilypond-git/build/out/share/lilypond/current/ly/performer-init.ly:183:3>
continuing, cross fingers
programming error: Parsed object should be dead: #<Music function #<procedure #f (parser location style heads music)>>
continuing, cross fingers
programming error: Parsed object should be dead: #<Prob: Music C++: Music((pop-first . #t) (grob-property-path dash-definition) (grob-value (0 0.5 0.4 0.75) (0.5 1 1 1)) (origin . #<location /home/jlowe/lilypond-git/build/out/share/lilypond/current/ly/property-init.ly:383:3>) (symbol . PhrasingSlur))((display-methods #<procedure #f (expr parser)>) (name . OverrideProperty) (types general-music layout-instruction-event override-property-event) (iterator-ctor . #<primitive-procedure ly:push-property-iterator::constructor>) (untransposable . #t)) >

continuing, cross fingers
Success: compilation successfully completed


So whatever is going on is obviously not consistent :)

I did nothing more than run the command over and over in a normal xterm window just waiting for the compile to complete and then running the command again, wait for it to compile and run it again. Sometimes flicking between the two different commands sometimes not.

Is it significant that I seem to get the additional programming error when I change the directory of where I -o the output?

Anyway I hope this helps.

James


reply via email to

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