Peter Kümmel wrote:
> Found something, attached two backtraces from two threads.

aha!!! we touch graph code in getStatus, before entering actual lfun!

> Peter
>

> 
>       [Unten angegebene Rahmen sind möglicherweise nicht korrekt und/oder 
> fehlen, keine Symbole geladen für ntdll.dll]        
>       ntdll.dll!7731f861()    
>       ntdll.dll!77338c44()    
>       msvcr100d.dll!_unlock(int locknum)  Zeile 375   C
>       msvcr100d.dll!_free_dbg(void * pUserData, int nBlockUse)  Zeile 1270 + 
> 0x7 Bytes        C++
>       msvcr100d.dll!_free_dbg(void * pUserData, int nBlockUse)  Zeile 1267 + 
> 0xc Bytes        C++
>       ntdll.dll!77338b28()    
>       msvcr100d.dll!_lock(int locknum)  Zeile 348     C
>       msvcr100d.dll!operator delete(void * pUserData)  Zeile 45 + 0x7 Bytes   
> C++
>       
> LyX.exe!std::allocator<std::_Container_proxy>::deallocate(std::_Container_proxy
>  * _Ptr, unsigned int __formal)  Zeile 182 + 0x9 Bytes   C++
>       LyX.exe!std::_Deque_val<int,std::allocator<int> 
> >::~_Deque_val<int,std::allocator<int> >()  Zeile 748   C++
>       LyX.exe!std::deque<int,std::allocator<int> 
> >::~deque<int,std::allocator<int> >()  Zeile 1023 + 0xf Bytes        C++
>       LyX.exe!std::queue<int,std::deque<int,std::allocator<int> > 
> >::~queue<int,std::deque<int,std::allocator<int> > >()  + 0x16 Bytes        
> C++
>       LyX.exe!lyx::Graph::bfs_init(int s, bool clear_visited)  Zeile 34       
> C++
>       LyX.exe!lyx::Graph::isReachable(int from, int to)  Zeile 140 + 0x14 
> Bytes       C++
>       LyX.exe!lyx::Converters::isReachable(const 
> std::basic_string<char,std::char_traits<char>,std::allocator<char> > & from, 
> const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & 
> to)  Zeile 702     C++
>       LyX.exe!lyx::Buffer::isExportable(const 
> std::basic_string<char,std::char_traits<char>,std::allocator<char> > & 
> format)  Zeile 3692 + 0x19 Bytes C++
>       LyX.exe!lyx::frontend::GuiView::getStatus(const lyx::FuncRequest & cmd, 
> lyx::FuncStatus & flag)  Zeile 1730 + 0x32 Bytes        C++
> >     LyX.exe!lyx::frontend::GuiApplication::getStatus(const lyx::FuncRequest 
> > & cmd)  Zeile 884 + 0x13 Bytes  C++
>       LyX.exe!lyx::getStatus(const lyx::FuncRequest & action)  Zeile 1266 + 
> 0x1f Bytes        C++
>       LyX.exe!lyx::frontend::Action::update()  Zeile 46 + 0x10 Bytes  C++
>       LyX.exe!lyx::frontend::GuiToolbar::update(bool in_math, bool in_table, 
> bool in_review, bool in_mathmacrotemplate)  Zeile 302 + 0x16 Bytes       C++
>       LyX.exe!lyx::frontend::GuiView::updateToolbars()  Zeile 1402 + 0x2d 
> Bytes       C++
>       LyX.exe!lyx::frontend::GuiView::updateDialogs()  Zeile 3881     C++
>       LyX.exe!lyx::frontend::GuiView::restartCursor()  Zeile 3683     C++
>       LyX.exe!lyx::frontend::GuiApplication::dispatch(const lyx::FuncRequest 
> & cmd)  Zeile 1136       C++
>       LyX.exe!lyx::dispatch(const lyx::FuncRequest & action)  Zeile 1273 + 
> 0x1b Bytes C++
>       LyX.exe!lyx::frontend::GuiApplication::processFuncRequest(const 
> lyx::FuncRequest & func)  Zeile 1742 + 0x9 Bytes        C++
>       LyX.exe!lyx::frontend::GuiApplication::processKeySym(const 
> lyx::KeySymbol & keysym, lyx::KeyModifier state)  Zeile 1737 C++
>       LyX.exe!lyx::frontend::GuiWorkArea::processKeySym(const lyx::KeySymbol 
> & key, lyx::KeyModifier mod)  Zeile 490  C++
>       LyX.exe!lyx::frontend::GuiWorkArea::keyPressEvent(QKeyEvent * ev)  
> Zeile 1012   C++
>       QtGuid4.dll!QWidget::event(QEvent * event)  Zeile 8263  C++
>       QtGuid4.dll!QFrame::event(QEvent * e)  Zeile 557 + 0xc Bytes    C++
>       QtGuid4.dll!QAbstractScrollArea::event(QEvent * e)  Zeile 996 + 0xc 
> Bytes       C++
>       LyX.exe!lyx::frontend::GuiWorkArea::event(QEvent * e)  Zeile 692 + 0xf 
> Bytes    C++
>       QtGuid4.dll!QApplicationPrivate::notify_helper(QObject * receiver, 
> QEvent * e)  Zeile 4445 + 0x11 Bytes C++
>       QtGuid4.dll!QApplication::notify(QObject * receiver, QEvent * e)  Zeile 
> 3904 + 0x10 Bytes       C++
>       LyX.exe!lyx::frontend::GuiApplication::notify(QObject * receiver, 
> QEvent * event)  Zeile 2118 + 0x13 Bytes      C++
>       QtCored4.dll!QCoreApplication::notifyInternal(QObject * receiver, 
> QEvent * event)  Zeile 732 + 0x15 Bytes       C++
>       QtCored4.dll!QCoreApplication::sendSpontaneousEvent(QObject * receiver, 
> QEvent * event)  Zeile 218 + 0x38 Bytes C++
>       QtGuid4.dll!QETWidget::sendSpontaneousEvent(QObject * r, QEvent * e)  
> Zeile 571 + 0x11 Bytes    C++
>       QtGuid4.dll!QKeyMapper::sendKeyEvent(QWidget * widget, bool grab, 
> QEvent::Type type, int code, QFlags<enum Qt::KeyboardModifier> modifiers, 
> const QString & text, bool autorepeat, int count, unsigned int 
> nativeScanCode, unsigned int nativeVirtualKey, unsigned int nativeModifiers, 
> bool * __formal)  Zeile 1195 + 0xd Bytes        C++
>       QtGuid4.dll!QKeyMapperPrivate::translateKeyEvent(QWidget * widget, 
> const tagMSG & msg, bool grab)  Zeile 1082 + 0x45 Bytes      C++
>       QtGuid4.dll!QtWndProc(HWND__ * hwnd, unsigned int message, unsigned int 
> wParam, long lParam)  Zeile 1771 + 0x36 Bytes   C++
>       user32.dll!75566238()   
>       user32.dll!755668ea()   
>       user32.dll!75566899()   
>       user32.dll!75567d31()   
>       user32.dll!755904b9()   
>       user32.dll!75567dfa()   
>       QtCored4.dll!QEventDispatcherWin32::processEvents(QFlags<enum 
> QEventLoop::ProcessEventsFlag> flags)  Zeile 807  C++
>       QtGuid4.dll!QGuiEventDispatcherWin32::processEvents(QFlags<enum 
> QEventLoop::ProcessEventsFlag> flags)  Zeile 1170 + 0x15 Bytes  C++
>       QtCored4.dll!QEventLoop::processEvents(QFlags<enum 
> QEventLoop::ProcessEventsFlag> flags)  Zeile 150     C++
>       QtCored4.dll!QEventLoop::exec(QFlags<enum 
> QEventLoop::ProcessEventsFlag> flags)  Zeile 201 + 0x2d Bytes C++
>       QtCored4.dll!QCoreApplication::exec()  Zeile 1009 + 0x15 Bytes  C++
>       QtGuid4.dll!QApplication::exec()  Zeile 3720    C++
>       LyX.exe!lyx::frontend::GuiApplication::exec()  Zeile 1906 + 0x8 Bytes   
> C++
>       LyX.exe!lyx::LyX::exec(int & argc, char * * argv)  Zeile 398 + 0x28 
> Bytes       C++
>       LyX.exe!main(int argc, char * * argv)  Zeile 42 + 0x10 Bytes    C++
>       LyX.exe!__tmainCRTStartup()  Zeile 555 + 0x19 Bytes     C
>       LyX.exe!mainCRTStartup()  Zeile 371     C
>       kernel32.dll!75673677()         
>       ntdll.dll!77339d42()    
>       ntdll.dll!77339d15()    

>       msvcr100d.dll!operator delete(void * pUserData)  Zeile 52 + 0x3 Bytes   
> C++
>       LyX.exe!std::allocator<int>::deallocate(int * _Ptr, unsigned int 
> __formal)  Zeile 182 + 0x9 Bytes       C++
>       LyX.exe!std::deque<int,std::allocator<int> >::_Tidy()  Zeile 1646       
> C++
>       LyX.exe!std::deque<int,std::allocator<int> 
> >::_Assign_rv(std::deque<int,std::allocator<int> > && _Right)  Zeile 931     
> C++
>       LyX.exe!std::deque<int,std::allocator<int> 
> >::operator=(std::deque<int,std::allocator<int> > && _Right)  Zeile 914      
> C++
>       LyX.exe!std::queue<int,std::deque<int,std::allocator<int> > 
> >::operator=(std::queue<int,std::deque<int,std::allocator<int> > > && _Right) 
>  Zeile 61     C++
>       LyX.exe!lyx::Graph::bfs_init(int s, bool clear_visited)  Zeile 32 + 
> 0x27 Bytes  C++
>       LyX.exe!lyx::Graph::getPath(int from, int to)  Zeile 174 + 0x14 Bytes   
> C++
>       LyX.exe!lyx::Converters::getPath(const 
> std::basic_string<char,std::char_traits<char>,std::allocator<char> > & from, 
> const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & 
> to)  Zeile 708 + 0x2d Bytes    C++
>       LyX.exe!lyx::Buffer::doExport(const 
> std::basic_string<char,std::char_traits<char>,std::allocator<char> > & 
> format, bool put_in_tempdir, bool includeall, 
> std::basic_string<char,std::char_traits<char>,std::allocator<char> > & 
> result_file)  Zeile 3486 + 0x23 Bytes   C++
>       LyX.exe!lyx::Buffer::preview(const 
> std::basic_string<char,std::char_traits<char>,std::allocator<char> > & 
> format, bool includeall)  Zeile 3681 + 0x14 Bytes     C++
>       LyX.exe!std::tr1::_Pmf_caller3<bool,lyx::Buffer>::_Call_pmf<bool 
> (__thiscall 
> lyx::Buffer::*)(std::basic_string<char,std::char_traits<char>,std::allocator<char>
>  > const &,bool)const ,lyx::Buffer * 
> const,std::basic_string<char,std::char_traits<char>,std::allocator<char> > 
> const ,bool const >(const void * __formal, bool (const 
> std::basic_string<char,std::char_traits<char>,std::allocator<char> > &, 
> bool)* _Pm, lyx::Buffer * const & _Fx0, const 
> std::basic_string<char,std::char_traits<char>,std::allocator<char> > & _Fx1, 
> const bool & _Fx2)  Zeile 42 + 0x15 Bytes      C++
>       LyX.exe!std::tr1::_Pmf_caller3<bool,lyx::Buffer>::_Apply_pmf<bool 
> (__thiscall 
> lyx::Buffer::*)(std::basic_string<char,std::char_traits<char>,std::allocator<char>
>  > const &,bool)const ,lyx::Buffer * 
> const,std::basic_string<char,std::char_traits<char>,std::allocator<char> > 
> const ,bool const >(bool (const 
> std::basic_string<char,std::char_traits<char>,std::allocator<char> > &, 
> bool)* _Pm, lyx::Buffer * const & _Fx0, const 
> std::basic_string<char,std::char_traits<char>,std::allocator<char> > & _Fx1, 
> const bool & _Fx2)  Zeile 52 + 0x2b Bytes    C++
>       LyX.exe!std::tr1::_Callable_pmf<bool (__thiscall 
> lyx::Buffer::*const)(std::basic_string<char,std::char_traits<char>,std::allocator<char>
>  > const &,bool)const ,lyx::Buffer,0>::_ApplyX<bool,lyx::Buffer * const 
> &,std::basic_string<char,std::char_traits<char>,std::allocator<char> > const 
> &,bool const &>(lyx::Buffer * const & _Ax0, const 
> std::basic_string<char,std::char_traits<char>,std::allocator<char> > & _Ax1, 
> const bool & _Ax2)  Zeile 9 + 0x1c Bytes    C++
>       LyX.exe!std::tr1::_Bind3<std::tr1::_Callable_pmf<bool (__thiscall 
> lyx::Buffer::*const)(std::basic_string<char,std::char_traits<char>,std::allocator<char>
>  > const &,bool)const ,lyx::Buffer,0>,lyx::Buffer 
> *,std::tr1::_Ph<1>,std::tr1::_Ph<2> 
> >::_ApplyX<bool,std::basic_string<char,std::char_traits<char>,std::allocator<char>
>  > const &,bool const &,std::tr1::_Nil &,std::tr1::_Nil &,std::tr1::_Nil 
> &,std::tr1::_Nil &,std::tr1::_Nil &,std::tr1::_Nil &,std::tr1::_Nil 
> &,std::tr1::_Nil &>(const 
> std::basic_string<char,std::char_traits<char>,std::allocator<char> > & _Bx0, 
> const bool & _Bx1, std::tr1::_Nil & _Bx2, std::tr1::_Nil & _Bx3, 
> std::tr1::_Nil & _Bx4, std::tr1::_Nil & _Bx5, std::tr1::_Nil & _Bx6, 
> std::tr1::_Nil & _Bx7, std::tr1::_Nil & _Bx8, std::tr1::_Nil & _Bx9)  Zeile 
> 286      C++
>       
> LyX.exe!std::tr1::_Bind_base<bool,std::tr1::_Bind3<std::tr1::_Callable_pmf<bool
>  (__thiscall 
> lyx::Buffer::*const)(std::basic_string<char,std::char_traits<char>,std::allocator<char>
>  > const &,bool)const ,lyx::Buffer,0>,lyx::Buffer 
> *,std::tr1::_Ph<1>,std::tr1::_Ph<2> > 
> >::operator()<std::basic_string<char,std::char_traits<char>,std::allocator<char>
>  > const &,bool const &>(const 
> std::basic_string<char,std::char_traits<char>,std::allocator<char> > & _CA0, 
> const bool & _CA1)  Zeile 17     C++
> >     
> > LyX.exe!lyx::frontend::GuiView::GuiViewPrivate::runAndDestroy<std::tr1::_Bind<bool,bool,std::tr1::_Bind3<std::tr1::_Callable_pmf<bool
> >  (__thiscall 
> > lyx::Buffer::*const)(std::basic_string<char,std::char_traits<char>,std::allocator<char>
> >  > const &,bool)const ,lyx::Buffer,0>,lyx::Buffer 
> > *,std::tr1::_Ph<1>,std::tr1::_Ph<2> > > >(const 
> > std::tr1::_Bind<bool,bool,std::tr1::_Bind3<std::tr1::_Callable_pmf<bool 
> > (__thiscall 
> > lyx::Buffer::*const)(std::basic_string<char,std::char_traits<char>,std::allocator<char>
> >  > const &,bool)const ,lyx::Buffer,0>,lyx::Buffer 
> > *,std::tr1::_Ph<1>,std::tr1::_Ph<2> > > & func, const lyx::Buffer * orig, 
> > lyx::Buffer * buffer, const 
> > std::basic_string<char,std::char_traits<char>,std::allocator<char> > & 
> > format, const 
> > std::basic_string<char,std::char_traits<char>,std::allocator<char> > & msg) 
> >  Zeile 2954 + 0x10 Bytes C++
>       LyX.exe!lyx::frontend::GuiView::GuiViewPrivate::previewAndDestroy(const 
> lyx::Buffer * orig, lyx::Buffer * buffer, const 
> std::basic_string<char,std::char_traits<char>,std::allocator<char> > & 
> format)  Zeile 2987 + 0x52 Bytes C++
>       LyX.exe!QtConcurrent::StoredFunctorCall3<std::basic_string<unsigned 
> int,std::char_traits<unsigned int>,std::allocator<unsigned int> 
> >,std::basic_string<unsigned int,std::char_traits<unsigned 
> int>,std::allocator<unsigned int> > (__cdecl*)(lyx::Buffer const 
> *,lyx::Buffer 
> *,std::basic_string<char,std::char_traits<char>,std::allocator<char> > const 
> &),lyx::Buffer const *,lyx::Buffer 
> *,std::basic_string<char,std::char_traits<char>,std::allocator<char> > 
> >::runFunctor()  Zeile 694 + 0x61 Bytes    C++
>       LyX.exe!QtConcurrent::RunFunctionTask<std::basic_string<unsigned 
> int,std::char_traits<unsigned int>,std::allocator<unsigned int> > >::run()  
> Zeile 103 + 0x13 Bytes     C++
>       QtCored4.dll!QThreadPoolThread::run()  Zeile 106 + 0xc Bytes    C++
>       QtCored4.dll!QThreadPrivate::start(void * arg)  Zeile 317       C++
>       msvcr100d.dll!_callthreadstartex()  Zeile 314 + 0xf Bytes       C
>       msvcr100d.dll!_threadstartex(void * ptd)  Zeile 297     C
>       kernel32.dll!75673677()         
>       [Unten angegebene Rahmen sind möglicherweise nicht korrekt und/oder 
> fehlen, keine Symbole geladen für kernel32.dll]     
>       ntdll.dll!77339d42()    
>       ntdll.dll!77339d15()    

Reply via email to