lilypond-user
[Top][All Lists]
Advanced

[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




reply via email to

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