Re: 2.15.12 regtest problems
On Fri, 23 Sep 2011 00:07:39 -0700, m...@apollinemike.com wrote: On Sep 23, 2011, at 8:56 AM, Keith OHara wrote: On Thu, 22 Sep 2011 23:11:08 -0700, m...@apollinemike.com wrote: On Sep 23, 2011, at 6:38 AM, Keith OHara wrote: Phil Holmes philholmes.net> writes: There are 2 significant problems I've found with 2.15.12. The first is shown in the Les Nereides regtest - a fingering indication goes missing. Confirming. The missing fingering indication is hidden under a note head in the other voice. The change from Stem to Flag for 2.15.12 is necessary to see the problem. I'll try to reduce to a minimal example but it will take a while; there are lots of interacting overrides in that torture-test. \relative f { \voiceOne e''8( e e c)-1-2 } Also compiles fine on current master...weird... Version 2.15.12 on Linux compiles this just fine, so it is an issue of different systems handling floating point differently. That makes this difficult to track as a bug. I see a classic error in bezier.cc, introduced in Joe's "cleanup and generalizations" commit between 2.15.11 and .12, and very likely the cause of the problem, so I pushed an ugly FIXME comment. Probably this weekend I could replace this part with safe floating-point code. ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: 2.15.12 regtest problems
"m...@apollinemike.com" writes: > When I say "the problem is limited to a specific case," I mean that I > am not sure if these two bugs (fingerings being gobbled up and the > StrokeFinger issue) are related, not that my patch seeks to address a > specific symptom of a bug without eliminating the cause. Well, I said "it may be just your choice of words". You know, "being paranoid does not mean that they are not after you". -- David Kastrup ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: 2.15.12 regtest problems
On Sep 23, 2011, at 11:26 AM, David Kastrup wrote: > "m...@apollinemike.com" writes: > >> On Sep 23, 2011, at 10:16 AM, Keith OHara wrote: >> >>> On Fri, 23 Sep 2011 01:03:33 -0700, m...@apollinemike.com >>> wrote: >>> Slur::outside_callback has changed, however (see dd855b6da30a050359a94ac719e0fc37a2fca666). Perhaps this fixes the problem? >>> >>> Maybe. You'll have to ask the author of dd855b if that might have >>> affected problems >>> associated with the "no solution found for Bezier intersection" message. >>> >>> He or she might be able to explain the 'weirdness'. >>> >> >> As said author, I'm positive that I created this patch to fix a report >> from a user that a binary was emitting "no solution found for Bezier >> intersection." However, it was limited to a specific case >> (StrokeFinger), and I'm not sure if this problem is also the cause of >> the issues being kicked around in the present thread. That being >> said, I'll try in the next couple days to rewind before that commit, >> compile, and see if I get programming_erros from bezier.cc. > > Mike, this kind of description really gives me the shivers. It sounds > like papering over problems wherever they randomly get exposed, thus > actually hiding bugs rather than fixing them. > I don't think the problem was randomly exposed, nor do I think the current solution hides a bug. >From my initial e-mail regarding the patch that I ultimately applied to >current master: --snip-- The issue is that the offset callback is tacked onto outside-staff objects before we know if the object falls within the span of the slur. Thus, even though these objects are weeded out of slur scoring in score_extra_ecompasses, the callback function doesn't know they've been weeded out and a separate weeding out needs to happen. This patch does that. --snip-- > It may be just your choice of words, but don't make it harder for others > to track down bugs that you don't know the real cause or fix for. We > can't really hope to find anybody more skilled at finding a bug than you > are skilled at hiding it. The above text from my original e-mail is my assertion that: (a) I think I know the real cause (meaning that the cause does not run deeper than the issue as reported in my e-mail); and (b) The proposed patch is my best stab at fixing it. If anyone disagreed with (or still disagrees with) my logic, it is important that the issue be raised ASAP (during the patch review process if possible). When I say "the problem is limited to a specific case," I mean that I am not sure if these two bugs (fingerings being gobbled up and the StrokeFinger issue) are related, not that my patch seeks to address a specific symptom of a bug without eliminating the cause. Cheers, MS ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: 2.15.12 regtest problems
"m...@apollinemike.com" writes: > On Sep 23, 2011, at 10:16 AM, Keith OHara wrote: > >> On Fri, 23 Sep 2011 01:03:33 -0700, m...@apollinemike.com >> wrote: >> >>> >>> Slur::outside_callback has changed, however (see >>> dd855b6da30a050359a94ac719e0fc37a2fca666). >>> >>> Perhaps this fixes the problem? >>> >> >> Maybe. You'll have to ask the author of dd855b if that might have >> affected problems >> associated with the "no solution found for Bezier intersection" message. >> >> He or she might be able to explain the 'weirdness'. >> > > As said author, I'm positive that I created this patch to fix a report > from a user that a binary was emitting "no solution found for Bezier > intersection." However, it was limited to a specific case > (StrokeFinger), and I'm not sure if this problem is also the cause of > the issues being kicked around in the present thread. That being > said, I'll try in the next couple days to rewind before that commit, > compile, and see if I get programming_erros from bezier.cc. Mike, this kind of description really gives me the shivers. It sounds like papering over problems wherever they randomly get exposed, thus actually hiding bugs rather than fixing them. It may be just your choice of words, but don't make it harder for others to track down bugs that you don't know the real cause or fix for. We can't really hope to find anybody more skilled at finding a bug than you are skilled at hiding it. -- David Kastrup ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: 2.15.12 regtest problems
On Sep 23, 2011, at 10:16 AM, Keith OHara wrote: > On Fri, 23 Sep 2011 01:03:33 -0700, m...@apollinemike.com > wrote: > >> >> Slur::outside_callback has changed, however (see >> dd855b6da30a050359a94ac719e0fc37a2fca666). >> >> Perhaps this fixes the problem? >> > > Maybe. You'll have to ask the author of dd855b if that might have affected > problems > associated with the "no solution found for Bezier intersection" message. > > He or she might be able to explain the 'weirdness'. > As said author, I'm positive that I created this patch to fix a report from a user that a binary was emitting "no solution found for Bezier intersection." However, it was limited to a specific case (StrokeFinger), and I'm not sure if this problem is also the cause of the issues being kicked around in the present thread. That being said, I'll try in the next couple days to rewind before that commit, compile, and see if I get programming_erros from bezier.cc. Cheers, MS ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: 2.15.12 regtest problems
On Fri, 23 Sep 2011 01:03:33 -0700, m...@apollinemike.com wrote: Slur::outside_callback has changed, however (see dd855b6da30a050359a94ac719e0fc37a2fca666). Perhaps this fixes the problem? Maybe. You'll have to ask the author of dd855b if that might have affected problems associated with the "no solution found for Bezier intersection" message. He or she might be able to explain the 'weirdness'. ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: 2.15.12 regtest problems
On Sep 23, 2011, at 10:00 AM, Keith OHara wrote: > On Fri, 23 Sep 2011 00:07:39 -0700, m...@apollinemike.com > wrote: > >>> \relative f { >>> \voiceOne >>> e''8( e >>> e c)-1-2 >>> } >> >> Also compiles fine on current master...weird... >> > > > The problem is associated with the message "no solution found for Bezier > intersection" > in bezier.cc, which seems it would return 0.0 to slur_outside_callback. It is > easy > to believe that would misplace the fingering that is trying to avoid the slur. > > bezier.cc hasn't changed since 2.15.12 > Slur::outside_callback has changed, however (see dd855b6da30a050359a94ac719e0fc37a2fca666). Perhaps this fixes the problem? Cheers, MS ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: 2.15.12 regtest problems
On Fri, 23 Sep 2011 00:07:39 -0700, m...@apollinemike.com wrote: \relative f { \voiceOne e''8( e e c)-1-2 } Also compiles fine on current master...weird... The problem is associated with the message "no solution found for Bezier intersection" in bezier.cc, which seems it would return 0.0 to slur_outside_callback. It is easy to believe that would misplace the fingering that is trying to avoid the slur. bezier.cc hasn't changed since 2.15.12 Probably a difference in evaluation between Linux and Windows builds. Floating point evaluation can vary a little, but we should be able to make those variations not matter. The only suspicious-looking thing I see is the use of only the first and last solutions returned by the polynomial root-finder. ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: 2.15.12 regtest problems
On Fri, Sep 23, 2011 at 09:07:39AM +0200, m...@apollinemike.com wrote: > On Sep 23, 2011, at 8:56 AM, Keith OHara wrote: > > > \relative f { > >\voiceOne > >e''8( e > >e c)-1-2 > > } > > Also compiles fine on current master...weird... FWIW, I can confirm this. With 13d24779fd6b71e8130f785063dd112bfd9f8511 I see the expected output, with two clearly visible fingers. (on Keith's other example, I saw 3 clearly visible fingers, exactly as I would expect from looking at the input) I guess there's some odd combination of slur position and floating-point rounding errors? This seems very weird... :( Cheers, - Graham ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: 2.15.12 regtest problems
On Sep 23, 2011, at 8:56 AM, Keith OHara wrote:On Thu, 22 Sep 2011 23:11:08 -0700, m...@apollinemike.comwrote:On Sep 23, 2011, at 6:38 AM, Keith OHara wrote:Phil Holmes philholmes.net> writes:There are 2 significant problems I've found with 2.15.12. The first isshown in the Les Nereides regtest - a fingering indication goes missing.Confirming. The missing fingering indication is hidden under a note headin the other voice. The change from Stem to Flag for 2.15.12 is necessaryto see the problem. I'll try to reduce to a minimal example but it willtake a while; there are lots of interacting overrides in that torture-test.\relative f { \voiceOne e''8( e e c)-1-2}Also compiles fine on current master...weird...Cheers,MS___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: 2.15.12 regtest problems
On Sep 23, 2011, at 8:41 AM, Keith OHara wrote: > mike apollinemike.com apollinemike.com> writes: > >> On Sep 23, 2011, at 6:38 AM, Keith OHara wrote: >> >>> Phil Holmes philholmes.net> writes: There are 2 significant problems I've found with 2.15.12. The first is shown in the Les Nereides regtest - a fingering indication goes missing. >>> Confirming. The missing fingering indication is hidden under a note head >>> in the other voice. The change from Stem to Flag for 2.15.12 is necessary >>> to see the problem. I'll try to reduce to a minimal example but it will >>> take a while; there are lots of interacting overrides in that torture-test. >>> >> >> I just compiled the file and I see the fingering indications just fine - I > don't think any of the indications >> are hidden under noteheads (I could be reading the regtest file wrong, > however). > > This is as far as I got toward a tiny example: > > \paper {ragged-right = ##t } > \relative f { > \key a \major > s1 \break > \stemUp > r8 a'''8^( gis fis > gis fis e)-1-4-5 r > } > This compiles fine on current master (unoptimized build). Cheers, MS ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: 2.15.12 regtest problems
On Thu, 22 Sep 2011 23:11:08 -0700, m...@apollinemike.com wrote: On Sep 23, 2011, at 6:38 AM, Keith OHara wrote: Phil Holmes philholmes.net> writes: There are 2 significant problems I've found with 2.15.12. The first is shown in the Les Nereides regtest - a fingering indication goes missing. Confirming. The missing fingering indication is hidden under a note head in the other voice. The change from Stem to Flag for 2.15.12 is necessary to see the problem. I'll try to reduce to a minimal example but it will take a while; there are lots of interacting overrides in that torture-test. \relative f { \voiceOne e''8( e e c)-1-2 }<>___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: 2.15.12 regtest problems
mike apollinemike.com apollinemike.com> writes: > On Sep 23, 2011, at 6:38 AM, Keith OHara wrote: > > > Phil Holmes philholmes.net> writes: > >> > >> There are 2 significant problems I've found with 2.15.12. The first is > >> shown in the Les Nereides regtest - a fingering indication goes missing. > >> > > Confirming. The missing fingering indication is hidden under a note head > > in the other voice. The change from Stem to Flag for 2.15.12 is necessary > > to see the problem. I'll try to reduce to a minimal example but it will > > take a while; there are lots of interacting overrides in that torture-test. > > > > I just compiled the file and I see the fingering indications just fine - I don't think any of the indications > are hidden under noteheads (I could be reading the regtest file wrong, however). This is as far as I got toward a tiny example: \paper {ragged-right = ##t } \relative f { \key a \major s1 \break \stemUp r8 a'''8^( gis fis gis fis e)-1-4-5 r } The 2.15.12 build for Windows puts 1 4 and 5 all on top of each other. The problem is associated with "no solution found for Bezier intersection" so it frustratingly goes away when the slur changes shape slightly. Note that 2.15.12 is after Joe's commit "Cleanups and generalizations in Bezier::minmax." ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: 2.15.12 regtest problems
On Sep 23, 2011, at 6:38 AM, Keith OHara wrote: > Phil Holmes philholmes.net> writes: >> >> There are 2 significant problems I've found with 2.15.12. The first is >> shown in the Les Nereides regtest - a fingering indication goes missing. >> > Confirming. The missing fingering indication is hidden under a note head > in the other voice. The change from Stem to Flag for 2.15.12 is necessary > to see the problem. I'll try to reduce to a minimal example but it will > take a while; there are lots of interacting overrides in that torture-test. > I just compiled the file and I see the fingering indications just fine - I don't think any of the indications are hidden under noteheads (I could be reading the regtest file wrong, however). >> The second is performance. On longer scores, 2.15.12 is _much_ slower. > Confirming. On average compilation takes 1.5 times as long as it did with > 2.14.2, so not as bad as your factor of 2. > This could be the Flag or Stem work...I'll try to dig deeper over the next couple days. Cheers, MS ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: 2.15.12 regtest problems
Phil Holmes philholmes.net> writes: > I've not been able to check much more, because of subtle differences between > the treble clef in 15.12 and 15.10, but that's a starter. But the G clef changed between .8 and .9 ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: 2.15.12 regtest problems
Phil Holmes philholmes.net> writes: > > There are 2 significant problems I've found with 2.15.12. The first is > shown in the Les Nereides regtest - a fingering indication goes missing. > Confirming. The missing fingering indication is hidden under a note head in the other voice. The change from Stem to Flag for 2.15.12 is necessary to see the problem. I'll try to reduce to a minimal example but it will take a while; there are lots of interacting overrides in that torture-test. > The second is performance. On longer scores, 2.15.12 is _much_ slower. Confirming. On average compilation takes 1.5 times as long as it did with 2.14.2, so not as bad as your factor of 2. ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: 2.15.12 regtest problems
- Original Message - From: "Graham Percival" To: "Phil Holmes" Cc: "Devel" Sent: Thursday, September 22, 2011 5:38 PM Subject: Re: 2.15.12 regtest problems On Thu, Sep 22, 2011 at 02:46:38PM +0100, Phil Holmes wrote: There are 2 significant problems I've found with 2.15.12. Could we get issues for these? I should probably cancel the release countdown. Cheers, - Graham Willdo tomorrow. Just wanted to give a heads up first. -- Phil Holmes ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: 2.15.12 regtest problems
On 22 September 2011 17:38, Graham Percival wrote: > On Thu, Sep 22, 2011 at 02:46:38PM +0100, Phil Holmes wrote: >> There are 2 significant problems I've found with 2.15.12. > > Could we get issues for these? I should probably cancel the > release countdown. I can't verify either problem here. The missing fingering would've shown up in the regtest comparison, and running the snippet locally produces correct output. Master is faster on my system than 2.15.10 (both optimised and unoptimised), mainly due to the lack of cyclic redundancy error spamming. Cheers, Neil ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: 2.15.12 regtest problems
On Thu, Sep 22, 2011 at 02:46:38PM +0100, Phil Holmes wrote: > There are 2 significant problems I've found with 2.15.12. Could we get issues for these? I should probably cancel the release countdown. Cheers, - Graham ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: 2.15.12 regtest problems
"Phil Holmes" writes: > - Original Message - > From: "David Kastrup" > To: > Sent: Thursday, September 22, 2011 3:01 PM > Subject: Re: 2.15.12 regtest problems > > >> "Phil Holmes" writes: >> >>> There are 2 significant problems I've found with 2.15.12. The first >>> is shown in the Les Nereides regtest - a fingering indication goes >>> missing. I've attached a crop of the difference between 2.15.12 and >>> 2.15.10 - 2.15.12 is in red. You'll see that the 1 on the top of the >>> note in bar 5 has gone. >>> >>> The second is performance. On longer scores, 2.15.12 is _much_ >>> slower. An example is the mozart horn regtest, which has gone from >>> about 14 seconds to 27 seconds on my system. >> >> Just to make sure it is not again me who is at fault: could you quickly >> check that the delay does not appear to happen already before the >> "Interpreting music" message? While it is quite unlikely that the >> parser will burn through significant time, it would be reassuring to >> have this doubt out of the way. > > Visually, it looks like it's the "Preprocessing graphical objects" > that's slower. Sounds like Mike. -- David Kastrup ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: 2.15.12 regtest problems
- Original Message - From: "David Kastrup" To: Sent: Thursday, September 22, 2011 3:01 PM Subject: Re: 2.15.12 regtest problems "Phil Holmes" writes: There are 2 significant problems I've found with 2.15.12. The first is shown in the Les Nereides regtest - a fingering indication goes missing. I've attached a crop of the difference between 2.15.12 and 2.15.10 - 2.15.12 is in red. You'll see that the 1 on the top of the note in bar 5 has gone. The second is performance. On longer scores, 2.15.12 is _much_ slower. An example is the mozart horn regtest, which has gone from about 14 seconds to 27 seconds on my system. Just to make sure it is not again me who is at fault: could you quickly check that the delay does not appear to happen already before the "Interpreting music" message? While it is quite unlikely that the parser will burn through significant time, it would be reassuring to have this doubt out of the way. -- David Kastrup Visually, it looks like it's the "Preprocessing graphical objects" that's slower. -- Phil Holmes ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: 2.15.12 regtest problems
"Phil Holmes" writes: > There are 2 significant problems I've found with 2.15.12. The first > is shown in the Les Nereides regtest - a fingering indication goes > missing. I've attached a crop of the difference between 2.15.12 and > 2.15.10 - 2.15.12 is in red. You'll see that the 1 on the top of the > note in bar 5 has gone. > > The second is performance. On longer scores, 2.15.12 is _much_ > slower. An example is the mozart horn regtest, which has gone from > about 14 seconds to 27 seconds on my system. Just to make sure it is not again me who is at fault: could you quickly check that the delay does not appear to happen already before the "Interpreting music" message? While it is quite unlikely that the parser will burn through significant time, it would be reassuring to have this doubt out of the way. -- David Kastrup ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
2.15.12 regtest problems
There are 2 significant problems I've found with 2.15.12. The first is shown in the Les Nereides regtest - a fingering indication goes missing. I've attached a crop of the difference between 2.15.12 and 2.15.10 - 2.15.12 is in red. You'll see that the 1 on the top of the note in bar 5 has gone. The second is performance. On longer scores, 2.15.12 is _much_ slower. An example is the mozart horn regtest, which has gone from about 14 seconds to 27 seconds on my system. I've not been able to check much more, because of subtle differences between the treble clef in 15.12 and 15.10, but that's a starter. -- Phil Holmes <>___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel