[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: segfault in grob.cc
From: |
Jan Nieuwenhuizen |
Subject: |
Re: segfault in grob.cc |
Date: |
31 May 2001 10:13:58 +0200 |
User-agent: |
Gnus/5.090003 (Oort Gnus v0.03) Emacs/20.7 |
John Galbraith <address@hidden> writes:
> With lilypond 1.4, I get a segfault in item.cc due to a NULL pointer
> passed in from grob.cc at line 372.
What version of guile do you run? You may want to upgrade to
guile-1.4, recompile, and see if it goes away.
There's two things we can do about this; you can put the complex score
up for ftp somewhere so that I (or someoene else) can debug it, or you
can do some debugging yourself.
> Line_of_score * line
> = dynamic_cast<Line_of_score*> (unsmob_grob (criterion));
> if (sc->line_l () != line)
> {
> sc = sc->find_broken_piece (line);
> }
>
>
> Basically, I think the dynamic_cast is failing and returning NULL.
Possibly, maybe unsmob_grob just returns 0. Let's look at that first.
You fire up gdb and run lilypond on your score (I've put a breakpoint,
but you should `up' there after the crash).
gdb lily/out/lilypond
[..]
(gdb) run score.ly
[..]
Breakpoint 1, Grob::handle_broken_smobs (src=806394288, criterion=806760504)
at grob.cc:369
(gdb) printscm criterion
#<Grob LineOfScore >
You probably don't get LineOfScore here, otherwise dynamic_cast
wouldn't fail. Anyway, we try to unsmob it ourselves:
(gdb) call unsmob_grob (criterion)
$1 = (Grob *) 0x1032f550
If that succeeds, try to peek at the immutable_property_alist_ and
maybe mutable_property_alist_:
(gdb) call gh_display ($1.immutable_property_alist_)
((axes 0 1) (meta (separator .
) (name . LineOfScore)
[...]
And send what you see.
--
Jan Nieuwenhuizen <address@hidden> | GNU LilyPond - The music typesetter
http://www.xs4all.nl/~jantien | http://www.lilypond.org