Here is what valgrind has to say on the subject. I ran it with
--workaround-gcc296-bugs as the output suggested. 

I have several entries like

==4684== Invalid free() / delete / delete[]
==4684==    at 0x40046248: free (vg_clientfuncs.c:171)
==4684==    by 0x8056592: BufferView::Pimpl::Pimpl(BufferView *, LyXView *, int,
 int, int, int) (/usr/include/g++-3/stl_alloc.h:433)
==4684==    by 0x8051A6F: BufferView::BufferView(LyXView *, int, int, int, int) 
(in /home/lasgoutt/src/lyx/devbuild/src/lyx)
==4684==    by 0x829E6C3: XFormsView::create_form_form_main(int, int) (in /home/
lasgoutt/src/lyx/devbuild/src/lyx)
==4684==    Address 0x43CF8AE8 is 8 bytes inside a block of size 48 alloc'd
==4684==    at 0x4004606C: __builtin_new (vg_clientfuncs.c:126)
==4684==    by 0x830C7C0: boost::signals::detail::slot_base::create_connection(v
oid) (../../../../../lyx-devel/boost/boost/detail/shared_count.hpp:200)
==4684==    by 0x805644C: BufferView::Pimpl::Pimpl(BufferView *, LyXView *, int,
 int, int, int) (../../lyx-devel/boost/boost/signals/slot.hpp:106)
==4684==    by 0x8051A6F: BufferView::BufferView(LyXView *, int, int, int, int) 
(in /home/lasgoutt/src/lyx/devbuild/src/lyx)
==4684== 
==4684== Invalid free() / delete / delete[]
==4684==    at 0x40046248: free (vg_clientfuncs.c:171)
==4684==    by 0x8056826: BufferView::Pimpl::Pimpl(BufferView *, LyXView *, int,
 int, int, int) (/usr/include/g++-3/stl_alloc.h:433)
==4684==    by 0x8051A6F: BufferView::BufferView(LyXView *, int, int, int, int) 
(in /home/lasgoutt/src/lyx/devbuild/src/lyx)
==4684==    by 0x829E6C3: XFormsView::create_form_form_main(int, int) (in /home/
lasgoutt/src/lyx/devbuild/src/lyx)
==4684==    Address 0x43CF8E84 is 8 bytes inside a block of size 48 alloc'd
==4684==    at 0x4004606C: __builtin_new (vg_clientfuncs.c:126)
==4684==    by 0x830C7C0: boost::signals::detail::slot_base::create_connection(v
oid) (../../../../../lyx-devel/boost/boost/detail/shared_count.hpp:200)
==4684==    by 0x80566DE: BufferView::Pimpl::Pimpl(BufferView *, LyXView *, int,
 int, int, int) (../../lyx-devel/boost/boost/signals/slot.hpp:106)
==4684==    by 0x8051A6F: BufferView::BufferView(LyXView *, int, int, int, int) 
(in /home/lasgoutt/src/lyx/devbuild/src/lyx)
==4684== 

THese are the ones which crash without valgrind.

How useful is this?

JMarc

Reply via email to