|
From: | Craig Dabelstein |
Subject: | Re: Error message |
Date: | Wed, 26 Jun 2019 04:48:39 +1000 |
Starting lilypond 2.19.82 [mwe.ly]...
Processing `/Users/craigdabelstein/Desktop/mwe.ly'
Parsing...
Interpreting music...
Preprocessing graphical objects...
Finding the ideal number of pages...
Fitting music on 1 page...
Drawing systems.../home/gub/NewGub/gub/target/darwin-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.20/flower/include/drul-array.hh:35: failed assertion `d == 1 || d == -1'
Exited with exit status 1.
On 2019-06-25 4:46 am, David Kastrup wrote:
> Craig Dabelstein <address@hidden> writes:
>
>> And the guilty line is ...
>>
>> \consists "Melody_engraver"
>> %\override Stem.neutral-direction = #'()
>>
>> Commenting out the \override Stem.neutral-direction line fixed the
>> problem.
>
> More likely than not half of a red herring: garbage protection problems
> are quite elusive to track down. This propably changes the actions the
> Melody_engraver takes.
Unless I am completely lost myself, this is not the trampoline problem
from before, though I suspect the appearance of "Melody_engraver" has
confused things.
Here is the proper repro MWE:
%%%%
\version "2.19.82"
{
\override Stem.neutral-direction = #'()
\tuplet 3/2 { r4 b' c'' }
}
%%%%
This is bad input because neutral-direction must be strictly UP or DOWN
(or rather it can be a procedure that ultimately evaluates to 1 or -1).
From what I can see, the point of the property is to determine what
happens to a note on the middle line of a staff when there is nothing
else (like a beam) that can help sway the decision one way or the other.
Setting it to #'() would seem to be meaningless.
Consider the output from the above MWE:
====
GNU LilyPond 2.19.82
Processing `drul-array-bad-direction.ly'
Parsing...
Interpreting music...
Preprocessing graphical objects...
programming error: Stem dir must be up or down.
continuing, cross fingers
Finding the ideal number of pages...
Fitting music on 1 page...
Drawing systems...lilypond:
/home/gub/NewGub/gub/target/linux-64/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.20/flower/include/drul-array.hh:35:
T& Drul_array<T>::at(Direction) [with T = double]: Assertion `d == 1 ||
d == -1' failed.
The terminal process terminated with exit code: 134
====
LilyPond is already emitting a programming error: "Stem dir must be up
or down". Whenever I see "cross fingers", I never make any assumption
of what will work or not. So a failing assertion afterwards is not
surprising.
Craig: Would you confirm whether your project output contains the
programming error line? I would say there is a bug if you are *only*
seeing the failing assertion.
Perhaps an additional check could be added to stem.cc:649 to ensure that
neutral-direction has a sane value, which could catch this particular
error earlier in the process.
-- Aaron Hill
_______________________________________________
lilypond-user mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/lilypond-user
|
||||
maximesmusic.com.au |
[Prev in Thread] | Current Thread | [Next in Thread] |