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'

Reply via email to