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