2018-07-01 23:07 GMT+02:00 David Kastrup <d...@gnu.org>: > Thomas Morley <thomasmorle...@gmail.com> writes: > >> 2018-07-01 21:13 GMT+02:00 David Kastrup <d...@gnu.org>: >> >>> Perhaps try running under a debugger and setting a breakpoint on >>> ::warning (or so)? Then make a traceback when the warning is reached >>> (hopefully from the right point). >> >> Well, I don't know what I should do. I never did something like this. >> >> But I tried: >> >> gdb lilypond/usr/bin/lilypond >> [...] >> (gdb) break ::error >> Breakpoint 1 at 0x7ffff5b20390: file error.c, line 294. >> (gdb) run file-bug.ly >> [...] >> (gdb) bt >> No stack. >> >> >> Probably I did it not correctly. > > It's programming_error actually. > > dak@lola:/usr/local/tmp/lilypond$ cd /tmp > dak@lola:/tmp$ gdb /usr/local/tmp/lilypond/out/bin/lilypond > GNU gdb (Ubuntu 8.1-0ubuntu3) 8.1.0.20180409-git > Copyright (C) 2018 Free Software Foundation, Inc. > License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> > This is free software: you are free to change and redistribute it. > There is NO WARRANTY, to the extent permitted by law. Type "show copying" > and "show warranty" for details. > This GDB was configured as "x86_64-linux-gnu". > Type "show configuration" for configuration details. > For bug reporting instructions, please see: > <http://www.gnu.org/software/gdb/bugs/>. > Find the GDB manual and other documentation resources online at: > <http://www.gnu.org/software/gdb/documentation/>. > For help, type "help". > Type "apropos word" to search for commands related to "word"... > Reading symbols from /usr/local/tmp/lilypond/out/bin/lilypond...done. > (gdb) break programming_error > Breakpoint 1 at 0xc9880: programming_error. (3 locations) > (gdb) run /tmp/harm.ly > Starting program: /usr/local/tmp/lilypond/out/bin/lilypond /tmp/harm.ly > [Thread debugging using libthread_db enabled] > Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". > GNU LilyPond 2.21.0 > Processing `/tmp/harm.ly' > Parsing... > Interpreting music...[8][16] > Preprocessing graphical objects... > Finding the ideal number of pages... > Fitting music on 1 page... > Drawing systems... > Breakpoint 1, programming_error (s="no solution found for Bezier > intersection", location="") at warn.cc:190 > 190 { > (gdb) bt > #0 0x0000555555923ed0 in programming_error(std::__cxx11::basic_string<char, > std::char_traits<char>, std::allocator<char> > const&, > std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&) (s="no solution found for Bezier intersection", location="") at > warn.cc:190 > #1 0x0000555555757968 in Bezier::get_other_coordinate(Axis, double) const > (this=this@entry=0x5555562fb628, a=a@entry=X_AXIS, > x=x@entry=90.173852841682958) at bezier.cc:72 > #2 0x00005555557c576c in > Slur_configuration::score_extra_encompass(Slur_score_state const&) > (this=0x5555562fb5e0, state=...) at slur-configuration.cc:411 > #3 0x00005555557c6085 in > Slur_configuration::run_next_scorer(Slur_score_state const&) > (this=0x5555562fb5e0, state=...) at slur-configuration.cc:522 > #4 0x000055555576e1ab in Slur_score_state::get_best_curve() const > (this=this@entry=0x7fffffff8f20) at slur-scoring.cc:427 > #5 0x000055555576e406 in Slur::calc_control_points(scm_unused_struct*) > (smob=<optimized out>) at slur-scoring.cc:363 > #6 0x00007ffff7b1fb62 in scm_dapply (proc=0x7ffff3c03740, > arg1=0x7ffff01c1210, args=0x404) at eval.c:4895 > #7 0x000055555567e25d in Grob::try_callback_on_alist(scm_unused_struct**, > scm_unused_struct*, scm_unused_struct*) (proc=0x7ffff3c03740, > sym=0x7ffff2013c60, alist=0x55555611cd60, this=0x55555611cd00) at > grob-property.cc:232 > #8 0x000055555567e25d in Grob::internal_get_property(scm_unused_struct*) > const (sym=<optimized out>, this=<optimized out>) at grob-property.cc:184 > #9 0x000055555567e25d in > Grob::internal_get_pure_property(scm_unused_struct*, int, int) const > (end=<optimized out>, start=<optimized out>, sym=<optimized out>, > this=<optimized out>) > at grob-property.cc:201 > #10 0x000055555567e25d in > Grob::internal_get_maybe_pure_property(scm_unused_struct*, bool, int, int) > const (this=<optimized out>, sym=<optimized out>, pure=<optimized out>, > start=<optimized out>, end=<optimized out>) at grob-property.cc:212 > #11 0x0000555555624c1c in Slur::get_curve(Grob*) (me=0x55555611cd00) at > slur.cc:231 > #12 0x0000555555624c1c in Slur::print(scm_unused_struct*) (smob=<optimized > out>) at slur.cc:162 > #13 0x00007ffff7b1fb62 in scm_dapply (proc=0x7ffff3b309c0, > arg1=0x7ffff01c1210, args=0x404) at eval.c:4895 > #14 0x000055555567e25d in Grob::try_callback_on_alist(scm_unused_struct**, > scm_unused_struct*, scm_unused_struct*) (proc=0x7ffff3b309c0, > sym=0x7ffff328ae40, alist=0x55555611cd60, this=0x55555611cd00) at > grob-property.cc:232 > #15 0x000055555567e25d in Grob::internal_get_property(scm_unused_struct*) > const (sym=<optimized out>, this=<optimized out>) at grob-property.cc:184 > #16 0x000055555567e25d in > Grob::internal_get_pure_property(scm_unused_struct*, int, int) const > (end=<optimized out>, start=<optimized out>, sym=<optimized out>, > this=<optimized out>) > at grob-property.cc:201 > #17 0x000055555567e25d in > Grob::internal_get_maybe_pure_property(scm_unused_struct*, bool, int, int) > const (this=<optimized out>, sym=<optimized out>, pure=<optimized out>, > start=<optimized out>, end=<optimized out>) at grob-property.cc:212 > #18 0x0000555555619885 in Grob::get_stencil() const (this=0x55555611cd00) at > grob.cc:130 > #19 0x0000555555619885 in grob_stencil_extent (a=X_AXIS, me=0x55555611cd00) > at grob.cc:850 > #20 0x0000555555619885 in Grob::stencil_width(scm_unused_struct*) > (smob=<optimized out>) at grob.cc:907 > #21 0x00007ffff7b1fb62 in scm_dapply (proc=0x7ffff3b2dfd0, > arg1=0x7ffff01c1210, args=0x404) at eval.c:4895 > #22 0x000055555567e25d in Grob::try_callback_on_alist(scm_unused_struct**, > scm_unused_struct*, scm_unused_struct*) (proc=0x7ffff3b2dfd0, > sym=0x7ffff328c140, alist=0x55555611cd60, this=0x55555611cd00) at > grob-property.cc:232 > #23 0x000055555567e25d in Grob::internal_get_property(scm_unused_struct*) > const (sym=<optimized out>, this=<optimized out>) at grob-property.cc:184 > #24 0x000055555567e25d in > Grob::internal_get_pure_property(scm_unused_struct*, int, int) const > (end=<optimized out>, start=<optimized out>, sym=<optimized out>, > this=<optimized out>) > at grob-property.cc:201 > #25 0x000055555567e25d in > Grob::internal_get_maybe_pure_property(scm_unused_struct*, bool, int, int) > const (this=<optimized out>, sym=<optimized out>, pure=<optimized out>, > start=<optimized out>, end=<optimized out>) at grob-property.cc:212 > #26 0x000055555561fba4 in Grob::extent(Grob*, Axis) const > (this=this@entry=0x55555611cd00, refp=refp@entry=0x5555561c3d50, > a=a@entry=X_AXIS) at grob.cc:471 > #27 0x00005555556c21bb in > Axis_group_interface::relative_maybe_bound_group_extent(std::vector<Grob*, > std::allocator<Grob*> > const&, Grob*, Axis, bool) (elts=std::vector of > length 180, capacity 256 = {...}, common=common@entry=0x5555561c3d50, > a=a@entry=X_AXIS, bound=bound@entry=false) at axis-group-interface.cc:106 > #28 0x00005555556c2525 in > Axis_group_interface::relative_group_extent(std::vector<Grob*, > std::allocator<Grob*> > const&, Grob*, Axis) (a=X_AXIS, > common=0x5555561c3d50, elts=std::vector of length 180, capacity 256 = {...}) > at axis-group-interface.cc:91 > #29 0x00005555556c2525 in Axis_group_interface::generic_group_extent(Grob*, > Axis) (a=X_AXIS, me=0x5555563774e0) at axis-group-interface.cc:453 > #30 0x00005555556c2525 in Axis_group_interface::width(scm_unused_struct*) > (smob=<optimized out>) at axis-group-interface.cc:362 > #31 0x00007ffff7b1fb62 in scm_dapply (proc=0x7ffff3b8c720, > arg1=0x7fffef558a10, args=0x404) at eval.c:4895 > #32 0x000055555567e25d in Grob::try_callback_on_alist(scm_unused_struct**, > scm_unused_struct*, scm_unused_struct*) (proc=0x7ffff3b8c720, > sym=0x7ffff328c140, alist=0x555556377540, this=0x5555563774e0) at > grob-property.cc:232 > #33 0x000055555567e25d in Grob::internal_get_property(scm_unused_struct*) > const (sym=<optimized out>, this=<optimized out>) at grob-property.cc:184 > ---Type <return> to continue, or q <return> to quit--- > #34 0x000055555567e25d in > Grob::internal_get_pure_property(scm_unused_struct*, int, int) const > (end=<optimized out>, start=<optimized out>, sym=<optimized out>, > this=<optimized out>) > at grob-property.cc:201 > #35 0x000055555567e25d in > Grob::internal_get_maybe_pure_property(scm_unused_struct*, bool, int, int) > const (this=<optimized out>, sym=<optimized out>, pure=<optimized out>, > start=<optimized out>, end=<optimized out>) at grob-property.cc:212 > #36 0x000055555561fba4 in Grob::extent(Grob*, Axis) const > (this=this@entry=0x5555563774e0, refp=refp@entry=0x5555561c3d50, > a=a@entry=X_AXIS) at grob.cc:471 > #37 0x0000555555874451 in Staff_grouper_interface::get_extremal_staff(Grob*, > Grob*, Direction, Interval_t<double> const&) (me=me@entry=0x5555563780e0, > refpoint=refpoint@entry=0x5555561c3d50, dir=dir@entry=UP, iv=...) at > staff-grouper-interface.cc:47 > #38 0x000055555581bd42 in > Side_position_interface::move_to_extremal_staff(scm_unused_struct*) > (smob=<optimized out>) at side-position-interface.cc:470 > #39 0x00007ffff7b1fb62 in scm_dapply (proc=0x7ffff3c8a0c0, > arg1=0x7ffff0160ef0, args=0x404) at eval.c:4895 > #40 0x000055555567e25d in Grob::try_callback_on_alist(scm_unused_struct**, > scm_unused_struct*, scm_unused_struct*) (proc=0x7ffff3c8a0c0, > sym=0x7ffff328a900, alist=0x55555614caa0, this=0x55555614ca40) at > grob-property.cc:232 > #41 0x000055555567e25d in Grob::internal_get_property(scm_unused_struct*) > const (sym=<optimized out>, this=<optimized out>) at grob-property.cc:184 > #42 0x000055555567e25d in > Grob::internal_get_pure_property(scm_unused_struct*, int, int) const > (end=<optimized out>, start=<optimized out>, sym=<optimized out>, > this=<optimized out>) > at grob-property.cc:201 > #43 0x000055555567e25d in > Grob::internal_get_maybe_pure_property(scm_unused_struct*, bool, int, int) > const (this=<optimized out>, sym=<optimized out>, pure=<optimized out>, > start=<optimized out>, end=<optimized out>) at grob-property.cc:212 > #44 0x00005555555f733c in System::do_break_substitution_and_fixup_refpoints() > (this=0x555556073c60) at system.cc:187 > #45 0x0000555555687475 in Page_breaking::systems() > (this=this@entry=0x7fffffffa290) at page-breaking.cc:457 > #46 0x0000555555752079 in Optimal_page_breaking::solve() > (this=this@entry=0x7fffffffa290) at optimal-page-breaking.cc:218 > #47 0x000055555564d133 in ly_optimal_breaking(scm_unused_struct*) > (pb=<optimized out>) at page-breaking-scheme.cc:45 > #48 0x00007ffff7b1fb62 in scm_dapply (proc=0x7ffff3b43790, > arg1=0x7ffff0614770, args=0x404) at eval.c:4895 > #49 0x0000555555872e70 in Paper_book::pages() > (this=this@entry=0x555556051770) at paper-book.cc:653 > #50 0x000055555587316e in Paper_book::output_aux(scm_unused_struct*, bool, > long*, long*) (this=this@entry=0x555556051770, > output_channel=output_channel@entry=0x7ffff2f13620, > is_last=is_last@entry=true, > first_page_number=first_page_number@entry=0x7fffffffa590, > first_performance_number=first_performance_number@entry=0x7fffffffa598) at > paper-book.cc:148 > #51 0x000055555587340e in Paper_book::output(scm_unused_struct*) > (this=this@entry=0x555556051770, > output_channel=output_channel@entry=0x7ffff2f13620) at paper-book.cc:171 > #52 0x000055555575ab7b in ly_book_process(scm_unused_struct*, > scm_unused_struct*, scm_unused_struct*, scm_unused_struct*) > (book_smob=<optimized out>, default_paper=<optimized out>, > default_layout=0x7ffff0ae0970, output=0x7ffff2f13620) at book-scheme.cc:78 > #53 0x00007ffff7b1fd0f in scm_dapply (proc=0x7ffff32cc4f0, > arg1=0x7ffff3bf0980, args=0x7ffff0614790, args@entry=0x404) at eval.c:4930 > #54 0x00007ffff7b20cb8 in deval (x=<optimized out>, env=<optimized out>) at > eval.c:4378 > #55 0x00007ffff7b2a252 in scm_c_with_fluid (fluid=0x7ffff3287e20, > value=value@entry=0x7ffff06171a0, cproc=cproc@entry=0x55555589ccf0 > <catch_protected_eval_body(void*)>, cdata=cdata@entry=0x7fffffffa8d0) at > fluids.c:463 > #56 0x000055555589d156 in ly_eval_scm(scm_unused_struct*, Input, bool, > Lily_parser*) (form=form@entry=0x7ffff0617d50, i=..., safe=safe@entry=false, > parser=parser@entry=0x555555e5f030) > at parse-scm.cc:181 > #57 0x0000555555900ae4 in Lily_lexer::eval_scm(scm_unused_struct*, Input, > char) (this=this@entry=0x555555d84ce0, > readerdata=readerdata@entry=0x7ffff0617d50, hi=..., > extra_token=extra_token@entry=35 '#') at lexer.ll:1110 > #58 0x0000555555917a4c in Lily_lexer::eval_scm_token(scm_unused_struct*, > Input) (this=this@entry=0x555555d84ce0, sval=0x7ffff0617d50, w=...) at > ./include/lily-lexer.hh:63 > #59 0x000055555590d914 in yyparse(Lily_parser*, scm_unused_struct**) > (parser=parser@entry=0x555555e5f030, retval=retval@entry=0x7fffffffc7e0) at > parser.yy:452 > #60 0x00005555559179d4 in Lily_parser::do_yyparse_trampoline(void*) > (parser=parser@entry=0x555555e5f030) at parser.yy:4243 > #61 0x00007ffff7b2a252 in scm_c_with_fluid (fluid=0x7ffff3287ea0, > value=0x7ffff163c710, cproc=cproc@entry=0x5555559179b0 > <Lily_parser::do_yyparse_trampoline(void*)>, > cdata=cdata@entry=0x555555e5f030) at fluids.c:463 > #62 0x000055555590704e in Lily_parser::do_yyparse() > (this=this@entry=0x555555e5f030) at parser.yy:4236 > #63 0x0000555555806568 in > Lily_parser::parse_file(std::__cxx11::basic_string<char, > std::char_traits<char>, std::allocator<char> > const&, > std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, > std::allocator<char> > const&) (this=this@entry=0x555555e5f030, > init="init.ly", name="/tmp/harm.ly", out_name="harm") at lily-parser.cc:123 > #64 0x000055555584e080 in ly_parse_file(scm_unused_struct*) (name=<optimized > out>) at lily-parser-scheme.cc:121 > #65 0x00007ffff7b21def in deval (x=<optimized out>, x@entry=0x7ffff17d9780, > env=<optimized out>, env@entry=0x7ffff163c7a0) at eval.c:4232 > #66 0x00007ffff7b202dd in scm_dapply (proc=0x7ffff163c8b0, arg1=<optimized > out>, args=0x7ffff163c7a0) at eval.c:5012 > ---Type <return> to continue, or q <return> to quit--- > #67 0x00007ffff7b78de8 in scm_c_catch (tag=<optimized out>, > body=body@entry=0x7ffff7b786f0 <scm_body_thunk>, > body_data=body_data@entry=0x7fffffffd040, handler=0x7ffff7b78700 > <scm_handle_by_proc>, handler_data=handler_data@entry=0x7fffffffd038, > pre_unwind_handler=0x0, pre_unwind_handler_data=0x7fffffffd030) at throw.c:203 > #68 0x00007ffff7b78f0d in scm_catch_with_pre_unwind_handler (key=<optimized > out>, thunk=<optimized out>, handler=<optimized out>, > pre_unwind_handler=<optimized out>) at throw.c:587 > #69 0x00007ffff7b1fd0f in scm_dapply (proc=0x7ffff32cc4f0, > arg1=0x7ffff3cbf8e0, args=0x7ffff163c7f0, args@entry=0x404) at eval.c:4930 > #70 0x00007ffff7b20cb8 in deval (x=<optimized out>, env=<optimized out>, > env@entry=0x7ffff163ca50) at eval.c:4378 > #71 0x00007ffff7b20f2f in deval (x=0x7ffff17dc930, x@entry=0x7ffff17dcf50, > env=0x7ffff163ca50, env@entry=0x7ffff16421e0) at eval.c:3397 > #72 0x00007ffff7b202dd in scm_dapply (proc=0x7ffff1642c00, arg1=<optimized > out>, args=0x7ffff16421e0) at eval.c:5012 > #73 0x00007ffff1de65e0 in scm_srfi1_for_each (proc=0x7ffff1642a80, > arg1=0x7ffff163df90, args=<optimized out>) at srfi-1.c:1516 > #74 0x00007ffff7b21055 in deval (x=<optimized out>, env=<optimized out>, > env@entry=0x7ffff163d8e0) at eval.c:4509 > #75 0x00007ffff7b20f2f in deval (x=0x7ffff17dbe20, env=0x7ffff163d8e0, > env@entry=0x7ffff163df50) at eval.c:3397 > #76 0x00007ffff7b21c13 in deval (x=0x7ffff163db10, x@entry=0x7ffff17e20a0, > env=env@entry=0x7ffff163df50) at eval.c:3648 > #77 0x00007ffff7b202dd in scm_dapply (proc=0x7ffff17e1ac0, arg1=<optimized > out>, args=0x7ffff163df50) at eval.c:5012 > #78 0x00005555557716c0 in Scm_variable::operator()(scm_unused_struct*) > (arg1=<optimized out>, this=<optimized out>) at ./include/lily-modules.hh:73 > #79 0x00005555557716c0 in main_with_guile(void*, int, char**) () at > main.cc:539 > #80 0x00007ffff7b3ae0f in invoke_main_func (body_data=0x7fffffffdc30) at > init.c:367 > #81 0x00007ffff7b1246a in c_body (d=d@entry=0x7fffffffdbd0) at > continuations.c:349 > #82 0x00007ffff7b78de8 in scm_c_catch (tag=tag@entry=0x104, > body=body@entry=0x7ffff7b12460 <c_body>, > body_data=body_data@entry=0x7fffffffdbd0, > handler=handler@entry=0x7ffff7b12480 <c_handler>, > handler_data=handler_data@entry=0x7fffffffdbd0, > pre_unwind_handler=pre_unwind_handler@entry=0x7ffff7b793d0 > <scm_handle_by_message_noexit>, pre_unwind_handler_data=0x0) at throw.c:203 > #83 0x00007ffff7b12a44 in scm_i_with_continuation_barrier > (body=body@entry=0x7ffff7b12460 <c_body>, > body_data=body_data@entry=0x7fffffffdbd0, > handler=handler@entry=0x7ffff7b12480 <c_handler>, > handler_data=handler_data@entry=0x7fffffffdbd0, > pre_unwind_handler=0x7ffff7b793d0 <scm_handle_by_message_noexit>, > pre_unwind_handler_data=pre_unwind_handler_data@entry=0x0) at > continuations.c:325 > #84 0x00007ffff7b12b20 in scm_c_with_continuation_barrier > (func=func@entry=0x7ffff7b3adf0 <invoke_main_func>, > data=data@entry=0x7fffffffdc30) at continuations.c:367 > #85 0x00007ffff7b77176 in scm_i_with_guile_and_parent (func=0x7ffff7b3adf0 > <invoke_main_func>, data=0x7fffffffdc30, parent=<optimized out>) at > threads.c:733 > #86 0x00007ffff7b3af85 in scm_boot_guile (argc=<optimized out>, > argv=<optimized out>, main_func=<optimized out>, closure=<optimized out>) at > init.c:350 > #87 0x0000555555599def in main(int, char**, char**) (argc=2, > argv=0x7fffffffddf8, envp=<optimized out>) at main.cc:853 > (gdb) > > I have to see what to make of that.
Good luck... Thanks for posting the entire commands and their returnings. I've studied what you did, probably (likely?) I can do it myself next time. Thanks, Harm _______________________________________________ bug-lilypond mailing list bug-lilypond@gnu.org https://lists.gnu.org/mailman/listinfo/bug-lilypond