On 01/12/2012 02:52 PM, Michael Stahl wrote:
On 12/01/12 14:44, Stephan Bergmann wrote:
#12 in SdrPageView::DrawLayer at svx/source/svdraw/svdpagv.cxx:398
#13 in SwViewImp::PaintLayer at sw/source/core/view/vdraw.cxx:148
#14 in SwRootFrm::Paint at sw/source/core/layout/paintfrm.cxx:2976
#15 in ViewShell::Paint at sw/source/core/view/viewsh.cxx:1678
#16 in SwCrsrShell::Paint at sw/source/core/crsr/crsrsh.cxx:1165
#17 in SwEditWin::Paint at sw/source/ui/docvw/edtwin2.cxx:535
#18 in Window::ImplCallPaint at vcl/source/window/window.cxx:2417
#19 in Window::ImplCallPaint at vcl/source/window/window.cxx:2441
#20 in Window::ImplCallPaint at vcl/source/window/window.cxx:2441
#21 in Window::ImplCallPaint at vcl/source/window/window.cxx:2441
#22 in Window::ImplCallPaint at vcl/source/window/window.cxx:2441
#23 in Window::ImplCallPaint at vcl/source/window/window.cxx:2441
#24 in Window::ImplCallPaint at vcl/source/window/window.cxx:2441
#25 in Window::ImplCallOverlapPaint at vcl/source/window/window.cxx:2477
#26 in Window::ImplHandlePaintHdl at vcl/source/window/window.cxx:2497
#27 in Window::LinkStubImplHandlePaintHdl at vcl/source/window/window.cxx:2491
#28 in Link::Call at solver/unxlngx6/inc/tools/link.hxx:140
#29 in Timer::Timeout at vcl/source/app/timer.cxx:256
[...]

on the main thread while an URP thread is simultaneously executing
SwXTextDocument::close.  Looks like SwXTextDocument::close destroys data
that is still accessed within SwEditWin::Paint, but I haven't yet come
around to find the cause here.  (Problem can only be observed
sporadically, and valgrind didn't help yet.)  I plan to follow up on
this, however.  Please ignore tinderbox failure mails that are due to
this crash in the meantime.

sounds bad; that looks like a SolarMutex guard is missing somewhere...

Given that SwXTextDocument::close is just

void SwXTextDocument::close( sal_Bool bDeliverOwnership ) throw( 
util::CloseVetoException, RuntimeException )
{
    if(IsValid() && m_pHiddenViewFrame)
        lcl_DisposeView( m_pHiddenViewFrame, pDocShell);
    SfxBaseModel::close(bDeliverOwnership);
}

and that SfxBaseModel::close has its complete body protected by a SolarMutexGuard, would including the first two lines of close's body in the guarded region (or spanning an additional region around just part of that) look correct?

Stephan
_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice

Reply via email to