[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Issue 1732 in lilypond: occasional segfault when compiling input/reg
From: |
David Kastrup |
Subject: |
Re: Issue 1732 in lilypond: occasional segfault when compiling input/regression/midi/key-initial.ly |
Date: |
Tue, 23 Aug 2011 15:58:07 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) |
Mike Solomon <address@hidden> writes:
> On Aug 23, 2011, at 2:38 PM, address@hidden wrote:
>
>>
>> Comment #13 on issue 1732 by address@hidden: occasional
>> segfault when compiling input/regression/midi/key-initial.ly
>> http://code.google.com/p/lilypond/issues/detail?id=1732
>>
>> Looking through the code, it appears as follows to me:
>> -) Grob::internal_set_property calls Grob::is_live (), which crashed
>> in line 312 with the check
>> return scm_is_pair (immutable_property_alist_);
>> -) So, it seems like the immutable_property_alist_ member is not initialized.
>> -) All Grob constructors initialize that member from the passed
>> argument (either Grob* or SCM props)
>> -) So, my conclusion for now is that somewhere a grob (or some child
>> class instance) is created with the Grob (SCM props) constructor,
>> where the passed argument SCM props is some uninitialized value.
>>
>
> To test this, you can use scm_display (immutable_property_alist_,
> scm_current_error_port ()); in the constructor. You'll get a lot of
> garbage, but it should (in theory) crash once it hits the
> uninitialized value.
ection>) (details (lengths 3.5 3.5 3.5 4.25 5.0 6.0) (beamed-lengths 3.26 3.5
3.6) (beamed-minimum-free-lengths 1.83 1.5 1.25)
(beamed-extreme-minimum-free-lengths 2.0 1.25) (stem-shorten 1.0 0.5))
(direction . #<primitive-procedure ly:stem::calc-direction>) (duration-log .
#<procedure stem::calc-duration-log (grob)>) (flag . #<primitive-procedure
ly:stem::calc-flag>) (length . #<primitive-procedure ly:stem::calc-length>)
(neutral-direction . -1) (positioning-done . #<primitive-procedure
ly:stem::calc-positioning-done>) (stem-begin-position . #<primitive-procedure
ly:stem::calc-stem-begin-position>) (stem-end-position . #<primitive-procedure
ly:stem::calc-stem-end-position>) (stem-info . #<primitive-procedure
ly:stem::calc-stem-info>) (stencil . #<primitive-procedure ly:stem::print>)
(thickness . 1.3) (X-extent . #<primitive-procedure ly:stem::width>) (X-offset
. #<primitive-procedure ly:stem::offset-callback>) (Y-extent .
#<primitive-procedure ly:stem::height>) (Y-offset . #<primitive-procedure
ly:staff-symbol-referencer::callback>) (meta (name . Stem) (class . Item)
(interfaces grob-interface font-interface item-interface
stem-interface)))((knee-spacing-correction . 1.0) (same-direction-correction .
0.25) (space-to-barline . #t) (stem-spacing-correction . 0.5) (meta (name .
NoteSpacing) (class . Item) (interfaces grob-interface item-interface
note-spacing-interface spacing-interface)))((ignore-collision . #t) (axes 0 1)
(bound-alignment-interfaces rhythmic-head-interface stem-interface)
(horizontal-skylines . #<primitive-procedure
ly:separation-item::calc-skylines>) (skyline-vertical-padding . 0.15) (X-extent
. #<primitive-procedure ly:axis-group-interface::width>) (Y-extent .
#<primitive-procedure ly:axis-group-interface::height>) (meta (name .
NoteColumn) (class . Item) (object-callbacks (pure-Y-common .
#<primitive-procedure ly:axis-group-interface::calc-pure-y-common>)
(pure-relevant-grobs . #<primitive-procedure
ly:axis-group-interface::calc-pure-relevant-grobs>)) (interfaces grob-interface
axis-group-interface item-interface note-column-interface
separation-item-interface)))((non-musical . #t) (stem-spacing-correction . 0.4)
(meta (name . StaffSpacing) (class . Item) (interfaces grob-interface
item-interface spacing-interface staff-spacing-interface)))
Program received signal SIGSEGV, Segmentation fault.
Grob::internal_set_property (this=0x12, sym=0xb5f42740, v=0x12)
at grob-property.cc:111
111 sym, v);
(gdb) bt
#0 Grob::internal_set_property (this=0x12, sym=0xb5f42740, v=0x12)
at grob-property.cc:111
#1 0x082b10db in Engraver_dispatch_list::apply (this=0x8595fa8, gi=...)
at translator-dispatch-list.cc:35
#2 0x080f20b9 in acknowledge_grobs (this=0x84e8308) at engraver-group.cc:129
#3 Engraver_group::acknowledge_grobs (this=0x84e8308) at engraver-group.cc:90
#4 0x080f25e8 in Engraver_group::do_announces (this=0x84e8308)
at engraver-group.cc:178
#5 0x080f25cf in Engraver_group::do_announces (this=0x859a9c8)
at engraver-group.cc:169
#6 0x08218961 in one_time_step (this=0x859a9c8) at score-engraver.cc:152
#7 Score_engraver::one_time_step_callback (self=0x859a9c8, ev=0xb7554540)
at score-engraver.cc:145
#8 0x080e243a in Dispatcher::dispatch (this=0x859c7a0, sev=0xb7554540)
at dispatcher.cc:152
#9 0x080d6e37 in Context::internal_send_stream_event (this=0x8587e2c,
type=0xb71a40e0, origin=0x0, props=0xbfffbe58) at context.cc:460
#10 0x08117e24 in Global_context::run_iterator_on_me (this=0x8587dc8, iter=
0x8587f90) at global-context.cc:169
#11 0x0811634c in ly_interpret_music_expression (mus=0x8587dc8, ctx=0xb7589a60)
at global-context-scheme.cc:119
#12 0x08116af6 in ly_run_translator (mus=0xb75da3f0, output_def=0xb7589a60)
at global-context-scheme.cc:146
#13 0x0821d9ae in Score::book_rendering (this=0x859c760, layoutbook=0x859c808,
default_def=0x84b34e8) at score.cc:155
#14 0x080a5184 in Book::process_score (this=0x859c7d0, s=0xb75a3fb8,
output_paper_book=0x84e9c40, layout=0x84b34e8) at book.cc:236
[...]
This is in tablature-string-tunings.ly which is just
\version "2.14.0"
\header {
texidoc = "For other tunings, it is sufficient to set
@code{stringTunings}. The number of staff lines is adjusted
accordingly."
}
\new TabStaff {
\set TabStaff.stringTunings = #`(,(ly:make-pitch 0 3 0)
,(ly:make-pitch 0 5 SHARP)
,(ly:make-pitch 1 1 SHARP)
,(ly:make-pitch 1 4 SHARP))
\relative c'' { c4 d e f }
}
--
David Kastrup
- Re: Issue 1732 in lilypond: occasional segfault when compiling input/regression/midi/key-initial.ly, lilypond, 2011/08/01
- Message not available
- Re: Issue 1732 in lilypond: occasional segfault when compiling input/regression/midi/key-initial.ly, lilypond, 2011/08/22
- Message not available
- Re: Issue 1732 in lilypond: occasional segfault when compiling input/regression/midi/key-initial.ly, lilypond, 2011/08/22
- Message not available
- Re: Issue 1732 in lilypond: occasional segfault when compiling input/regression/midi/key-initial.ly, lilypond, 2011/08/23
- Message not available
- Re: Issue 1732 in lilypond: occasional segfault when compiling input/regression/midi/key-initial.ly, lilypond, 2011/08/23
- Re: Issue 1732 in lilypond: occasional segfault when compiling input/regression/midi/key-initial.ly, David Kastrup, 2011/08/23
- Message not available
- Re: Issue 1732 in lilypond: occasional segfault when compiling input/regression/midi/key-initial.ly, lilypond, 2011/08/23
- Re: Issue 1732 in lilypond: occasional segfault when compiling input/regression/midi/key-initial.ly, Mike Solomon, 2011/08/23
- Re: Issue 1732 in lilypond: occasional segfault when compiling input/regression/midi/key-initial.ly,
David Kastrup <=
- Message not available
- Re: Issue 1732 in lilypond: occasional segfault when compiling input/regression/midi/key-initial.ly, lilypond, 2011/08/23
- Re: Issue 1732 in lilypond: occasional segfault when compiling input/regression/midi/key-initial.ly, Mike Solomon, 2011/08/23
- Re: Issue 1732 in lilypond: occasional segfault when compiling input/regression/midi/key-initial.ly, David Kastrup, 2011/08/23
- Message not available
- Re: Issue 1732 in lilypond: occasional segfault when compiling input/regression/midi/key-initial.ly, lilypond, 2011/08/23