lilypond-devel
[Top][All Lists]
Advanced

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

Re: Make doc crashing on my PC


From: David Kastrup
Subject: Re: Make doc crashing on my PC
Date: Sat, 22 Jun 2013 18:28:29 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux)

"Phil Holmes" <address@hidden> writes:

> For a while, I've been struggling to get make doc working consistently
> on my build PC.  This has been seen with my patchy failing, as well.
> I consistently get this in the error log:
>
> Changing working directory to: `./out-www'
> Processing `/home/phil/lilypond-git/Documentation/ly-examples/orchestra.ly'
> Parsing...
> Interpreting music...
> Preprocessing graphical objects...Segmentation fault
>
> Because it only happens on make doc (I can't reproduce it directly)
> until today I'd not spent the time trying to work out what causes it.
> I've just spent most of the afternoon on a bisect (once I sorted out
> my LSR updates...) and have found that the guilty party appears to be
>
> 35d5f2e2ff40e0bd35cf00f22c2428eac354e566 is the first bad commit
> commit 35d5f2e2ff40e0bd35cf00f22c2428eac354e566
> Author: David Kastrup <address@hidden>
> Date:   Sat Apr 27 18:31:01 2013 +0200
>
>    Let stack-lines deal properly with vertical spacing (X-empty stencils)
>
> I have no idea what that commit does, or why it would give my build
> machine problems, but I'd say I'm about 80% confident that's the
> offender.

If you can't reproduce it "directly", does that mean that you can
reproduce it _reliably_?  Meaning that it always or never fails when
doing the same commit?

> FWIW, the build machine is 64 bit, which may be why I see it and
> others don't.  I guess it's also possible that it's the same thing
> that is intermittently causing James' patchy problems.

The problem is that this particular commit does nothing in C++.  It
does, however, employ a new function ly:stencil-stack which has been
created for that purpose.

Without further information, it will be close to impossible to figure
out what to do.  How about creating a backtrace?

The way you do that is by setting
ulimit -c 1000000
(you can write "unlimited" if you are very sure that your disk space is
sufficient to contain a complete memory dump) in the shell from which
you call
make doc

After the crash, there should now be a file core or lilypond.core or
similar in the working directory where the crash occured.  You can then
call

gdb out/bin/lilypond core

and say

bt

in order to get a backtrace.  That would definitely help.  It's either
the new function, or the page breaker or something else is not happy
about the new semantics.

-- 
David Kastrup




reply via email to

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