Mike Solomon <mike...@ufl.edu> writes: > On Aug 23, 2011, at 2:38 PM, lilyp...@googlecode.com wrote: > >> >> Comment #13 on issue 1732 by reinhold...@gmail.com: 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 _______________________________________________ bug-lilypond mailing list bug-lilypond@gnu.org https://lists.gnu.org/mailman/listinfo/bug-lilypond