| Summary: | Segfault in scm_gc_mark() if only one voice used in MIDI section | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Pavel Roskin <plroskin> | ||||
| Component: | lilypond | Assignee: | Gwyn Ciesla <gwync> | ||||
| Status: | CLOSED WONTFIX | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||
| Severity: | unspecified | Docs Contact: | |||||
| Priority: | unspecified | ||||||
| Version: | 15 | CC: | gwync | ||||
| Target Milestone: | --- | ||||||
| Target Release: | --- | ||||||
| Hardware: | x86_64 | ||||||
| OS: | Linux | ||||||
| Whiteboard: | |||||||
| Fixed In Version: | Doc Type: | Bug Fix | |||||
| Doc Text: | Story Points: | --- | |||||
| Clone Of: | Environment: | ||||||
| Last Closed: | 2012-08-07 16:50:00 UTC | Type: | --- | ||||
| Regression: | --- | Mount Type: | --- | ||||
| Documentation: | --- | CRM: | |||||
| Verified Versions: | Category: | --- | |||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||
| Attachments: |
|
||||||
Removing this line from the problematic file helps: #(set-default-paper-size "letter") I worked around the problem by moving the contents of the first layout block to the non-MIDI score. Of course, the crash with the original file is still unacceptable. This message is a notice that Fedora 15 is now at end of life. Fedora has stopped maintaining and issuing updates for Fedora 15. It is Fedora's policy to close all bug reports from releases that are no longer maintained. At this time, all open bugs with a Fedora 'version' of '15' have been closed as WONTFIX. (Please note: Our normal process is to give advanced warning of this occurring, but we forgot to do that. A thousand apologies.) Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, feel free to reopen this bug and simply change the 'version' to a later Fedora version. Bug Reporter: Thank you for reporting this issue and we are sorry that we were unable to fix it before Fedora 15 reached end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora, you are encouraged to click on "Clone This Bug" (top right of this page) and open it against that version of Fedora. Although we aim to fix as many bugs as possible during every release's lifetime, sometimes those efforts are overtaken by events. Often a more recent Fedora release includes newer upstream software that fixes bugs or makes them obsolete. The process we are following is described here: http://fedoraproject.org/wiki/BugZappers/HouseKeeping lilypond-2.14.2-1.fc16.x86_64 (Fedora 16) doesn't have that problem. The current development version of Lilypond (2.15.43) is also fine. Whatever it was, it's fixed now. I'll report further bugs of that kind directly upstream. |
Created attachment 495364 [details] The file that causes the problem Description of problem: Removing all but the main voice in the score for MIDI generation leads to a crash in lilypond. gdb shows that the crash is in scm_gc_mark(), which is a function in guile. Version-Release number of selected component (if applicable): lilypond-2.13.49-2.fc15.x86_64 guile-1.8.8-2.fc15.x86_64 How reproducible: Always Steps to Reproduce: 1. lilypond svv.ly Actual results: GNU LilyPond 2.13.49 Processing `svv.ly' Parsing... Interpreting music... [8][16][24][32][40][48][56][64][72] Preprocessing graphical objects...Segmentation fault (core dumped) Expected results: PS and MIDI files are generated. The MIDI file has only the main voice. Additional info: ptr doesn't look like a real pointer. It's an ASCII string '62atef" ' Core was generated by `lilypond svv.ly'. Program terminated with signal 11, Segmentation fault. #0 0x0000003183058d79 in scm_gc_mark (ptr=0x3632617465662220) at gc-mark.c:165 165 if (SCM_GC_MARK_P (ptr)) (gdb) where #0 0x0000003183058d79 in scm_gc_mark (ptr=0x3632617465662220) at gc-mark.c:165 #1 0x000000000049a99e in Font_metric::mark_smob (s=<optimized out>) at font-metric.cc:108 #2 0x0000003183058c9c in scm_gc_mark_dependencies (p=<optimized out>) at gc-mark.c:368 #3 0x0000003183058cc8 in scm_gc_mark_dependencies (p=<optimized out>) at gc-mark.c:218 #4 0x0000003183058ad0 in scm_gc_mark_dependencies (p=<optimized out>) at gc-mark.c:282 #5 0x0000003183058e5c in scm_mark_all () at gc-mark.c:86 #6 0x000000318305869d in scm_i_gc (what=<optimized out>) at gc.c:596 #7 0x0000003183059c91 in increase_mtrigger (size=<optimized out>, what=0x31830c5ab4 "vector") at gc-malloc.c:238 #8 0x000000318305a1d6 in scm_gc_malloc (size=248, what=0x31830c5ab4 "vector") at gc-malloc.c:321 #9 0x00000031830a554a in scm_c_make_vector (k=31, fill=0x404) at vectors.c:305 #10 0x0000003183064b0c in make_hash_table (flags=0, k=<optimized out>, func_name=<optimized out>) at hashtab.c:98 #11 0x00000000005f3a44 in Pango_font::Pango_font (this=0x1f16f10, fontmap=0x1675010 [PangoFT2FontMap], description=0x1738d80, output_scale=1.7572990175729903) at pango-font.cc:50 #12 0x000000000066b4ef in All_font_metrics::find_pango_font (this=0x1720fd0, description=0x1738d80, output_scale=1.7572990175729903) at all-font-metrics.cc:97 #13 0x000000000069d47b in find_pango_font (layout=<optimized out>, descr=0x7ff36071c080, factor=1) at paper-def.cc:101 #14 0x000000000048e59a in Text_interface::interpret_string (layout_smob=0x7ff35ef29060, props=0x7ff3569facb0, markup=0x7ff3607441a0) at text-interface.cc:64 #15 0x000000000048ef36 in Text_interface::interpret_markup (layout_smob=0x7ff35ef29060, props=0x7ff3569facb0, markup=0x7ff3607441a0) at text-interface.cc:95 #16 0x000000318304b1e2 in scm_dapply (proc=0x7ff3612cfc10, arg1=0x7ff361319f50, args=0x404) at eval.c:4895 #17 0x00000000004e694a in Grob::try_callback_on_alist (this=0x1c9e4a0, alist=0x1c9e500, sym=0x7ff3609bcf80, proc=0x7ff3612cfc10) at grob-property.cc:231 #18 0x0000000000482c23 in Grob::get_stencil (this=0x1c9e4a0) at grob.cc:113 #19 0x0000000000482c92 in grob_stencil_extent (a=Y_AXIS, me=<optimized out>) at grob.cc:707 #20 Grob::stencil_height (smob=<optimized out>) at grob.cc:720 #21 0x000000318304d140 in deval (x=<optimized out>, env=<optimized out>) at eval.c:4232 #22 0x000000318304b7a7 in scm_dapply (proc=0x7ff35f2c9190, arg1=<optimized out>, args=0x7ff3569fa8f0) at eval.c:5012 #23 0x00000000004849b2 in Grob::pure_height (this=0x1c9e4a0, refp=0x1c9e4a0, start=514, end=520) at grob.cc:464 #24 0x00000000004d5804 in Item::pure_height (this=0x1c9e4a0, g=0x1c9f9a0, start=514, end=520) at item.cc:251 #25 0x000000000064f234 in Axis_group_interface::relative_pure_height (me=<optimized out>, start=514, end=520) at axis-group-interface.cc:277 #26 0x000000000064faf3 in Axis_group_interface::pure_group_height (me=0x1c9f9a0, start=514, end=520) at axis-group-interface.cc:494 #27 0x000000000064fc14 in Axis_group_interface::pure_height (smob=<optimized out>, start_scm=<optimized out>, end_scm=<optimized out>) at axis-group-interface.cc:320 #28 0x000000318304b65d in scm_dapply (proc=0x7ff361309890, arg1=0x7ff361311bc0, args=0x7ff3569fa5a0) at eval.c:4927 #29 0x000000318304ea86 in deval (x=<optimized out>, env=<optimized out>) at eval.c:3750 #30 0x000000318304b7a7 in scm_dapply (proc=0x7ff35f2c9190, arg1=<optimized out>, args=0x7ff3569fa3d0) at eval.c:5012 #31 0x00000000004849b2 in Grob::pure_height (this=0x1c9f9a0, refp=0x1a3c450, start=514, end=520) at grob.cc:464 #32 0x0000000000650c4d in Axis_group_interface::adjacent_pure_heights (smob=<optimized out>) at axis-group-interface.cc:214 #33 0x000000318304b1e2 in scm_dapply (proc=0x7ff361307920, arg1=0x7ff35ee71860, args=0x404) at eval.c:4895 #34 0x00000000004e694a in Grob::try_callback_on_alist (this=0x1a3c450, alist=0x1a3c4b0, sym=0x7ff35f73e220, proc=0x7ff361307920) at grob-property.cc:231 #35 0x000000000064eea1 in Axis_group_interface::begin_of_line_pure_height (me=0x1a3c450, start=0) at axis-group-interface.cc:116 #36 0x000000000064f070 in Axis_group_interface::cached_pure_height (me=0x1a3c450, start=0, end=2147483647) at axis-group-interface.cc:95 #37 0x000000000064f2de in Axis_group_interface::relative_pure_height (me=0x1a3c450, start=0, end=2147483647) at axis-group-interface.cc:263 #38 0x000000000064faf3 in Axis_group_interface::pure_group_height (me=0x1a3c450, start=0, end=2147483647) at axis-group-interface.cc:494 #39 0x00000000004986ed in Hara_kiri_group_spanner::pure_height (smob=<optimized out>, start_scm=<optimized out>, end_scm=<optimized out>) at hara-kiri-group-spanner.cc:58 #40 0x000000318304b65d in scm_dapply (proc=0x7ff3612d83c0, arg1=0x7ff35ee71860, args=0x7ff3560ddc40) at eval.c:4927 #41 0x000000318304ea86 in deval (x=<optimized out>, env=<optimized out>) at eval.c:3750 #42 0x000000318304b7a7 in scm_dapply (proc=0x7ff35f2c9190, arg1=<optimized out>, args=0x7ff3560dda70) at eval.c:5012 #43 0x00000000004849b2 in Grob::pure_height (this=0x1a3c450, refp=0x1a3c450, start=0, end=2147483647) at grob.cc:464 #44 0x000000000068a26d in get_skylines (ret=0x7fffd214e770, end=2147483647, start=0, pure=true, a=Y_AXIS, elements=0x7fffd214e750, me=0x1a3d4f0) at /usr/include/c++/4.6.0/bits/stl_vector.h:831 #45 Align_interface::internal_get_minimum_translations (me=0x1a3d4f0, all_grobs=std::vector of length 3, capacity 4 = {...}, a=Y_AXIS, include_fixed_spacing=true, pure=true, start=0, end=2147483647) at align-interface.cc:191 #46 0x000000000068aed2 in Align_interface::get_pure_minimum_translations (me=<optimized out>, all_grobs=<optimized out>, a=<optimized out>, start=<optimized out>, end=<optimized out>) at align-interface.cc:159 #47 0x000000000068af2e in Align_interface::get_pure_child_y_translation (me=0x1a3d4f0, ch=0x1a3c1e0, start=0, end=2147483647) at align-interface.cc:307 #48 0x00000000004847a0 in Grob::pure_relative_y_coordinate (this=0x1a3c1e0, refp=0x19fc440, start=0, end=2147483647) at grob.cc:357 #49 0x0000000000484755 in Grob::pure_relative_y_coordinate (this=0x1a3bb50, refp=0x19fc440, start=0, end=2147483647) at grob.cc:359 #50 0x00000000004d582b in Item::pure_height (this=0x1a3bb50, g=0x19fc440, start=0, end=2147483647) at item.cc:253 #51 0x00000000006405ca in Separation_item::boxes (me=<optimized out>, left=<optimized out>) at separation-item.cc:147 #52 0x0000000000640941 in Separation_item::calc_skylines (smob=<optimized out>) at separation-item.cc:93 #53 0x000000318304b1e2 in scm_dapply (proc=0x7ff3612ff6f0, arg1=0x7ff35eea05f0, args=0x404) at eval.c:4895 #54 0x00000000004e694a in Grob::try_callback_on_alist (this=0x1a0d7f0, alist=0x1a0d850, sym=0x7ff35f73eba0, proc=0x7ff3612ff6f0) at grob-property.cc:231 #55 0x000000000051e1dc in Paper_column::minimum_distance (left=0x1a0d7f0, right=0x1a3c340) at paper-column.cc:170 #56 0x00000000004aa819 in Spacing_spanner::standard_breakable_column_spacing (me=0x1a3d440, l=0x1a0d7f0, r=0x1a3c340, options=0x7fffd214f340) at spacing-basic.cc:43 #57 0x000000000057ae3d in Spacing_spanner::breakable_column_spacing (me=0x1a3d440, l=0x1a0d7f0, r=0x1a3c340, options=0x7fffd214f340) at spacing-spanner.cc:523 #58 0x000000000057b7f2 in Spacing_spanner::generate_pair_spacing (me=0x1a3d440, left_col=0x1a0d7f0, right_col=0x1a3c340, after_right_col=<optimized out>, options= 0x7fffd214f340) at spacing-spanner.cc:210 #59 0x000000000057b981 in Spacing_spanner::generate_springs (me=0x1a3d440, cols=std::vector of length 359, capacity 512 = {...}, options=0x7fffd214f340) at spacing-spanner.cc:313 #60 0x000000000057bff1 in Spacing_spanner::set_springs (smob=<optimized out>) at spacing-spanner.cc:73 #61 0x000000318304b1e2 in scm_dapply (proc=0x7ff36127cd00, arg1=0x7ff35ee71560, args=0x404) at eval.c:4895 #62 0x00000000004e694a in Grob::try_callback_on_alist (this=0x1a3d440, alist=0x1a3d4a0, sym=0x7ff3609bcf00, proc=0x7ff36127cd00) at grob-property.cc:231 #63 0x0000000000638214 in System::pre_processing (this=0x19fc440) at system.cc:310 #64 0x00000000005639fd in Paper_score::process (this=0x19fc0d0) at paper-score.cc:141 #65 0x000000000055783f in ly_format_output (context=<optimized out>) at global-context-scheme.cc:45 #66 0x00000000005bedf0 in Score::book_rendering (this=0x19c4a00, layoutbook=0x16f0250, default_def=0x175f8c0) at score.cc:160 #67 0x0000000000551f48 in Book::process_score (this=<optimized out>, s=<optimized out>, output_paper_book=0x1891b70, layout=<optimized out>) at book.cc:236 #68 0x0000000000552199 in Book::process (this=0x16670f0, default_paper=<optimized out>, default_layout=0x175f8c0, parent_part=0x0) at book.cc:302 #69 0x00000000005eb0b4 in ly_book_process (book_smob=0x7ff35ef6e830, default_paper=0x7ff35d793b20, default_layout=0x7ff35d2e6090, output=0x7ff3606f8300) at book-scheme.cc:76 #70 0x000000318304b6ff in scm_dapply (proc=0x7ff3609f64f0, arg1=0x7ff3612c0310, args=0x7ff35ef6d450) at eval.c:4930 #71 0x000000318304cdfb in deval (x=<optimized out>, env=<optimized out>) at eval.c:4378 #72 0x00000000004fea0d in ly_parse_scm (s= 0x16658bd "(let ((book-handler (if (defined? 'default-toplevel-book-handler)\n", ' ' <repeats 25 times>, "default-toplevel-book-handler\n", ' ' <repeats 25 times>, "toplevel-book-handler)))\n (cond ((pair? toplevel-boo"..., n=0x7fffd214fdb8, i=..., safe=<optimized out>, parser=0x174b2a0) at parse-scm.cc:139 #73 0x00000000006a9a5c in Lily_lexer::yylex (this=0x174bc40) at lexer.ll:351 #74 0x00000000006adc10 in yyparse (my_lily_parser=0x174b2a0) at out/parser.cc:2471 #75 0x000000000069984f in Lily_parser::parse_file (this=0x174b2a0, init="init.ly", name=<optimized out>, out_name=<optimized out>) at lily-parser.cc:121 #76 0x00000000005d84dc in ly_parse_file (name=<optimized out>) at lily-parser-scheme.cc:123 #77 0x000000318304d140 in deval (x=<optimized out>, env=<optimized out>) at eval.c:4232 #78 0x000000318304b7a7 in scm_dapply (proc=0x7ff35ea1e360, arg1=<optimized out>, args=0x7ff35ea1e250) at eval.c:5012 #79 0x00000031830a4083 in scm_c_catch (tag=0x7ff3608ac6e0, body=0x31830a3e40 <scm_body_thunk>, body_data=0x7fffd2153460, handler=0x31830a3e30 <scm_handle_by_proc>, handler_data=0x7fffd2153458, pre_unwind_handler=0, pre_unwind_handler_data=0x7fffd2153450) at throw.c:203 #80 0x00000031830a428e in scm_catch_with_pre_unwind_handler (key=<optimized out>, thunk=<optimized out>, handler=0x7ff35ea1e2d0, pre_unwind_handler=0x204) at throw.c:587 #81 0x000000318304b6ff in scm_dapply (proc=0x7ff3609f64f0, arg1=0x7ff3613e98e0, args=0x7ff35ea1e2a0) at eval.c:4930 #82 0x000000318304cdfb in deval (x=<optimized out>, env=<optimized out>) at eval.c:4378 #83 0x000000318304c43c in deval (x=0x7ff35f0df4c0, env=0x7ff35ea1e500) at eval.c:3397 #84 0x000000318304b7a7 in scm_dapply (proc=0x7ff35ea21fc0, arg1=<optimized out>, args=0x7ff35ea21f30) at eval.c:5012 #85 0x00007ff35f511fc1 in scm_srfi1_for_each (proc=0x7ff35ea21fa0, arg1=0x7ff35f02f8c0, args=0x404) at srfi-1.c:1516 #86 0x000000318304cfda in deval (x=<optimized out>, env=<optimized out>) at eval.c:4367 #87 0x000000318304c43c in deval (x=0x7ff35f0ded60, env=0x7ff35f02f1a0) at eval.c:3397 #88 0x000000318304cc73 in deval (x=0x7ff35f02f3d0, env=0x7ff35f02f810) at eval.c:3648 #89 0x000000318304b7a7 in scm_dapply (proc=0x7ff35f0e4ac0, arg1=<optimized out>, args=0x7ff35f02f810) at eval.c:5012 #90 0x00000000005b94ad in main_with_guile () at main.cc:436 #91 0x0000003183066f0f in invoke_main_func (body_data=<optimized out>) at init.c:367 #92 0x000000318303da8a in c_body (d=0x7fffd21540b0) at continuations.c:349 #93 0x00000031830a4083 in scm_c_catch (tag=0x104, body=0x318303da80 <c_body>, body_data=0x7fffd21540b0, handler=0x318303daa0 <c_handler>, handler_data= 0x7fffd21540b0, pre_unwind_handler=0x31830a46b0 <scm_handle_by_message_noexit>, pre_unwind_handler_data=0x0) at throw.c:203 #94 0x000000318303e017 in scm_i_with_continuation_barrier (body=0x318303da80 <c_body>, body_data=0x7fffd21540b0, handler=0x318303daa0 <c_handler>, handler_data= 0x7fffd21540b0, pre_unwind_handler=<optimized out>, pre_unwind_handler_data=<optimized out>) at continuations.c:325 #95 0x000000318303e0b0 in scm_c_with_continuation_barrier (func=<optimized out>, data=<optimized out>) at continuations.c:367 #96 0x00000031830a2534 in scm_i_with_guile_and_parent (func=0x3183066ef0 <invoke_main_func>, data=0x7fffd2154110, parent=<optimized out>) at threads.c:733 #97 0x0000003183066fc5 in scm_boot_guile (argc=<optimized out>, argv=<optimized out>, main_func=<optimized out>, closure=<optimized out>) at init.c:350 #98 0x0000000000472e0f in main (argc=2, argv=0x7fffd2154268, envp=<optimized out>) at main.cc:631