bug-lilypond
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: no solution found for Bezier intersection


From: Thomas Morley
Subject: Re: no solution found for Bezier intersection
Date: Sun, 1 Jul 2018 23:19:49 +0200

2018-07-01 23:07 GMT+02:00 David Kastrup <address@hidden>:
> Thomas Morley <address@hidden> writes:
>
>> 2018-07-01 21:13 GMT+02:00 David Kastrup <address@hidden>:
>>
>>> 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.
>
> address@hidden:/usr/local/tmp/lilypond$ cd /tmp
> address@hidden:/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 
> (address@hidden, address@hidden, address@hidden) 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 
> (address@hidden) 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 (address@hidden, 
> address@hidden, address@hidden) 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 = {...}, address@hidden, address@hidden, 
> address@hidden) 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 (address@hidden, 
> address@hidden, address@hidden) at grob.cc:471
> #37 0x0000555555874451 in Staff_grouper_interface::get_extremal_staff(Grob*, 
> Grob*, Direction, Interval_t<double> const&) (address@hidden, address@hidden, 
> address@hidden, 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() (address@hidden) at 
> page-breaking.cc:457
> #46 0x0000555555752079 in Optimal_page_breaking::solve() (address@hidden) 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() (address@hidden) at 
> paper-book.cc:653
> #50 0x000055555587316e in Paper_book::output_aux(scm_unused_struct*, bool, 
> long*, long*) (address@hidden, address@hidden, address@hidden, 
> address@hidden, address@hidden) at paper-book.cc:148
> #51 0x000055555587340e in Paper_book::output(scm_unused_struct*) 
> (address@hidden, address@hidden) 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, address@hidden) 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, 
> address@hidden, address@hidden <catch_protected_eval_body(void*)>, 
> address@hidden) at fluids.c:463
> #56 0x000055555589d156 in ly_eval_scm(scm_unused_struct*, Input, bool, 
> Lily_parser*) (address@hidden, i=..., address@hidden, address@hidden)
>     at parse-scm.cc:181
> #57 0x0000555555900ae4 in Lily_lexer::eval_scm(scm_unused_struct*, Input, 
> char) (address@hidden, address@hidden, hi=..., address@hidden '#') at 
> lexer.ll:1110
> #58 0x0000555555917a4c in Lily_lexer::eval_scm_token(scm_unused_struct*, 
> Input) (address@hidden, sval=0x7ffff0617d50, w=...) at 
> ./include/lily-lexer.hh:63
> #59 0x000055555590d914 in yyparse(Lily_parser*, scm_unused_struct**) 
> (address@hidden, address@hidden) at parser.yy:452
> #60 0x00005555559179d4 in Lily_parser::do_yyparse_trampoline(void*) 
> (address@hidden) at parser.yy:4243
> #61 0x00007ffff7b2a252 in scm_c_with_fluid (fluid=0x7ffff3287ea0, 
> value=0x7ffff163c710, address@hidden 
> <Lily_parser::do_yyparse_trampoline(void*)>, address@hidden) at fluids.c:463
> #62 0x000055555590704e in Lily_parser::do_yyparse() (address@hidden) 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&) (address@hidden, 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>, address@hidden, 
> env=<optimized out>, address@hidden) 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>, address@hidden 
> <scm_body_thunk>, address@hidden, handler=0x7ffff7b78700 
> <scm_handle_by_proc>, address@hidden, 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, address@hidden) at eval.c:4930
> #70 0x00007ffff7b20cb8 in deval (x=<optimized out>, env=<optimized out>, 
> address@hidden) at eval.c:4378
> #71 0x00007ffff7b20f2f in deval (x=0x7ffff17dc930, address@hidden, 
> env=0x7ffff163ca50, address@hidden) 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>, 
> address@hidden) at eval.c:4509
> #75 0x00007ffff7b20f2f in deval (x=0x7ffff17dbe20, env=0x7ffff163d8e0, 
> address@hidden) at eval.c:3397
> #76 0x00007ffff7b21c13 in deval (x=0x7ffff163db10, address@hidden, 
> address@hidden) 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 (address@hidden) at continuations.c:349
> #82 0x00007ffff7b78de8 in scm_c_catch (address@hidden, address@hidden 
> <c_body>, address@hidden, address@hidden <c_handler>, address@hidden, 
> address@hidden <scm_handle_by_message_noexit>, pre_unwind_handler_data=0x0) 
> at throw.c:203
> #83 0x00007ffff7b12a44 in scm_i_with_continuation_barrier (address@hidden 
> <c_body>, address@hidden, address@hidden <c_handler>, address@hidden, 
> pre_unwind_handler=0x7ffff7b793d0 <scm_handle_by_message_noexit>, 
> address@hidden) at continuations.c:325
> #84 0x00007ffff7b12b20 in scm_c_with_continuation_barrier (address@hidden 
> <invoke_main_func>, address@hidden) 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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]