[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Segmentation fault with \revert Stem #'(details beamed-lengths) in
From: |
Neil Puttock |
Subject: |
Re: Segmentation fault with \revert Stem #'(details beamed-lengths) in \voiceOne |
Date: |
Wed, 21 Apr 2010 22:03:19 +0100 |
On 21 April 2010 15:20, Rodolfo Zitellini <address@hidden> wrote:
> I get a segmentation fault (bus error). I am using MacOS X 10.5.8
> x86. Tried it with lilypond 2.12.1, 2.13.11, 2.13.18. It seems that
> the problem is generated by the \voiceOne (or \voiveTwo for the
> matter) - removing that it compiles fine. It compiles file even if I
> remove the \revert.
> During some tests I noted that if I force the stems up or down in the
> same snippet I get a SIGSEGV. I can generate a complete backtrace if
> someone is interested.
Nasty. :)
Thanks for reporting this; I'll add it to the bug tracker once I've
done a few more tests.
It seems any override for Stem which precedes the nested override
triggers the crash. Looks like there's a bug in the nested property
code which needs the following conditions to show up:
1. The nested override must be preceded by another override for the same grob;
2. The nested property being overridden is a list.
With these two conditions satisfied, the default (i.e., immutable)
property setting is evicted from the alist, which means once the
revert happens, the property is missing. This causes a problem in
stem.cc since the code which checks 'beamed-lengths returns '() if it
can't find it in the 'details list (this is what causes the segfault:
the empty list is equivalent to a null pointer).
> BTW I am not fully sure I'm doing the right thing with beamed-lengths
> (I want to lengthen the beams): the manual just says "List of stem
> lengths given beam multiplicity", and I interpreted it as a list of
> the maximum stem lengths beamed together. Am a wrong?
Sounds about right.
Regards,
Neil