lilypond-user
[Top][All Lists]
Advanced

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

Re: 2.21 and OLL


From: Lukas-Fabian Moser
Subject: Re: 2.21 and OLL
Date: Tue, 15 Sep 2020 20:06:10 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0

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 <dak@gnu.org> 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 <hanwen@lilypond.org>     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 via email to

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