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

Reply via email to