Menu

#1291 R2 in single 4/4 measure produces "Object is not a markup." and "I am not spanned!"

Accepted
nobody
Warning (29)
Defect
2020-03-25
2010-10-04
Anonymous
No

Originally created by: *anonymous

Originally created by: brownian.box@gmail.com

Reported by Marnix Klooster and David Kastrup,
http://lists.gnu.org/archive/html/bug-lilypond/2010-10/msg00062.html
%---------------------8<-------------------------------

\version "2.12.4" % the same for 2.13.35
{ R2 }

[...]

We currently get
/tmp/junk2.ly:1:2: warning: barcheck failed at: 1/2
{
  R2 }
Preprocessing graphical objects...
programming error: Multi_measure_rest::get_rods (): I am not spanned!
continuing, cross fingers
programming error: Object is not a markup.
continuing, cross fingers
This object should be a markup: ()
programming error: Multi_measure_rest::get_rods (): I am not spanned!
continuing, cross fingers

Instead, the message better be either
Warning: multimeasure rest fails bar check
(in case that its length _is_ a full bar multiple)
or
Error: multimeasure rest size not a multiple of bar size
(in case that it could not work out anyway).

In case of a warning, error recovery needs to result in something
reasonably sensible.  If that is not feasible, one needs to create an
error instead.

A warning implies that Lilypond is going to do continue with reasonable
results.

--
David Kastrup
%---------------------8<-------------------------------

Again, not sure about priority. "barcheck failed" looks like medium; but "programming error" is closer to critical?..

Discussion

  • Google Importer

    Google Importer - 2011-01-17

    Originally posted by: Carl.D.S...@gmail.com

    Programming error is a graceful error, even if the message is not clear.

    Critical is for segfaults, where LilyPond does not give any output before failing.

    There are two deficiencies here, as I see them:

    1) The error messages are very cryptic.

    2) The output for R2 in 4/4 music is *not* a rest.  It's a half measure with nothing in it.

    \version 2.13.46
    
    \score {
      <<
      {R2}
      {c4 c c c}
      >>
    }
    

    Gives the attached file.

    To me, this looks like a low-priority issue.

    Labels: -Priority-High Priority-Low

     

    Last edit: Trevor Daniels 2015-09-27
  • Google Importer

    Google Importer - 2015-03-23

    Originally posted by: dak@gnu.org

    Issue 3316 has been merged into this issue.

     

    Related

    Issues: #3316

  • Google Importer

    Google Importer - 2015-03-23

    Originally posted by: dak@gnu.org

    (No comment was entered for this change.)

    Labels: -Priority-Low

     
  • Trevor Daniels

    Trevor Daniels - 2015-09-27
    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -5,16 +5,17 @@
     Reported by Marnix Klooster and David Kastrup,
     [http://lists.gnu.org/archive/html/bug-lilypond/2010-10/msg00062.html](http://lists.gnu.org/archive/html/bug-lilypond/2010-10/msg00062.html)
    
    -%---------------------8&lt;-------------------------------
    +~~~~
    +:::TeX
     \version "2.12.4" % the same for 2.13.35
    -\{ [r2] \}
    +{ R2 }
    
    -\[...\]
    -
    +[...]
    +~~~~
     We currently get
     /tmp/junk2.ly:1:2: warning: barcheck failed at: 1/2
     \{
    -&nbsp; [r2] \}
    +&nbsp; R2 \}
     Preprocessing graphical objects...
     programming error: Multi\_measure\_rest::get\_rods \(\): I am not spanned\!
     continuing, cross fingers
    
    • Needs: -->
    • Patch: -->
     
  • Trevor Daniels

    Trevor Daniels - 2015-09-27
    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -4,6 +4,7 @@
    
     Reported by Marnix Klooster and David Kastrup,
     [http://lists.gnu.org/archive/html/bug-lilypond/2010-10/msg00062.html](http://lists.gnu.org/archive/html/bug-lilypond/2010-10/msg00062.html)
    +%---------------------8&lt;-------------------------------
    
     ~~~~
     :::TeX
    
     
  • Valentin Villenave

    As part of my patch related to Issue 4375, I changed the error message to

    programming error: Multi measure rest seems misplaced.

    Which is at least more intelligible than getrods (): I am not spanned! (besides, that function’s no longer named get_rods).
    Maybe David’s suggestion would be better, though:

    multimeasure rest size not a multiple of bar size

    Or for more clarity

    Multi measure rest’s duration is not a multiple of the current measure length.

    Thoughts?

     

    Related

    Issues: #4375


    Last edit: Valentin Villenave 2020-03-25
    • Trevor Daniels

      Trevor Daniels - 2020-03-25

      Valentin, you wrote 25/03/2020 09:48:17

      As part of my patch related to Issue 4375, I changed the error message to

      programming error: Multi measure rest seems misplaced.
      Which is at least more intelligible than getrods (): I am not spanned! (besides, that function’s no longer named get_rods).

      Maybe David’s suggestion would be better, though:

      multimeasure rest size not a multiple of bar size
      Or for more clarity
      Multi measure rest’s duration is not a multiple of the current measure length.
      Thoughts?
      I prefer the last one.

      Trevor

       

      Related

      Issues: #4375

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.