2.21 and OLL

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

2.21 and OLL

Simon Albrecht-2
Hello everybody,

apologies if the question is redundant—I haven’t been able to follow the
lists recently.

With 2.21.0, I have GUILE throwing an error message for
oll-core/package.ily:57 that doesn’t appear with 2.19.84.

Is that a known problem? Should I try isolating it?

Best, Simon


Reply | Threaded
Open this post in threaded view
|

Re: 2.21 and OLL

Urs Liska-3


Am 15. Juli 2020 01:36:48 MESZ schrieb Simon Albrecht <[hidden email]>:

>Hello everybody,
>
>apologies if the question is redundant—I haven’t been able to follow
>the
>lists recently.
>
>With 2.21.0, I have GUILE throwing an error message for
>oll-core/package.ily:57 that doesn’t appear with 2.19.84.
>
>Is that a known problem?

No.

>Should I try isolating it?

Yes.
MWE please, and the error message.

>
>Best, Simon

--
Diese Nachricht wurde von meinem Android-Gerät mit K-9 Mail gesendet.

Reply | Threaded
Open this post in threaded view
|

Re: 2.21 and OLL

Simon Albrecht-2
Hi Urs et al.,

On 15.07.20 08:15, Urs Liska wrote:
> MWE please, and the error message.

This one is very minimal :-)

%%%%%%%%%%%%%%%% \version "2.21.0" \include "oll-core/package.ily"
%%%%%%%%%%%%%%%%

=>

Starting lilypond 2.21.0 [Untitled]... Processing
`/tmp/frescobaldi-ux6dspgj/tmpa64z83u_/document.ly' Parsing...
/home/simon/openlilylib/oll-core/package.ily:57:2: error: GUILE signaled
an error for the expression beginning here # (if (not (defined?
'openlilylib-root)) Value out of range 0 to 18446744073709551615: -1
fatal error: failed files:
"/tmp/frescobaldi-ux6dspgj/tmpa64z83u_/document.ly" Exited with return
code 1.

Best, Simon


Reply | Threaded
Open this post in threaded view
|

Re: 2.21 and OLL

David Kastrup
Simon Albrecht <[hidden email]> writes:

> Hi Urs et al.,
>
> On 15.07.20 08:15, Urs Liska wrote:
>> MWE please, and the error message.
>
> This one is very minimal :-)
>
> %%%%%%%%%%%%%%%% \version "2.21.0" \include "oll-core/package.ily"
>                  %%%%%%%%%%%%%%%%
>
> =>
>
> Starting lilypond 2.21.0 [Untitled]... Processing
> `/tmp/frescobaldi-ux6dspgj/tmpa64z83u_/document.ly' Parsing...
> /home/simon/openlilylib/oll-core/package.ily:57:2: error: GUILE
> signaled an error for the expression beginning here # (if (not
> (defined? 'openlilylib-root)) Value out of range 0 to
> 18446744073709551615: -1 fatal error: failed files:
> "/tmp/frescobaldi-ux6dspgj/tmpa64z83u_/document.ly" Exited with return
> code 1.

When the C++ code converts a Scheme value to integral types, recent
changes in LilyPond's Guile interfaces now make sure that the value
actually can be represented by the given type.  The value here would
appear to be -1 which has no representation in an unsigned int.

No idea where this happens, but maybe this helps someone else figuring
out where OpenLily was likely previously triggering undefined behavior
and now causes an error exit.

--
David Kastrup

Reply | Threaded
Open this post in threaded view
|

Re: 2.21 and OLL

Urs Liska-3
In reply to this post by Simon Albrecht-2
Am Donnerstag, den 16.07.2020, 22:50 +0200 schrieb Simon Albrecht:
> Hi Urs et al.,
>
> On 15.07.20 08:15, Urs Liska wrote:
> > MWE please, and the error message.
>
> This one is very minimal :-)
>

Indeed.

> %%%%%%%%%%%%%%%% \version "2.21.0" \include "oll-core/package.ily"
> %%%%%%%%%%%%%%%%
>
> =>
>
> Starting lilypond 2.21.0 [Untitled]... Processing
> `/tmp/frescobaldi-ux6dspgj/tmpa64z83u_/document.ly' Parsing...
> /home/simon/openlilylib/oll-core/package.ily:57:2: error: GUILE
> signaled
> an error for the expression beginning here # (if (not (defined?
> 'openlilylib-root)) Value out of range 0 to 18446744073709551615: -1
> fatal error: failed files:
> "/tmp/frescobaldi-ux6dspgj/tmpa64z83u_/document.ly" Exited with
> return
> code 1.
>
> Best, Simon
>

I could not reproduce this with 2.21.3, which I just downloaded. Could
you please try that too? If it's something that was present from 2.21.0
to 2.21.2 but not now anymore I wouldn't bother investigating more
closely.

BestUrs


Reply | Threaded
Open this post in threaded view
|

Re: 2.21 and OLL

Simon Albrecht-2
On 16.07.20 23:27, Urs Liska wrote:
> I could not reproduce this with 2.21.3, which I just downloaded. Could
> you please try that too? If it's something that was present from 2.21.0
> to 2.21.2 but not now anymore I wouldn't bother investigating more
> closely.

Of course. And indeed, neither 2.20.0 nor 2.21.3 exhibit the problem.

Thanks and best regards to Freiburg,
Simon


Reply | Threaded
Open this post in threaded view
|

Re: 2.21 and OLL

Lukas-Fabian Moser
In reply to this post by David Kastrup

Hi all,

Am 16.07.20 um 23:16 schrieb David Kastrup:
%%%%%%%%%%%%%%%% \version "2.21.0" \include "oll-core/package.ily"
                 %%%%%%%%%%%%%%%%

=>

Starting lilypond 2.21.0 [Untitled]... Processing
`/tmp/frescobaldi-ux6dspgj/tmpa64z83u_/document.ly' Parsing... 
/home/simon/openlilylib/oll-core/package.ily:57:2: error: GUILE
signaled an error for the expression beginning here # (if (not
(defined? 'openlilylib-root)) Value out of range 0 to
18446744073709551615: -1 fatal error: failed files: 
"/tmp/frescobaldi-ux6dspgj/tmpa64z83u_/document.ly" Exited with return
code 1.
When the C++ code converts a Scheme value to integral types, recent
changes in LilyPond's Guile interfaces now make sure that the value
actually can be represented by the given type.  The value here would
appear to be -1 which has no representation in an unsigned int.

No idea where this happens, but maybe this helps someone else figuring
out where OpenLily was likely previously triggering undefined behavior
and now causes an error exit.

Since this hit me today when starting to try out openLilyLib for the first time in a long time (I hadn't realized I was using 2.21.0), I looked around a bit: This was fixed in

commit 1e60f8128a9cf6bdf8bf06f995b871e0d1285d22 Author: David Kastrup [hidden email] Date:   Sat May 16 15:03:57 2020 +0200     Fix input location when parsing         This fixes a regression introduced by         commit 5a4039b700f3a7447401780c720070d14e2891bd     Author: Han-Wen Nienhuys [hidden email]     Date:   Fri Jan 31 08:24:44 2020 +0100             Clean up embedded scheme parsing/evaluation.             Renames and reorders functions to clarify the mechanism. No         consequential functional changes.             Separates input and output parameters.         Reported in     <https://lists.gnu.org/archive/html/lilypond-devel/2020-05/msg00060.html>     by Martin Neubauer.

To wit, we have

\version "2.21.1" #(display (ly:input-file-line-char-column (*location*)))

yielding ( 0 0 0) in 2.21.1, and (/tmp/frescobaldi-be_shbjr/tmpy52v52mn/document.ly 3 1 1), and the first thing openLilyLib does when initializing is

(let* ((this (car (ly:input-file-line-char-column (*location*)))) (path (string-split this #\/)) (oll-root (list-head path (- (length path) 2)))) ...

No wonder this bombed out for "this" being an empty string.

Lukas

Reply | Threaded
Open this post in threaded view
|

Re: 2.21 and OLL

Lukas-Fabian Moser

> yielding ( 0 0 0) in 2.21.1, and
> (/tmp/frescobaldi-be_shbjr/tmpy52v52mn/document.ly 3 1 1)
>
... the latter in 2.21.2, of course.