- **status**: New --> Invalid
- **assigned_to**: David Kastrup
- **Type**: Crash --> Defect
- **Comment**:

I am not sure how to deal with this now.  Since issue #5386 has been committed, 
this one does not result in a crash.  Instead one gets
~~~
GNU LilyPond 2.21.0
Processing `bab.ly'
Parsing...
Interpreting music...
Preprocessing graphical objects...
bab.ly:9:36: warning: Stem.length: giving up on cloned grob transform
\test { \once\offset length 1 Stem 
                                   4 }
Finding the ideal number of pages...
Fitting music on 1 page...
Drawing systems...
bab.ly:9:36: warning: Stem.length: giving up on cloned grob transform
\test { \once\offset length 1 Stem 
                                   4 }
Layout output to `/tmp/lilypond-M8OdI4'...
Converting to `bab.pdf'...
Deleting `/tmp/lilypond-M8OdI4'...
Success: compilation successfully completed
~~~
Visual output is probably closer to what the user expected than otherwise 
(since the "correct" effect would be applying `\offset` twice, lengthening the 
single Stem by double the amount) but that may change in future versions, so 
warning is quite appropriate.

So since the core of this bug report and most certainly the crash does no 
longer occur, I am marking this as "invalid".  Further comments likely are 
better applied to issue #5386.



---

** [issues:#5383] Crash with simultaneous-duplicating music function and \once 
\offset **

**Status:** Invalid
**Created:** Mon Jul 16, 2018 05:45 AM UTC by pkx166h
**Last Updated:** Mon Jul 16, 2018 07:44 AM UTC
**Owner:** David Kastrup


On 2018-07-15 18:21, Simon Albrecht wrote:

    Hello everybody,


    this combination of a custom music function that combines the music

    simultaneously with itself and a \once\offset command causes LilyPond

    to crash (exit with return code 11):


    %%%%%%%%%%%%

    \version "2.19.82"

    test =

    #(define-music-function (parser location mus) (ly:music?)

      #{ << $mus $mus >> #})


    \test { \once\offset length 1 Stem 4 }

    %%%%%%%%%%%%
    
***

On Sun, 15 Jul 2018 20:09:52 -0700, Aaron Hill wrote:

Seems the custom music function is not needed to reproduce a crash.

%%%%
\version "2.19.82"
music = { \once \offset length 5 Stem 4 4 }
<< \music \music >>
%%%%

This also results in:

    GNU LilyPond 2.19.82

    Processing `crash.ly'

    Parsing...

    Interpreting music...

    Preprocessing graphical objects...

    fish: “lilypond crash.ly” terminated by signal SIGSEGV (Address

    boundary error)


Omitting the \once lets the example compile. And use of \undo works in
lieu of \once:

%%%%
\version "2.19.82"
longStem = \offset length 5 Stem
music = { \longStem 4 \undo \longStem 4 }
<< \music \music >>
%%%%

However, attempting to test the "tweak" variant of \offset...

%%%%
\version "2.19.82"
music = { \offset Stem.length 5 4 4 }
<< \music \music >>
%%%%

...produced a different error:

    GNU LilyPond 2.19.82

    Processing `crash.ly'

    Parsing...

    Interpreting music...lilypond:

    
/home/gub/NewGub/gub/target/linux-64/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.20/lily/context-def.cc:232:

    std::vector<Context_def*>

    Context_def::internal_path_to_acceptable_context(SCM, Output_def*, SCM,

    std::set<const Context_def*>*) const: Assertion `(!(6 & ((scm_t_bits)

    (0? (*(SCM*)0=(type_sym)): type_sym))) && ((0x7f & ((((scm_t_bits) (0?

    (*(SCM*)0=((((SCM *)((scm_t_cell *) (((scm_t_bits) (0?

    (*(SCM*)0=((((type_sym))))): (((type_sym)))))))) [((0))]))): (((SCM

    *)((scm_t_cell *) (((scm_t_bits) (0? (*(SCM*)0=((((type_sym))))):

    (((type_sym)))))))) [((0))])))))) == 5))' failed.

    fish: “lilypond crash.ly” terminated by signal SIGABRT (Abort)


Figuring that perhaps the parser is confused by the naked duration, I
tried this:

%%%%
\version "2.19.82"
music = { \offset Stem.length 5 c'4 4 }
<< \music \music >>
%%%%

It compiles, but produces two staves as output rather than combining the
notes on one staff. I am almost certainly overlooking an important
detail in parsing which would explain this difference, but it is still
confusing to say the least.

-- Aaron Hill


---

Sent from sourceforge.net because [email protected] is 
subscribed to https://sourceforge.net/p/testlilyissues/issues/

To unsubscribe from further messages, a project admin can change settings at 
https://sourceforge.net/p/testlilyissues/admin/issues/options.  Or, if this is 
a mailing list, you can unsubscribe from the mailing list.
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Testlilyissues-auto mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/testlilyissues-auto
  • [Lilypond-... Auto mailings of changes to Lily Issues via Testlilyissues-auto
    • [Lily... Auto mailings of changes to Lily Issues via Testlilyissues-auto
    • [Lily... Auto mailings of changes to Lily Issues via Testlilyissues-auto

Reply via email to