lilypond-devel
[Top][All Lists]
Advanced

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

Re: To branch or not to branch


From: Jean Abou Samra
Subject: Re: To branch or not to branch
Date: Wed, 21 Sep 2022 20:16:22 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.2.1

Le 21/09/2022 à 08:29, Jonas Hahnfeld via Discussions on LilyPond development a écrit :
Hi all,

according to the plan laid out in
https://lists.gnu.org/archive/html/lilypond-devel/2022-08/msg00032.html
we are supposed to branch stable/2.24 this week "unless some really big
problems are reported". In the last discussion on this topic in
https://lists.gnu.org/archive/html/lilypond-devel/2022-09/msg00070.html
the rare crashes on Windows were identified as a blocker. These seem to
be fixed now, at least for reasonable user scores (we can still trigger
it when running the garbage collection in every translator slot); see
https://gitlab.com/lilypond/lilypond/-/issues/6361 for full details.

There is also https://gitlab.com/lilypond/lilypond/-/issues/6430 which
is a problem for OLL on Windows. I can't personally comment if it's
"critical enough" to block the branching / release.

Please comment, also with other issues and thoughts. It's a bit
frustrating if there are no clear replies and I'm left to guess...



My thoughts:

I don't think the call/cc issue should block branching,
especially now that it's worked around in OLL. The classical
use for call/cc is escape continuations, emulating "return"
statements from imperative languages. Guile 2 has call/ec
(and its variant let/ec) that support this case (also
more efficiently). I didn't see them crash, and they're
implemented completely differently, so I don't see a reason
for them to be broken. I expect that almost all uses of
call/cc can be replaced with let/ec. The one in OLL actually
couldn't, but this is a pretty rare programming style.

I'm undecided on whether call/cc should eventually block
the stable release if we don't have a fix for it. I'm
a fan of call/cc (I mean, introducing it in the Curry-Howard
correspondence changes the logic from intuitionistic to
classical :-), but I doubt many people use it or even know
what it is.

On the other hand, there is actually one use in LilyPond
(in articulate.ly), and I didn't investigate what other tools
Guile implements in terms of call/cc...

So, to be continued, but I'm less worried about this one
than the GC one.

Now to GC. I'm a bit worried by the report from "Ya Gloops"
that some 200-pages scores still crash
(https://lists.gnu.org/archive/html/lilypond-user/2022-09/msg00238.html).
Yes, they're artificial, but they don't call the GC
explicitly, and some people do write scores with the same size...

So I'd be cautious about releasing 2.24 without a full fix
for this one. That said, Ivan Maidanski is making some
comments on the BDWGC issue. A fix in 3 months is not
hopeless, is it?

And if we do get a fix, waiting before branching won't have
helped stability, so overall I think it's OK to branch now,
although I don't have deep insights on the BDWGC issue.




reply via email to

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