bug-lilypond
[Top][All Lists]
Advanced

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

Re: multiple fret-diagram-x markup commands and lilypond safe-mode


From: Julien Rioux
Subject: Re: multiple fret-diagram-x markup commands and lilypond safe-mode
Date: Sat, 17 Sep 2011 17:38:48 +0200
User-agent: Mozilla/5.0 (Windows NT 5.1; rv:6.0.2) Gecko/20110902 Thunderbird/6.0.2

On 17/09/2011 4:06 PM, Reinhold Kainhofer wrote:
Am Friday, 16. September 2011, 23:05:49 schrieb Julien Rioux:
After dumping guile 1.8.7 provided by the official ubuntu repository, I
downloaded, compiled and installed the latest stable guile 1.8.8 and
recompiled latest lilypond git. I still get the failure.

I simplified the test case by taking lilypond-book out of the process.
The attached contains two lilypond snippets which compile correctly with
independent calls

lilypond -dbackend=eps snippet-1.ly
lilypond -dbackend=eps snippet-2.ly

, but combining them in a single call with

lilypond -dbackend=eps -dread-file-list snippet-names.ly

exits with an error when processing the second snippet. It's as if some
state has changed inbetween processing the two snippets, and the parsing
goes awry on the second one.

I can reproduce the problem on a ubuntu machine with current head (optimized
build), guile 1.8 (standard ubuntu package). I stripped down the test cases to
minimal files (attached). To reproduce the problem, simply compile them as:

    lilypond s1.ly s2.ly

The error message here is:

address@hidden:~/temp/safe-mode-bug$ lilypond  s1.ly s2.ly
GNU LilyPond 2.15.12
Processing `s1.ly'
Parsing...
Finding the ideal number of pages...
Fitting music on 1 page...
Drawing systems...
Layout output to `s1.ps'...
Converting to `./s1.pdf'...
Processing `s2.ly'
Parsing...
s2.ly:5:21: error: GUILE signaled an error for the expression beginning here
\fret-diagram-terse #
                      "x;x;o;2;3;2;"
Wrong type argument in position 1 (expecting module): #<freed cell 0xb6d06880;
GC missed a reference>
/home/reinhold/lilypond/lilypond/out/share/lilypond/current/scm/fret-
diagrams.scm:886:17: In procedure string-split in expression (string-split
definition-string #\;):
/home/reinhold/lilypond/lilypond/out/share/lilypond/current/scm/fret-
diagrams.scm:886:17: Wrong type argument in position 1 (expecting string):
#<unspecified>


So it seems like some guile Garbage Collection messup...

Cheers,
Reinhold




_______________________________________________
bug-lilypond mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/bug-lilypond


Thanks for testing.

Interestingly, with your minimal example and guile 1.8.8,
lilypond s1.ly s2.ly succeeds, but not with the eps backend:

$ lilypond s1.ly s2.ly
GNU LilyPond 2.15.12
Processing `s1.ly'
Parsing...
Finding the ideal number of pages...
Fitting music on 1 page...
Drawing systems...
Layout output to `s1.ps'...
Converting to `./s1.pdf'...
Processing `s2.ly'
Parsing...
Finding the ideal number of pages...
Fitting music on 1 page...
Drawing systems...
Layout output to `s2.ps'...
Converting to `./s2.pdf'...
Success: compilation successfully completed


$ lilypond -dbackend=eps s1.ly s2.ly
GNU LilyPond 2.15.12
Processing `s1.ly'
Parsing...
Finding the ideal number of pages...
Fitting music on 1 page...
Drawing systems...
Layout output to `s1.eps'...
Converting to `./s1.pdf'...
Layout output to `s1-1.eps'...
Converting to `./s1-1.pdf'...
Writing s1-systems.texi...
Writing s1-systems.tex...
Writing s1-systems.count...
Processing `s2.ly'
Parsing...
s2.ly:5:21: error: GUILE signaled an error for the expression beginning here
\fret-diagram-terse #
                     "x;x;o;2;3;2;"
Wrong type argument in position 1 (expecting module): #<freed cell 0xb68fd510; GC missed a reference> /usr/local/share/lilypond/2.15.12/scm/fret-diagrams.scm:886:17: In procedure string-split in expression (string-split definition-string #\;): /usr/local/share/lilypond/2.15.12/scm/fret-diagrams.scm:886:17: Wrong type argument in position 1 (expecting string): #<unspecified>



--
Julien




reply via email to

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