On Sat, 2009-12-12 at 17:22 +0100, Reinhold Kainhofer wrote:
> Am Samstag, 12. Dezember 2009 15:43:37 schrieb 胡海鹏 - Hu Haipeng:
> > Sorry, Since the bad frustrating Midi tie problem persists, I have to roll
> >  back to 2.13.7, and wait for a version with fixed tie playback.
> 
> I've tried to fix the bug, but I'm always running into memory corruption 
> issues, and I have absolutely no idea where the corruption could come from.
> 
> Here is a patch that I think should fix the issue, but I'm unable to test, 
> since lilypond crashes with memory corruption before it can do anything 
> usable 
> to the score:
> http://codereview.appspot.com/174080
> 
> Does anyone of the other devs have any idea where the coruption might come 
> from? The corruption happens as soon as the Head_event_tuple struct has at 
> least one data member...

You have a Head_event_tuple in both tie-performer.cc and
tie-engraver.cc. Renaming one of them fixes the problem. Since
tie-engraver.cc uses vector<Head_event_tuple>, I suspect that the
compiler only generated one version of the code for
vector<Head_event_tuple> and linked both tie-performer.o and
tie-engraver.o to the same generated code. But that's only a guess,
since I have almost no idea how a C++ compiler works.

By the way, I've attached my valgrind suppressions file, which I
promised before but I don't think I ever sent.

Cheers,
Joe

{
   guile1
   Memcheck:Cond
   fun:scm_i_find_heap_segment_containing_object
}

{
   guile2
   Memcheck:Cond
   fun:scm_gc_mark
}

{
   guile3
   Memcheck:Value4
   fun:scm_gc_mark
}

{
   guile4
   Memcheck:Value4
   fun:scm_gc_mark_dependencies
}

{
   guile5
   Memcheck:Cond
   fun:scm_gc_mark_dependencies
}

{
   guile6
   Memcheck:Cond
   fun:scm_i_sweep_card
}

{
   guile7
   Memcheck:Value4
   fun:scm_i_string_mark
}

{
   guile8
   Memcheck:Cond
   fun:scm_i_mark_weak_vectors_non_weaks
}

{
   guile9
   Memcheck:Cond
   fun:scm_i_remove_weaks_from_weak_vectors
}

{
   guile10
   Memcheck:Value4
   fun:scm_markstream
}

{
   guile11
   Memcheck:Cond
   obj:/usr/lib/libguile.so.17.2.0
   fun:scm_c_hook_run
}

{
   guile12
   Memcheck:Value4
   obj:/usr/lib/libguile.so.17.2.0
   fun:scm_gc_mark_dependencies
}
_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to