On Tue, Mar 27, 2007 at 10:05:09PM +0200, Peter Kümmel wrote:
> Andre Poenitz wrote:
> > On Tue, Mar 27, 2007 at 05:01:48PM +0200, Abdelrazak Younes wrote:
> >> Andre Poenitz wrote:
> >>> On Tue, Mar 27, 2007 at 02:00:13PM +0200, Abdelrazak Younes wrote:
> >>>> By the way, there's a new mathed and undo related crash (which your
> >>>> patch does not fix):
> >>>>
> >>>> http://bugzilla.lyx.org/show_bug.cgi?id=3358
> >>> I cannot reproduce this one.
> >> You tried with the UserGuide?
> >
> > Now I did and it crashes:
> >
> > Program received signal SIGABRT, Aborted.
> > [Switching to Thread -1224144240 (LWP 14967)]
> > 0xb7ee8410 in __kernel_vsyscall ()
> > (gdb) bt
> > #0 0xb7ee8410 in __kernel_vsyscall ()
> > #1 0xb7417df0 in raise () from /lib/tls/i686/cmov/libc.so.6
> > #2 0xb7419641 in abort () from /lib/tls/i686/cmov/libc.so.6
> > #3 0xb761b270 in __gnu_cxx::__verbose_terminate_handler ()
> > from /usr/lib/libstdc++.so.6
> > #4 0xb7618ca5 in ?? () from /usr/lib/libstdc++.so.6
> > #5 0xb7618ce2 in std::terminate () from /usr/lib/libstdc++.so.6
> > #6 0xb7618d9b in __cxa_rethrow () from /usr/lib/libstdc++.so.6
> > #7 0xb7e43cbe in QMetaObject::activate () from /usr/lib/libQtCore.so.4
> > #8 0xb7e43d2f in QMetaObject::activate () from /usr/lib/libQtCore.so.4
> > #9 0xb7760831 in QAction::triggered () from /usr/lib/libQtGui.so.4
> > #10 0xb77611bf in QAction::activate () from /usr/lib/libQtGui.so.4
> > #11 0xb7a67fd4 in ?? () from /usr/lib/libQtGui.so.4
> > #12 0xb7a6a726 in QMenu::mouseReleaseEvent () from
> > /usr/lib/libQtGui.so.4
> > #13 0xb77b1e41 in QWidget::event () from /usr/lib/libQtGui.so.4
> > #14 0xb7a6531c in QMenu::event () from /usr/lib/libQtGui.so.4
> > #15 0xb7767190 in QApplicationPrivate::notify_helper ()
> > from /usr/lib/libQtGui.so.4
> > #16 0xb7769bf3 in QApplication::notify () from /usr/lib/libQtGui.so.4
> > #17 0xb77c30a7 in ?? () from /usr/lib/libQtGui.so.4
> > #18 0xb77c11c8 in QApplication::x11ProcessEvent () from
> > /usr/lib/libQtGui.so.4
> > #19 0xb77e5f34 in ?? () from /usr/lib/libQtGui.so.4
> > #20 0xb734ddf2 in g_main_context_dispatch () from
> > /usr/lib/libglib-2.0.so.0
> > #21 0xb7350dcf in ?? () from /usr/lib/libglib-2.0.so.0
> > #22 0x08b48490 in ?? ()
> > #23 0x00000000 in ?? ()
> >
> >
> > Mathed seems to be innocent here.
> >
> > Andre'
> >
>
>
> Here the back trace looks like this:
Ok, could be that my crash is later, possibly caused by a corrupted heap.
> msvcp80d.dll!std::_Debug_message(const wchar_t * message=0x00de4230,
> const wchar_t * file=0x00de4278, unsigned int line=756) Zeile 23 C++
> lyx-qt4.exe!std::vector<lyx::MathArray,std::allocator<lyx::MathArray>
> >::operator[](unsigned int _Pos=0) Zeile 756 + 0x17 Bytes C++
> > lyx-qt4.exe!lyx::InsetMathNest::cell(unsigned int i=0) Zeile 91
> > C++
> lyx-qt4.exe!lyx::CursorSlice::cell() Zeile 46 + 0x38 Bytes C++
> lyx-qt4.exe!lyx::DocIterator::cell() Zeile 239 C++
> lyx-qt4.exe!lyx::`anonymous
> namespace'::doRecordUndo(lyx::Undo::undo_kind kind=ATOMIC, const
> lyx::DocIterator & cell={...}, int first_pit=0, int last_pit=0, const
> lyx::DocIterator & cur={...}, const lyx::BufferParams & bparams={...}, bool
> isFullBuffer=false, lyx::limited_stack<lyx::Undo> & stack={...}) Zeile 104 +
> 0x25 Bytes C++
> lyx-qt4.exe!lyx::`anonymous namespace'::recordUndo(lyx::Undo::undo_kind
> kind=ATOMIC, lyx::LCursor & cur={...}, int first_pit=0, int last_pit=0,
> lyx::limited_stack<lyx::Undo> & stack={...}) Zeile 136 + 0x36 Bytes C++
> lyx-qt4.exe!lyx::recordUndo(lyx::Undo::undo_kind kind=ATOMIC,
> lyx::LCursor & cur={...}, int first=0, int last=0) Zeile 256 + 0x1e Bytes
> C++
> lyx-qt4.exe!lyx::recordUndo(lyx::LCursor & cur={...},
> lyx::Undo::undo_kind kind=ATOMIC) Zeile 266 + 0x23 Bytes C++
> lyx-qt4.exe!lyx::InsetMathNest::doDispatch(lyx::LCursor & cur={...},
> lyx::FuncRequest & cmd={...}) Zeile 698 + 0xb Bytes C++
> lyx-qt4.exe!lyx::InsetBase::dispatch(lyx::LCursor & cur={...},
> lyx::FuncRequest & cmd={...}) Zeile 132 + 0x1a Bytes C++
> lyx-qt4.exe!lyx::LyXFunc::dispatch(const lyx::FuncRequest & cmd={...})
> Zeile 1574 C++
> lyx-qt4.exe!lyx::dispatch(const lyx::FuncRequest & action={...}) Zeile
> 1452 C++
> lyx-qt4.exe!lyx::LyXView::dispatch(const lyx::FuncRequest & cmd={...})
> Zeile 441 + 0x9 Bytes C++
> lyx-qt4.exe!lyx::frontend::Action::action() Zeile 94 C++
> lyx-qt4.exe!lyx::frontend::Action::qt_metacall(QMetaObject::Call
> _c=InvokeMetaMethod, int _id=0, void * * _a=0x019cbe34) Zeile 66 C++
>
>
> MathArray & InsetMathNest::cell(idx_type i)
> {
> return cells_[i];
> }
>
> the cell vector is empty.
Can you figure out in what kind of inset the cursor sits at this point
of time? I smell a macro with zero arguments...
Andre'