bug-gnu-music
[Top][All Lists]
Advanced

[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




reply via email to

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