[Top][All Lists]

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

Re: min-systems-per-page causes LilyPond to hang 2.20

From: Jean Abou Samra
Subject: Re: min-systems-per-page causes LilyPond to hang 2.20
Date: Fri, 23 Oct 2020 13:34:51 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0

Le 23/10/2020 à 11:18, Richard Shann a écrit :

I'm afraid I wasn't perhaps clear enough in what I wrote: I was
offering to remove large amounts of irrelevant material from the .ly
file as it is machine-generated (by Denemo) and I understand what can
be dropped without changing the music that LilyPond will try to
However, even this is not an insignificant task and I'm not at all
clear in what debugging scenario this would be useful. Normally when
someone finds a crash asking them to chop down the file to isolate the
bit causing the crash makes perfect sense. The file is hand-written and
often chopping it down will reveal some typo or syntax combination
which triggers the crash. In this case the same bits of syntax have
been generated in thousands of files without trouble except for the
introduction of min-systems-per-page  = 2 which is a new feature in
Denemo. So it is highly likely that it is the combination of this
syntax with \pageBreak that causes LilyPond to hang. It also means that
altering any of the music that will actually be typeset is likely to
trigger the disappearance/re-appearance of the bug - and indeed I found
just this to be the case when I was first trying to track down the
cause of the bug.
So, if someone is wishing to tackle the debugging and needs irrelevant
material to be removed from the exemplar for some specific reason I can
help. But it would only reduce the file by about three quarters. I
suspect debugging this would require detecting the loop that is being
triggered and eyeballing the source code involved to see where it is
being assumed that something will always break out of the loop. For
that sort of work the input is irrelevant.



I opened

Note that I did reduce your file to a minimal example (didn't take
too long anyway), which revealed that LilyPond is not hanging on
an infinite loop but applying an extremely slow calculation which
should, nevertheless, terminate, at least in theory.


reply via email to

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