lilypond-devel
[Top][All Lists]
Advanced

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

Re: Still cannot make doc :(


From: David Kastrup
Subject: Re: Still cannot make doc :(
Date: Mon, 30 May 2016 15:35:01 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux)

David Kastrup <address@hidden> writes:

> Thomas Morley <address@hidden> writes:
>
>> 2016-05-29 21:03 GMT+02:00 Thomas Morley <address@hidden>:
>>
>>> I'll now checkout a fresh branch from master, apply Hosoda-san's patch from
>>> https://codereview.appspot.com/298320043/
>>> change orchestra.ly as before.
>>> Try a full `make doc' and report back later.
>>
>>
>> This failed quite early in the regtest with the already mentioned files, 
>> namely:
>> typography-demo.ly
>> utf-8.ly
>> profile-property-access.ly
>> one-line-breaking.ly
>> one-line-auto-height-breaking.ly
>> one-line-breaking.ly
>>
>> All using japanese or including typography-demo.ly, although
>> Hosoda-san's patch was applied.
>>
>> But again, I've a successful run for the english-only doc with all
>> japenese commented and a changed orchestra.ly.
>> I attach the revised orchestra.ly if someone wans to try. Maybe it
>> even helps to track down the problem.
>
> I could just tear out my hairs here.  I have little doubt that you are
> onto something (and it seems like Werner has a lead on how to fix it)
> but it just does not make sense in connection with the exact commit Knut
> pinpointed as starting his problems.
>
> It may or may not be the blocker for James, either.  At any rate, I am
> currently going through the C++ standard with respect of initialization
> orders and stuff, and I hope to get to tackle the problem Knut has been
> focusing on eventually.
>
> It does seem utterly strange that both failures should occur on the same
> file of documentation building.  Does it happen early in the build?

Ok, I manage to get

Changing working directory to: `./out-www'
Processing `orchestra.ly'
Parsing...
Interpreting music...ERROR: Wrong type (expecting exact integer): (denies Voice)

now.  That clearly is not font-related.  It also clearly is garbage
collection related: (denies Voice) is part of a context modification.
The interesting thing is that

a) most exact integers (as well as '() and #f) in ranges interesting to
LilyPond are immediate values.  So why is garbage collection even
involved?  Most likely, we have a _callback_ here (or an
unpure/pure-container) that is being overwritten.

b) \denies Voice is only present in
address@hidden:/usr/local/tmp/lilypond$ git grep '\\denies "\?Voice"\?'
ly/engraver-init.ly:  \denies "Voice"
ly/engraver-init.ly:  \denies "Voice"
ly/engraver-init.ly:  \denies "Voice"
ly/engraver-init.ly:  \denies "Voice"
ly/engraver-init.ly:  \denies "Voice"
ly/engraver-init.ly:  \denies "Voice"
ly/engraver-init.ly:  \denies "Voice"
ly/performer-init.ly:  \denies Voice
ly/performer-init.ly:  \denies Voice
ly/performer-init.ly:  \denies Voice
ly/performer-init.ly:  \denies Voice
ly/performer-init.ly:  \denies Voice
ly/performer-init.ly:  \denies Voice
ly/performer-init.ly:  \denies Voice

which likely is read in before any problem is triggered.  It does not
appear like the context definition is copied around a lot in
orchestra.ly but there are several \layout blocks which create a copy of
the current default layout.  I don't see anything obvious otherwise
which could steal an allocated block.

Unfortunately, the error message is essentially useless for figuring out
the source of the problem.  valgrind might be more fruitful.  Sigh.
I think I have a lead on the problem, and at least I get the same
failure now, so I can check.

-- 
David Kastrup



reply via email to

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