[Libreoffice-commits] core.git: reportdesign/source

Stephan Bergmann sbergman at redhat.com
Tue Jun 11 06:37:36 PDT 2013


 reportdesign/source/ui/report/SectionWindow.cxx |    1 +
 1 file changed, 1 insertion(+)

New commits:
commit 85165a18e9f8123d80246bedfad0acd8a314f715
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Tue Jun 11 15:36:32 2013 +0200

    Lock Solar Mutex in rptui::OSectionWindow::_propertyChanged
    
    <https://bugs.freedesktop.org/show_bug.cgi?id=65478#c4> "REPORTBUILDER: Crash by
    following case 2 from fdo#61725 + click cancel" comment 4 discusses a scenario
    that leads to a fired DbgTestSolarMutex assertion in --enable-dbgutil builds at:
    
    0  0x0000003c80635ba5 in __GI_raise (sig=sig at entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:63
    1  0x0000003c80637358 in __GI_abort () at abort.c:90
    2  0x0000003c8062e972 in __assert_fail_base (fmt=0x3c807793e8 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion at entry=0x7fcbe332a8b8 "ImplGetSVData()->mpDefInst->CheckYieldMutex()", file=file at entry=0x7fcbe332a880 "lo/core/vcl/source/app/dbggui.cxx", line=line at entry=1747, function=function at entry=0x7fcbe332b250 <ImplDbgTestSolarMutex()::__PRETTY_FUNCTION__> "void ImplDbgTestSolarMutex()") at assert.c:92
    3  0x0000003c8062ea22 in __GI___assert_fail (assertion=0x7fcbe332a8b8 "ImplGetSVData()->mpDefInst->CheckYieldMutex()", file=0x7fcbe332a880 "lo/core/vcl/source/app/dbggui.cxx", line=1747, function=0x7fcbe332b250 <ImplDbgTestSolarMutex()::__PRETTY_FUNCTION__> "void ImplDbgTestSolarMutex()") at assert.c:101
    4  0x00007fcbe2bb5ea8 in ImplDbgTestSolarMutex () at lo/core/vcl/source/app/dbggui.cxx:1747
    5  0x00007fcbe4053783 in DbgFunc (nAction=15, pParam=0x0) at lo/core/tools/source/debug/debug.cxx:1119
    6  0x00007fcbe2e75465 in DbgTestSolarMutex () at lo/core/include/tools/debug.hxx:295
    7  0x00007fcbe2e9b213 in OutputDevice::ImplGetGraphics (this=0x1ca8e98) at lo/core/vcl/source/gdi/outdev.cxx:554
    8  0x00007fcbe2e9af4c in OutputDevice::ImplHasMirroredGraphics (this=0x1ca8e98) at lo/core/vcl/source/gdi/outdev.cxx:511
    9  0x00007fcbe3163f1f in Window::ImplPosSizeWindow (this=0x1ca8e98, nX=127, nY=1199, nWidth=2318, nHeight=13, nFlags=15) at lo/core/vcl/source/window/window.cxx:3286
    10 0x00007fcbe31737c1 in Window::setPosSizePixel (this=0x1ca8e98, nX=127, nY=1199, nWidth=2318, nHeight=13, nFlags=15) at lo/core/vcl/source/window/window.cxx:7181
    11 0x00007fcbe314fa59 in Window::SetPosSizePixel (this=0x1ca8e98, rNewPos=Point = {...}, rNewSize=Size = {...}) at lo/core/vcl/source/window/window2.cxx:1717
    12 0x00007fcb8e0cfd2c in rptui::lcl_setScrollBar (_nNewValue=2318, _aPos=Point = {...}, _aSize=Size = {...}, _rScrollBar=...) at lo/core/reportdesign/source/ui/report/ScrollHelper.cxx:38
    13 0x00007fcb8e0d0b41 in rptui::OScrollWindowHelper::ResizeScrollBars (this=0x1ca8cb0) at lo/core/reportdesign/source/ui/report/ScrollHelper.cxx:169
    14 0x00007fcb8e0d0c72 in rptui::OScrollWindowHelper::Resize (this=0x1ca8cb0) at lo/core/reportdesign/source/ui/report/ScrollHelper.cxx:182
    15 0x00007fcb8e0d0665 in rptui::OScrollWindowHelper::setTotalSize (this=0x1ca8cb0, _nWidth=1186, _nHeight=464) at lo/core/reportdesign/source/ui/report/ScrollHelper.cxx:110
    16 0x00007fcb8e0cefba in rptui::OReportWindow::notifySizeChanged (this=0x1ca96c0) at lo/core/reportdesign/source/ui/report/ReportWindow.cxx:255
    17 0x00007fcb8e0d3920 in rptui::OSectionWindow::_propertyChanged (this=0x21688a0, _rEvent=...) at lo/core/reportdesign/source/ui/report/SectionWindow.cxx:127
    18 0x00007fcbe7271dfb in comphelper::OPropertyChangeMultiplexer::propertyChange (this=0x7fcb8c1f2668, _rEvent=...) at lo/core/comphelper/source/property/propmultiplex.cxx:154
    19 0x00007fcbe6b0be20 in cppu::PropertySetMixinImpl::BoundListeners::notify (this=0x7fff42dd9780) at lo/core/cppuhelper/source/propertysetmixin.cxx:399
    20 0x00007fcb8ed52b50 in reportdesign::OSection::set<unsigned int> (this=0x7fcbd0199020, _sProperty="Height", _Value=@0x7fff42dd9804: 0, _member=@0x7fcbd0199170: 0) at lo/core/reportdesign/source/core/inc/Section.hxx:96
    21 0x00007fcb8ed4e2e2 in reportdesign::OSection::setHeight (this=0x7fcbd0199020, _height=0) at lo/core/reportdesign/source/core/api/Section.cxx:255
    22 0x00007fcbd42877de in gcc3::callVirtualMethod(void*, unsigned int, void*, _typelib_TypeDescriptionReference*, bool, unsigned long*, unsigned int, unsigned long*, unsigned int, double*, unsigned int) () from lo/core/solver/unxlngx6/installation/opt/ure/lib/libgcc3_uno.so
    23 0x00007fcbd428681a in cpp_call (pThis=0x202ea90, aVtableSlot=..., pReturnTypeRef=0x711840, nParams=1, pParams=0x7fff42dd9bc0, pUnoReturn=0x0, pUnoArgs=0x7fff42dd9c80, ppUnoExc=0x7fff42dd9d48) at lo/core/bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp.cxx:237
    24 0x00007fcbd4286fa8 in bridges::cpp_uno::shared::unoInterfaceProxyDispatch (pUnoI=0x202ea90, pMemberDescr=0x1e28590, pReturn=0x0, pArgs=0x7fff42dd9c80, ppException=0x7fff42dd9d48) at lo/core/bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp.cxx:368
    25 0x00007fcb9d498480 in jni_uno::Bridge::call_uno (this=0x1609c90, jni=..., pUnoI=0x202ea90, member_td=0x1e28590, return_type=0x711840, nParams=1, pParams=0x7fff42dd9e80, jo_args=0x7fff42dda1d0) at lo/core/bridges/source/jni_uno/jni_java2uno.cxx:262
    26 0x00007fcb9d4993ec in Java_com_sun_star_bridges_jni_1uno_JNI_1proxy_dispatch_1call (jni_env=0x1aec1d8, jo_proxy=0x7fff42dda1f0, bridge_handle=23108752, jo_method=0x7fff42dda1d8, jo_args=0x7fff42dda1d0) at lo/core/bridges/source/jni_uno/jni_java2uno.cxx:589
    27 0x00007fcba5011f90 in ?? ()
    28 0x00000005ff211500 in ?? ()
    29 0x0000000000000000 in ?? ()
    
    Change-Id: Id8f043b87227b589a9d79beaa94006aab3d9ad9d

diff --git a/reportdesign/source/ui/report/SectionWindow.cxx b/reportdesign/source/ui/report/SectionWindow.cxx
index d6a49ed..3dbc65f 100644
--- a/reportdesign/source/ui/report/SectionWindow.cxx
+++ b/reportdesign/source/ui/report/SectionWindow.cxx
@@ -116,6 +116,7 @@ OSectionWindow::~OSectionWindow()
 // -----------------------------------------------------------------------------
 void OSectionWindow::_propertyChanged(const beans::PropertyChangeEvent& _rEvent) throw( uno::RuntimeException)
 {
+    SolarMutexGuard g;
     const uno::Reference< report::XSection > xSection(_rEvent.Source,uno::UNO_QUERY);
     if ( xSection.is() )
     {


More information about the Libreoffice-commits mailing list