Hello,

I investigated a bit the crashes I get with gcc 2.96. As Lars suggested,
they go away if I turn off optimization completely. Recompiling
Bufferview_pimpl.C with optimization does not crash, but valgrind shows 
that the good old problems have returned:

==16053== Invalid free() / delete / delete[]
==16053==    at 0x40046248: free (vg_clientfuncs.c:171)
==16053==    by 0x805856D: BufferView::Pimpl::Pimpl(BufferView *, 
LyXView *, int, int, int, int) (/usr/include/g++-3/stl_alloc.h:433)
==16053==    by 0x8054A59: BufferView::BufferView(LyXView *, int, int, 
int, int) (../../lyx-devel/src/BufferView.C:26)
==16053==    by 0x81745F9: XFormsView::create_form_form_main(int, int) 
(../../../../lyx-devel/src/frontends/xforms/XFormsView.C:154)

Anyway, even without optimization, valgrind has a report about the
XFormsView destructor (what I do is run lyx and quit without doing
anything):

==14576== Mismatched free() / delete / delete []
==14576==    at 0x400462F8: __builtin_delete (vg_clientfuncs.c:186)
==14576==    by 0x827BA12: ??? 
(../../../../lyx-devel/boost/boost/checked_delete.hpp:27)
==14576==    by 0x827B297: ??? 
(../../../../lyx-devel/boost/boost/scoped_ptr.hpp:45)
==14576==    by 0x816BE81: XFormsView::~XFormsView(void) 
(../../../../lyx-devel/src/frontends/xforms/XFormsView.C:75)
==14576==    Address 0x438DC5E8 is 0 bytes inside a block of size 240 
alloc'd
==14576==    at 0x40046471: calloc (vg_clientfuncs.c:221)
==14576==    by 0x402CCC00: fl_make_form (in 
/usr/X11R6/lib/libforms.so.0.89)
==14576==    by 0x402A1430: fl_bgn_form (in /usr/X11R6/lib/libforms.so.0.89)
==14576==    by 0x816C02D: XFormsView::create_form_form_main(int, int) 
(../../../../lyx-devel/src/frontends/xforms/XFormsView.C:136)
==14576==

Am I the only one seeing these?

If I decide that I have to upgrade my compiler to a "better" 2.96
(I'd like to avoid 3.0 because others may not have this choice), is it
possible to grab gcc 2.96-0.76 from mdk 8.2 and put it into mdk 8.1?

JMarc

Reply via email to