Bug 97409 - Triggering invalidate while rendering ...
Summary: Triggering invalidate while rendering ...
Status: RESOLVED WONTFIX
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: graphics stack (show other bugs)
Version:
(earliest affected)
5.1.0.1 rc
Hardware: All All
: medium normal
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-01-28 11:35 UTC by Michael Meeks
Modified: 2016-01-28 18:22 UTC (History)
2 users (show)

See Also:
Crash report or crash signature:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Meeks 2016-01-28 11:35:13 UTC
This may be the cause of bug#94069 :-)

Breakpoint 1, vcl::Window::ImplInvalidate (this=0x1a1fb70, pRegion=0x0, nFlags=33) at /data/opt/libreoffice/libreoffice-5-0/vcl/source/window/paint.cxx:774
774	    if ( mpWindowImpl->mpFrameData->mpFirstBackWin )
(gdb) bt
#0  0x00007ffff07810a5 in vcl::Window::ImplInvalidate(vcl::Region const*, unsigned short) (this=0x1a1fb70, pRegion=0x0, nFlags=33) at /data/opt/libreoffice/libreoffice-5-0/vcl/source/window/paint.cxx:774
#1  0x00007ffff0933ea2 in vcl::Window::Show(bool, unsigned short) (this=0x1a1fb70, bVisible=true, nFlags=0) at /data/opt/libreoffice/libreoffice-5-0/vcl/source/window/window.cxx:2440
#2  0x00007ffff2ace91c in BrowseBox::Resize() (this=0x1a1e610) at /data/opt/libreoffice/libreoffice-5-0/svtools/source/brwbox/brwbox2.cxx:564
#3  0x00007ffff2aea412 in svt::EditBrowseBox::Resize() (this=0x1a1e610) at /data/opt/libreoffice/libreoffice-5-0/svtools/source/brwbox/editbrowsebox.cxx:1154
#4  0x00007ffff083c37d in vcl::Window::ImplCallResize() (this=0x1a1e610) at /data/opt/libreoffice/libreoffice-5-0/vcl/source/window/event.cxx:467
#5  0x00007ffff09310fe in vcl::Window::ImplPosSizeWindow(long, long, long, long, PosSizeFlags) (this=0x1a1e610, nX=1, nY=1, nWidth=687, nHeight=437, nFlags=PosSizeFlags::PosSize) at /data/opt/libreoffice/libreoffice-5-0/vcl/source/window/window.cxx:1728
#6  0x00007ffff0930ff5 in vcl::Window::ImplPosSizeWindow(long, long, long, long, PosSizeFlags) (this=0x1a1efd0, nX=638, nY=294, nWidth=689, nHeight=439, nFlags=PosSizeFlags::PosSize) at /data/opt/libreoffice/libreoffice-5-0/vcl/source/window/window.cxx:1701
#7  0x00007ffff093603e in vcl::Window::setPosSizePixel(long, long, long, long, PosSizeFlags) (this=0x1a1e610, nX=638, nY=294, nWidth=689, nHeight=439, nFlags=PosSizeFlags::PosSize) at /data/opt/libreoffice/libreoffice-5-0/vcl/source/window/window.cxx:2969
#8  0x00007ffff23381c5 in VCLXWindow::setPosSize(int, int, int, int, short) (this=0x7fffb063b330, X=638, Y=294, Width=689, Height=439, Flags=15) at /data/opt/libreoffice/libreoffice-5-0/toolkit/source/awt/vclxwindow.cxx:975
#9  0x00007ffff2446a3a in UnoControl::setPosSize(int, int, int, int, short) (this=0x7fffc0081a18, X=638, Y=294, Width=689, Height=439, Flags=15) at /data/opt/libreoffice/libreoffice-5-0/toolkit/source/controls/unocontrol.cxx:762
#10 0x00007fffc06c4466 in sdr::contact::ControlHolder::setPosSize(Rectangle const&) const (this=0x7fffb063a880, _rPosSize=Rectangle = {...}) at /data/opt/libreoffice/libreoffice-5-0/svx/source/sdr/contact/viewobjectcontactofunocontrol.cxx:239
#11 0x00007fffc06c4a1c in sdr::contact::UnoControlContactHelper::adjustControlGeometry_throw(sdr::contact::ControlHolder const&, Rectangle const&, basegfx::B2DHomMatrix const&, basegfx::B2DHomMatrix const&) (_rControl=..., _rLogicBoundingRect=Rectangle = {...}, _rViewTransformation=..., _rZoomLevelNormalization=...) at /data/opt/libreoffice/libreoffice-5-0/svx/source/sdr/contact/viewobjectcontactofunocontrol.cxx:317
#12 0x00007fffc06c5754 in sdr::contact::ViewObjectContactOfUnoControl_Impl::positionAndZoomControl(basegfx::B2DHomMatrix const&) const (this=0x7fffb063a828, _rViewTransformation=...) at /data/opt/libreoffice/libreoffice-5-0/svx/source/sdr/contact/viewobjectcontactofunocontrol.cxx:954
#13 0x00007fffc06ca716 in sdr::contact::LazyControlCreationPrimitive2D::impl_positionAndZoomControl(drawinglayer::geometry::ViewInformation2D const&) const (this=0x7fffa2a48e50, _rViewInformation=...) at /data/opt/libreoffice/libreoffice-5-0/svx/source/sdr/contact/viewobjectcontactofunocontrol.cxx:836
#14 0x00007fffc06c830f in sdr::contact::LazyControlCreationPrimitive2D::get2DDecomposition(drawinglayer::geometry::ViewInformation2D const&) const (this=0x7fffa2a48e50, _rViewInformation=...) at /data/opt/libreoffice/libreoffice-5-0/svx/source/sdr/contact/viewobjectcontactofunocontrol.cxx:1558
#15 0x00007fffee4ae387 in drawinglayer::processor2d::VclPixelProcessor2D::processBasePrimitive2D(drawinglayer::primitive2d::BasePrimitive2D const&) (this=0x1b59580, rCandidate=...) at /data/opt/libreoffice/libreoffice-5-0/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx:1242
#16 0x00007fffee48fa45 in drawinglayer::processor2d::BaseProcessor2D::process(com::sun::star::uno::Sequence<com::sun::star::uno::Reference<com::sun::star::graphic::XPrimitive2D> > const&) (this=0x1b59580, rSource=uno::Sequence of length 1 = {...}) at /data/opt/libreoffice/libreoffice-5-0/drawinglayer/source/processor2d/baseprocessor2d.cxx:64
#17 0x00007fffee4b3693 in drawinglayer::processor2d::VclProcessor2D::RenderTransformPrimitive2D(drawinglayer::primitive2d::TransformPrimitive2D const&) (this=0x1b59580, rTransformCandidate=...) at /data/opt/libreoffice/libreoffice-5-0/drawinglayer/source/processor2d/vclprocessor2d.cxx:1036
#18 0x00007fffee4ad376 in drawinglayer::processor2d::VclPixelProcessor2D::processBasePrimitive2D(drawinglayer::primitive2d::BasePrimitive2D const&) (this=0x1b59580, rCandidate=...) at /data/opt/libreoffice/libreoffice-5-0/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx:962
#19 0x00007fffee48fa45 in drawinglayer::processor2d::BaseProcessor2D::process(com::sun::star::uno::Sequence<com::sun::star::uno::Reference<com::sun::star::graphic::XPrimitive2D> > const&) (this=0x1b59580, rSource=uno::Sequence of length 1 = {...}) at /data/opt/libreoffice/libreoffice-5-0/drawinglayer/source/processor2d/baseprocessor2d.cxx:64
#20 0x00007fffee4b3093 in drawinglayer::processor2d::VclProcessor2D::RenderUnifiedTransparencePrimitive2D(drawinglayer::primitive2d::UnifiedTransparencePrimitive2D const&) (this=0x1b59580, rTransCandidate=...) at /data/opt/libreoffice/libreoffice-5-0/drawinglayer/source/processor2d/vclprocessor2d.cxx:963
#21 0x00007fffee4ad32a in drawinglayer::processor2d::VclPixelProcessor2D::processBasePrimitive2D(drawinglayer::primitive2d::BasePrimitive2D const&) (this=0x1b59580, rCandidate=...) at /data/opt/libreoffice/libreoffice-5-0/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx:946
#22 0x00007fffee48fa45 in drawinglayer::processor2d::BaseProcessor2D::process(com::sun::star::uno::Sequence<com::sun::star::uno::Reference<com::sun::star::graphic::XPrimitive2D> > const&) (this=0x1b59580, rSource=uno::Sequence of length 1 = {...}) at /data/opt/libreoffice/libreoffice-5-0/drawinglayer/source/processor2d/baseprocessor2d.cxx:64
#23 0x00007fffc06eb3e2 in sdr::overlay::OverlayManager::ImpDrawMembers(basegfx::B2DRange const&, OutputDevice&) const (this=0x1d694c0, rRange=basegfx::B2DRange = {...}, rDestinationDevice=...) at /data/opt/libreoffice/libreoffice-5-0/svx/source/sdr/overlay/overlaymanager.cxx:78
#24 0x00007fffc06ec271 in sdr::overlay::OverlayManager::completeRedraw(vcl::Region const&, OutputDevice*) const (this=0x1d694c0, rRegion=..., pPreRenderDevice=0x1af9b80) at /data/opt/libreoffice/libreoffice-5-0/svx/source/sdr/overlay/overlaymanager.cxx:255
#25 0x00007fffc06e23d3 in sdr::overlay::OverlayManagerBuffered::completeRedraw(vcl::Region const&, OutputDevice*) const (this=0x1d694c0, rRegion=..., pPreRenderDevice=0x1af9b80) at /data/opt/libreoffice/libreoffice-5-0/svx/source/sdr/overlay/overlaymanagerbuffered.cxx:422
#26 0x00007fffc07271f0 in SdrPaintWindow::DrawOverlay(vcl::Region const&) (this=0x17c0890, rRegion=...) at /data/opt/libreoffice/libreoffice-5-0/svx/source/svdraw/sdrpaintwindow.cxx:342
#27 0x00007fffc08cb368 in SdrPaintView::EndCompleteRedraw(SdrPaintWindow&, bool) (this=0x17c1f40, rPaintWindow=..., bPaintFormLayer=true) at /data/opt/libreoffice/libreoffice-5-0/svx/source/svdraw/svdpntv.cxx:764
#28 0x00007fffc0bc280a in FmFormView::EndCompleteRedraw(SdrPaintWindow&, bool) (this=0x17c1f40, rPaintWindow=..., bPaintFormLayer=true) at /data/opt/libreoffice/libreoffice-5-0/svx/source/form/fmview.cxx:478
#29 0x00007fffc08cb500 in SdrPaintView::EndDrawLayers(SdrPaintWindow&, bool) (this=0x17c1f40, rPaintWindow=..., bPaintFormLayer=true) at /data/opt/libreoffice/libreoffice-5-0/svx/source/svdraw/svdpntv.cxx:801
#30 0x00007fffad982276 in SwViewShell::DLPostPaint2(bool) (this=0x17c0f10, bPaintFormLayer=true) at /data/opt/libreoffice/libreoffice-5-0/sw/source/core/view/viewsh.cxx:244
#31 0x00007fffad9894f3 in SwViewShell::Paint(OutputDevice&, Rectangle const&) (this=0x17c0f10, rRenderContext=..., rRect=Rectangle = {...}) at /data/opt/libreoffice/libreoffice-5-0/sw/source/core/view/viewsh.cxx:1795
#32 0x00007fffad07fc46 in SwCrsrShell::Paint(OutputDevice&, Rectangle const&) (this=0x17c0f10, rRenderContext=..., rRect=Rectangle = {...}) at /data/opt/libreoffice/libreoffice-5-0/sw/source/core/crsr/crsrsh.cxx:1257
#33 0x00007fffadbd5eb8 in SwEditWin::Paint(OutputDevice&, Rectangle const&) (this=0x17b6d70, rRenderContext=..., rRect=Rectangle = {...}) at /data/opt/libreoffice/libreoffice-5-0/sw/source/uibase/docvw/edtwin2.cxx:472
#34 0x00007ffff077f40a in PaintHelper::DoPaint(vcl::Region const*) (this=0x7fffffffcbc0, pRegion=0x0) at /data/opt/libreoffice/libreoffice-5-0/vcl/source/window/paint.cxx:306
#35 0x00007ffff078078e in vcl::Window::ImplCallPaint(vcl::Region const*, unsigned short) (this=0x17b6d70, pRegion=0x0, nPaintFlags=28) at /data/opt/libreoffice/libreoffice-5-0/vcl/source/window/paint.cxx:607
#36 0x00007ffff0780338 in PaintHelper::~PaintHelper() (this=0x7fffffffcd00, __in_chrg=<optimized out>) at /data/opt/libreoffice/libreoffice-5-0/vcl/source/window/paint.cxx:545
#37 0x00007ffff07807df in vcl::Window::ImplCallPaint(vcl::Region const*, unsigned short) (this=0x17aee70, pRegion=0x0, nPaintFlags=8) at /data/opt/libreoffice/libreoffice-5-0/vcl/source/window/paint.cxx:611
#38 0x00007ffff0780338 in PaintHelper::~PaintHelper() (this=0x7fffffffce40, __in_chrg=<optimized out>) at /data/opt/libreoffice/libreoffice-5-0/vcl/source/window/paint.cxx:545
#39 0x00007ffff07807df in vcl::Window::ImplCallPaint(vcl::Region const*, unsigned short) (this=0x17abbc0, pRegion=0x0, nPaintFlags=8) at /data/opt/libreoffice/libreoffice-5-0/vcl/source/window/paint.cxx:611
#40 0x00007ffff0780338 in PaintHelper::~PaintHelper() (this=0x7fffffffcf80, __in_chrg=<optimized out>) at /data/opt/libreoffice/libreoffice-5-0/vcl/source/window/paint.cxx:545
#41 0x00007ffff07807df in vcl::Window::ImplCallPaint(vcl::Region const*, unsigned short) (this=0x17ac4e0, pRegion=0x0, nPaintFlags=8) at /data/opt/libreoffice/libreoffice-5-0/vcl/source/window/paint.cxx:611
#42 0x00007ffff0780338 in PaintHelper::~PaintHelper() (this=0x7fffffffd0c0, __in_chrg=<optimized out>) at /data/opt/libreoffice/libreoffice-5-0/vcl/source/window/paint.cxx:545
#43 0x00007ffff07807df in vcl::Window::ImplCallPaint(vcl::Region const*, unsigned short) (this=0x15b0100, pRegion=0x0, nPaintFlags=8) at /data/opt/libreoffice/libreoffice-5-0/vcl/source/window/paint.cxx:611
#44 0x00007ffff0780338 in PaintHelper::~PaintHelper() (this=0x7fffffffd200, __in_chrg=<optimized out>) at /data/opt/libreoffice/libreoffice-5-0/vcl/source/window/paint.cxx:545
#45 0x00007ffff07807df in vcl::Window::ImplCallPaint(vcl::Region const*, unsigned short) (this=0x15b79c0, pRegion=0x0, nPaintFlags=8) at /data/opt/libreoffice/libreoffice-5-0/vcl/source/window/paint.cxx:611
#46 0x00007ffff07808db in vcl::Window::ImplCallOverlapPaint() (this=0x15b79c0) at /data/opt/libreoffice/libreoffice-5-0/vcl/source/window/paint.cxx:631
#47 0x00007ffff0780abb in vcl::Window::ImplHandlePaintHdl(Idle*) (this=0x15b79c0) at /data/opt/libreoffice/libreoffice-5-0/vcl/source/window/paint.cxx:661
#48 0x00007ffff078098f in vcl::Window::LinkStubImplHandlePaintHdl(void*, Idle*) (instance=0x15b79c0, data=0x15b39b0) at /data/opt/libreoffice/libreoffice-5-0/vcl/source/window/paint.cxx:641
#49 0x00007ffff0785c27 in Link<Idle*, void>::Call(Idle*) const (this=0x15b39d0, data=0x15b39b0) at /data/opt/libreoffice/libreoffice-5-0/include/tools/link.hxx:127
#50 0x00007ffff0d2de47 in Idle::Invoke() (this=0x15b39b0) at /data/opt/libreoffice/libreoffice-5-0/vcl/source/app/idle.cxx:26
#51 0x00007ffff0d34840 in ImplSchedulerData::Invoke() (this=0x1cf0e70) at /data/opt/libreoffice/libreoffice-5-0/vcl/source/app/scheduler.cxx:38
#52 0x00007ffff0d34b05 in Scheduler::ProcessTaskScheduling(bool) (bTimer=false) at /data/opt/libreoffice/libreoffice-5-0/vcl/source/app/scheduler.cxx:127
#53 0x00007ffff0d56e29 in ImplYield(bool, bool) (i_bWait=true, i_bAllEvents=false) at /data/opt/libreoffice/libreoffice-5-0/vcl/source/app/svapp.cxx:346
#54 0x00007ffff0d5351d in Application::Yield() () at /data/opt/libreoffice/libreoffice-5-0/vcl/source/app/svapp.cxx:382
#55 0x00007ffff0d534cb in Application::Execute() () at /data/opt/libreoffice/libreoffice-5-0/vcl/source/app/svapp.cxx:336
#56 0x00007ffff77f2b72 in desktop::Desktop::Main() (this=0x7fffffffdb70) at /data/opt/libreoffice/libreoffice-5-0/desktop/source/app/app.cxx:1605
#57 0x00007ffff0d5b7cd in ImplSVMain() () at /data/opt/libreoffice/libreoffice-5-0/vcl/source/app/svmain.cxx:169
#58 0x00007ffff0d5b8ee in SVMain() () at /data/opt/libreoffice/libreoffice-5-0/vcl/source/app/svmain.cxx:206
#59 0x00007ffff78374c6 in soffice_main() () at /data/opt/libreoffice/libreoffice-5-0/desktop/source/app/sofficemain.cxx:96
#60 0x0000000000400954 in sal_main () at /data/opt/libreoffice/libreoffice-5-0/desktop/source/app/main.c:48
#61 0x000000000040093a in main (argc=2, argv=0x7fffffffde68) at /data/opt/libreoffice/libreoffice-5-0/desktop/source/app/main.c:47
Comment 1 Michael Meeks 2016-01-28 11:53:16 UTC
Very similar to: https://bz.apache.org/ooo/show_bug.cgi?id=104181 mentioned here:

    void ControlHolder::setPosSize( const Rectangle& _rPosSize ) const
    {
        // no check whether we're valid, this is the responsibility of the caller

        // don't call setPosSize when pos/size did not change
        // #i104181# / 2009-08-18 / frank.schoenheit@sun.com
        ::Rectangle aCurrentRect( getPosSize() );
        if ( aCurrentRect != _rPosSize )
        {
            m_xControlWindow->setPosSize(
                _rPosSize.Left(), _rPosSize.Top(), _rPosSize.GetWidth(), _rPosSize.GetHeight(),
                POSSIZE
            );
        }
    }
Comment 2 Michael Meeks 2016-01-28 18:22:36 UTC
Abandoning work here - perhaps this is just a one off - the parent frames check that the size is not the same as below; possible idiot debugging error =)

then again - was in the middle of an apparent busy loop so ...