Apache OpenOffice (AOO) Bugzilla – Issue 100905
Crash during running presentation
Last modified: 2017-05-20 10:28:55 UTC
I checked with "Ooo Dev 3.2.0 multilingual version German UI WIN XP: [DEV300m44 (Build 9395)]" and it crashes when I run - "testani.ppt" from Issue 95319 - "OO2-3problem.odp" from Issue 95878 I will contribute crash report ID asap.
Not reproducible here with DEV300_m45.
Crash report IDs are rg344vc, rcg44vc
Reassigned. Not reproducible here but obviously at the reporter. @af: anything visible from the stack?
I can reproduce a crash with the document from issue 95319.
I can reproduce the crash only when the Presenter Console extension is installed. Whether the crash is caused or triggered by the extension remains to be seen. The crash occurs when I start the 9th effect, that is defined on group object 3.
The crash is caused by a heap corruption which in turn may be caused by the clipping problems of the wipe effects (see issue 95319): When I replace the 9th "Wipe" with "Appear" the crash takes place when the following "Wipe" is played. The stack is, of course, not conclusive. Maybe I should first fix issue 95319 and see if the crash goes away, too.
@af: could you paste the stack trace?
@thb: Sure. Here is one of them: ntdll.dll!DbgBreakPoint() [Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll] ntdll.dll!RtlpNtMakeTemporaryKey() + 0x6735 bytes ntdll.dll!LdrAlternateResourcesEnabled() + 0x2bc3 bytes ntdll.dll!RtlpNtMakeTemporaryKey() + 0x749c bytes ntdll.dll!LdrAlternateResourcesEnabled() + 0x2b05 bytes ntdll.dll!RtlDosSearchPath_Ustr() + 0x310 bytes > msvcr90d.dll!_heap_alloc_base(unsigned int size=64) Line 105 + 0x28 bytes C msvcr90d.dll!_heap_alloc_dbg_impl(unsigned int nSize=28, int nBlockUse=1, const char * szFileName=0x00000000, int nLine=0, int * errno_tmp=0x014cdf48) Line 427 + 0x9 bytes C++ msvcr90d.dll!_nh_malloc_dbg_impl(unsigned int nSize=28, int nhFlag=0, int nBlockUse=1, const char * szFileName=0x00000000, int nLine=0, int * errno_tmp=0x014cdf48) Line 239 + 0x19 bytes C++ msvcr90d.dll!_nh_malloc_dbg(unsigned int nSize=28, int nhFlag=0, int nBlockUse=1, const char * szFileName=0x00000000, int nLine=0) Line 296 + 0x1d bytes C++ msvcr90d.dll!malloc(unsigned int nSize=28) Line 56 + 0x15 bytes C++ msvcr90d.dll!operator new(unsigned int size=28) Line 59 + 0x9 bytes C++ basegfxmi.dll!o3tl::cow_wrapper<ImplB2DPolyPolygon,o3tl::UnsafeRefCountingPolicy>::cow_wrapper<ImplB2DPolyPolygon,o3tl::UnsafeRefCountingPolicy>(const ImplB2DPolyPolygon & r={...}) Line 222 + 0x2f bytes C++ basegfxmi.dll!basegfx::B2DPolyPolygon::B2DPolyPolygon(const basegfx::B2DPolygon & rPolygon={...}) Line 190 + 0x6b bytes C++ slideshow.uno.dll!slideshow::internal::`anonymous namespace'::createClipPolygon(const basegfx::B2DPolyPolygon & rClip={...}, const boost::shared_ptr<cppcanvas::Canvas> & __formal={...}, const basegfx::B2DVector & rUserSize={...}) Line 152 + 0x2c bytes C++ slideshow.uno.dll!slideshow::internal::`anonymous namespace'::SlideView::updateClip() Line 1140 + 0x45 bytes C++ slideshow.uno.dll!slideshow::internal::`anonymous namespace'::SlideView::setClip(const basegfx::B2DPolyPolygon & rClip={...}) Line 989 C++ slideshow.uno.dll!boost::_mfi::mf1<void,slideshow::internal::ViewLayer,basegfx::B2DPolyPolygon const &>::call<boost::shared_ptr<slideshow::internal::ViewLayer> const ,basegfx::B2DPolyPolygon const >(const boost::shared_ptr<slideshow::internal::ViewLayer> & u={...}, const void * __formal=0x10f2d79c, const basegfx::B2DPolyPolygon & b1={...}) Line 122 C++ slideshow.uno.dll!boost::_mfi::mf1<void,slideshow::internal::ViewLayer,basegfx::B2DPolyPolygon const &>::operator()<boost::shared_ptr<slideshow::internal::ViewLayer> const >(const boost::shared_ptr<slideshow::internal::ViewLayer> & u={...}, const basegfx::B2DPolyPolygon & a1={...}) Line 136 C++ slideshow.uno.dll!boost::_bi::list2<boost::_bi::bind_t<boost::shared_ptr<slideshow::internal::ViewLayer> const &,boost::_mfi::cmf0<boost::shared_ptr<slideshow::internal::ViewLayer> const &,slideshow::internal::Layer::ViewEntry>,boost::_bi::list1<boost::arg<1> > >,boost::reference_wrapper<basegfx::B2DPolyPolygon const > >::operator()<void,boost::_mfi::mf1<void,slideshow::internal::ViewLayer,basegfx::B2DPolyPolygon const &>,boost::_bi::list1<slideshow::internal::Layer::ViewEntry &> >(boost::_bi::type<void> __formal={...}, boost::_mfi::mf1<void,slideshow::internal::ViewLayer,basegfx::B2DPolyPolygon const &> f={...}, boost::_bi::list1<slideshow::internal::Layer::ViewEntry &> & a={...}) Line 242 C++ slideshow.uno.dll!boost::_bi::bind_t<void,boost::_mfi::mf1<void,slideshow::internal::ViewLayer,basegfx::B2DPolyPolygon const &>,boost::_bi::list2<boost::_bi::bind_t<boost::shared_ptr<slideshow::internal::ViewLayer> const &,boost::_mfi::cmf0<boost::shared_ptr<slideshow::internal::ViewLayer> const &,slideshow::internal::Layer::ViewEntry>,boost::_bi::list1<boost::arg<1> > >,boost::reference_wrapper<basegfx::B2DPolyPolygon const > > >::operator()<slideshow::internal::Layer::ViewEntry>(slideshow::internal::Layer::ViewEntry & a1={...}) Line 34 C++ slideshow.uno.dll!_STL::for_each<_STL::_DBG_iter<_STL::__vector<slideshow::internal::Layer::ViewEntry,_STL::allocator<slideshow::internal::Layer::ViewEntry> >,_STL::_Vector_nonconst_traits<slideshow::internal::Layer::ViewEntry,slideshow::internal::Layer::ViewEntry *> >,boost::_bi::bind_t<void,boost::_mfi::mf1<void,slideshow::internal::ViewLayer,basegfx::B2DPolyPolygon const &>,boost::_bi::list2<boost::_bi::bind_t<boost::shared_ptr<slideshow::internal::ViewLayer> const &,boost::_mfi::cmf0<boost::shared_ptr<slideshow::internal::ViewLayer> const &,slideshow::internal::Layer::ViewEntry>,boost::_bi::list1<boost::arg<1> > >,boost::reference_wrapper<basegfx::B2DPolyPolygon const > > > >(_STL::_DBG_iter<_STL::__vector<slideshow::internal::Layer::ViewEntry,_STL::allocator<slideshow::internal::Layer::ViewEntry> >,_STL::_Vector_nonconst_traits<slideshow::internal::Layer::ViewEntry,slideshow::internal::Layer::ViewEntry *> > __first={mpView={...} mpViewLayer={...} }, _STL::_DBG_iter<_STL::__vector<slideshow::internal::Layer::ViewEntry,_STL::allocator<slideshow::internal::Layer::ViewEntry> >,_STL::_Vector_nonconst_traits<slideshow::internal::Layer::ViewEntry,slideshow::internal::Layer::ViewEntry *> > __last=[end], boost::_bi::bind_t<void,boost::_mfi::mf1<void,slideshow::internal::ViewLayer,basegfx::B2DPolyPolygon const &>,boost::_bi::list2<boost::_bi::bind_t<boost::shared_ptr<slideshow::internal::ViewLayer> const &,boost::_mfi::cmf0<boost::shared_ptr<slideshow::internal::ViewLayer> const &,slideshow::internal::Layer::ViewEntry>,boost::_bi::list1<boost::arg<1> > >,boost::reference_wrapper<basegfx::B2DPolyPolygon const > > > __f={...}) Line 65 + 0x11 bytes C++ slideshow.uno.dll!slideshow::internal::Layer::endUpdate() Line 339 + 0xab bytes C++ slideshow.uno.dll!slideshow::internal::LayerEndUpdate::~LayerEndUpdate() Line 277 + 0x48 bytes C++ slideshow.uno.dll!slideshow::internal::LayerEndUpdate::`scalar deleting destructor'() + 0xf bytes C++ slideshow.uno.dll!boost::checked_delete<slideshow::internal::LayerEndUpdate>(slideshow::internal::LayerEndUpdate * x=0x112fe818) Line 30 + 0x1c bytes C++ slideshow.uno.dll!boost::checked_deleter<slideshow::internal::LayerEndUpdate>::operator()(slideshow::internal::LayerEndUpdate * x=0x112fe818) Line 46 + 0x9 bytes C++ slideshow.uno.dll!boost::detail::sp_counted_base_impl<slideshow::internal::LayerEndUpdate *,boost::checked_deleter<slideshow::internal::LayerEndUpdate> >::dispose() Line 263 C++ slideshow.uno.dll!boost::detail::sp_counted_base::release() Line 144 C++ slideshow.uno.dll!boost::detail::shared_count::~shared_count() Line 378 C++ slideshow.uno.dll!boost::shared_ptr<slideshow::internal::LayerEndUpdate>::~shared_ptr<slideshow::internal::LayerEndUpdate>() + 0x3f bytes C++ msvcr90d.dll!_CallSettingFrame(unsigned long funclet=21821544, unsigned long pRN=259, unsigned long dwInCode=1408228402) Line 73 Asm msvcr90d.dll!__FrameUnwindToState(EHRegistrationNode * pRN=0x014cf868, void * pDC=0x014ce468, const _s_FuncInfo * pFuncInfo=0x107e63c0, int targetState=-1) Line 1151 C++ msvcr90d.dll!__InternalCxxFrameHandler(EHExceptionRecord * pExcept=0x014ce3c8, EHRegistrationNode * pRN=0x014cf868, _CONTEXT * pContext=0x014ce474, void * pDC=0x014ce468, const _s_FuncInfo * pFuncInfo=0x107e63c0, int CatchDepth=0, EHRegistrationNode * pMarkerRN=0x00000000, unsigned char recursive=0) Line 479 + 0x13 bytes C++ msvcr90d.dll!__CxxFrameHandler3(EHExceptionRecord * pExcept=0x014cf868, EHRegistrationNode * pRN=0x014ce474, void * pContext=0x014ce468, void * pDC=0x014cf868) Line 311 + 0x1f bytes C++ ntdll.dll!RtlConvertUlongToLargeInteger() + 0x6a bytes ntdll.dll!RtlConvertUlongToLargeInteger() + 0x3c bytes user32.dll!DeregisterShellHookWindow() + 0x2cd bytes user32.dll!DeregisterShellHookWindow() + 0x244 bytes ntdll.dll!RtlConvertUlongToLargeInteger() + 0x6a bytes ntdll.dll!RtlConvertUlongToLargeInteger() + 0x3c bytes ntdll.dll!KiUserExceptionDispatcher() + 0xe bytes vclmi.dll!Region::ImplPolyPolyRegionToBandRegionFunc() + 0x98 bytes C++ vclmi.dll!Region::Intersect() + 0x45 bytes C++ vclmi.dll!OutputDevice::IntersectClipRegion() + 0xb8 bytes C++ directx9canvas.uno.dll!dxcanvas::TextLayoutDrawHelper::drawText(const boost::shared_ptr<Gdiplus::Graphics> & rGraphics={...}, const com::sun::star::rendering::ViewState & rViewState={...}, const com::sun::star::rendering::RenderState & rRenderState={...}, const basegfx::B2IVector & rOutputOffset={...}, const com::sun::star::rendering::StringContext & rText={...}, const com::sun::star::uno::Sequence<double> & rLogicalAdvancements={...}, const com::sun::star::uno::Reference<com::sun::star::rendering::XCanvasFont> & rCanvasFont={...}, const com::sun::star::geometry::Matrix2D & rFontMatrix={...}, bool bAlphaSurface=false) Line 184 C++ directx9canvas.uno.dll!dxcanvas::TextLayout::draw(const boost::shared_ptr<Gdiplus::Graphics> & rGraphics={...}, const com::sun::star::rendering::ViewState & rViewState={...}, const com::sun::star::rendering::RenderState & rRenderState={...}, const basegfx::B2IVector & rOutputOffset={...}, const com::sun::star::uno::Reference<com::sun::star::rendering::XGraphicDevice> & xGraphicDevice={...}, bool bAlphaSurface=false) Line 259 C++ directx9canvas.uno.dll!dxcanvas::BitmapCanvasHelper::drawTextLayout(const com::sun::star::rendering::XCanvas * __formal=0x0d2810a0, const com::sun::star::uno::Reference<com::sun::star::rendering::XTextLayout> & xLayoutetText={...}, const com::sun::star::rendering::ViewState & viewState={...}, const com::sun::star::rendering::RenderState & renderState={...}) Line 139 + 0x119 bytes C++ directx9canvas.uno.dll!canvas::CanvasBase<dxcanvas::SpriteCanvasBaseSpriteSurface_Base,dxcanvas::SpriteCanvasHelper,osl::Guard<osl::Mutex>,cppu::OWeakObject>::drawTextLayout(const com::sun::star::uno::Reference<com::sun::star::rendering::XTextLayout> & layoutetText={...}, const com::sun::star::rendering::ViewState & viewState={...}, const com::sun::star::rendering::RenderState & renderState={...}) Line 428 + 0x39 bytes C++ cppcanvasmi.dll!cppcanvas::internal::`anonymous namespace'::TextArrayAction::render(const basegfx::B2DHomMatrix & rTransformation={...}) Line 1144 + 0x13f bytes C++ cppcanvasmi.dll!cppcanvas::internal::`anonymous namespace'::ActionRenderer::operator()(const cppcanvas::internal::ImplRenderer::MtfAction & rAction={...}) Line 2768 + 0x3f bytes C++ cppcanvasmi.dll!_STL::for_each<_STL::_DBG_iter<_STL::__vector<cppcanvas::internal::ImplRenderer::MtfAction,_STL::allocator<cppcanvas::internal::ImplRenderer::MtfAction> >,_STL::_Vector_const_traits<cppcanvas::internal::ImplRenderer::MtfAction,cppcanvas::internal::ImplRenderer::MtfAction *> >,cppcanvas::internal::`anonymous namespace'::ActionRenderer>(_STL::_DBG_iter<_STL::__vector<cppcanvas::internal::ImplRenderer::MtfAction,_STL::allocator<cppcanvas::internal::ImplRenderer::MtfAction> >,_STL::_Vector_const_traits<cppcanvas::internal::ImplRenderer::MtfAction,cppcanvas::internal::ImplRenderer::MtfAction *> > __first=[invalid], _STL::_DBG_iter<_STL::__vector<cppcanvas::internal::ImplRenderer::MtfAction,_STL::allocator<cppcanvas::internal::ImplRenderer::MtfAction> >,_STL::_Vector_const_traits<cppcanvas::internal::ImplRenderer::MtfAction,cppcanvas::internal::ImplRenderer::MtfAction *> > __last=[invalid], cppcanvas::internal::`anonymous-namespace'::ActionRenderer __f={...}) Line 65 + 0x11 bytes C++ cppcanvasmi.dll!cppcanvas::internal::ImplRenderer::draw() Line 3236 + 0x7f bytes C++ slideshow.uno.dll!slideshow::internal::ViewShape::draw(const boost::shared_ptr<cppcanvas::Canvas> & rDestinationCanvas={...}, const boost::shared_ptr<GDIMetaFile> & rMtf={...}, const boost::shared_ptr<slideshow::internal::ShapeAttributeLayer> & rAttr={...}, const basegfx::B2DHomMatrix & rTransform={...}, const basegfx::B2DPolyPolygon * pClip=0x00000000, const _STL::vector<slideshow::internal::DocTreeNode,_STL::allocator<slideshow::internal::DocTreeNode> > & rSubsets=0x10fa097c [empty]) Line 246 + 0x32 bytes C++ slideshow.uno.dll!slideshow::internal::ViewShape::render(const boost::shared_ptr<cppcanvas::Canvas> & rDestinationCanvas={...}, const boost::shared_ptr<GDIMetaFile> & rMtf={...}, const basegfx::B2DRange & rBounds={...}, const basegfx::B2DRange & rUpdateBounds={...}, int nUpdateFlags=32, const boost::shared_ptr<slideshow::internal::ShapeAttributeLayer> & pAttr={...}, const _STL::vector<slideshow::internal::DocTreeNode,_STL::allocator<slideshow::internal::DocTreeNode> > & rSubsets=0x10fa097c [empty], bool bIsVisible=true) Line 742 + 0x4f bytes C++ slideshow.uno.dll!slideshow::internal::ViewShape::update(const boost::shared_ptr<GDIMetaFile> & rMtf={...}, const slideshow::internal::ViewShape::RenderArgs & rArgs={...}, int nUpdateFlags=32, bool bIsVisible=true) Line 898 + 0x67 bytes C++ slideshow.uno.dll!boost::_mfi::cmf4<bool,slideshow::internal::ViewShape,boost::shared_ptr<GDIMetaFile> const &,slideshow::internal::ViewShape::RenderArgs const &,int,bool>::call<boost::shared_ptr<slideshow::internal::ViewShape> const ,boost::shared_ptr<GDIMetaFile> const ,slideshow::internal::ViewShape::RenderArgs const ,int,bool>(const boost::shared_ptr<slideshow::internal::ViewShape> & u={...}, const void * __formal=0x10f39690, const boost::shared_ptr<GDIMetaFile> & b1={...}, const slideshow::internal::ViewShape::RenderArgs & b2={...}, int & b3=32, bool & b4=true) Line 410 C++ slideshow.uno.dll!boost::_mfi::cmf4<bool,slideshow::internal::ViewShape,boost::shared_ptr<GDIMetaFile> const &,slideshow::internal::ViewShape::RenderArgs const &,int,bool>::operator()<boost::shared_ptr<slideshow::internal::ViewShape> >(const boost::shared_ptr<slideshow::internal::ViewShape> & u={...}, const boost::shared_ptr<GDIMetaFile> & a1={...}, const slideshow::internal::ViewShape::RenderArgs & a2={...}, int a3=32, bool a4=true) Line 419 C++ slideshow.uno.dll!boost::_bi::list5<boost::arg<1>,boost::reference_wrapper<boost::shared_ptr<GDIMetaFile> const >,boost::reference_wrapper<slideshow::internal::ViewShape::RenderArgs const >,boost::_bi::value<int>,boost::_bi::value<bool> >::operator()<bool,boost::_mfi::cmf4<bool,slideshow::internal::ViewShape,boost::shared_ptr<GDIMetaFile> const &,slideshow::internal::ViewShape::RenderArgs const &,int,bool>,boost::_bi::list1<boost::shared_ptr<slideshow::internal::ViewShape> const &> >(boost::_bi::type<bool> __formal={...}, boost::_mfi::cmf4<bool,slideshow::internal::ViewShape,boost::shared_ptr<GDIMetaFile> const &,slideshow::internal::ViewShape::RenderArgs const &,int,bool> f={...}, boost::_bi::list1<boost::shared_ptr<slideshow::internal::ViewShape> const &> & a={...}) Line 410 C++ slideshow.uno.dll!boost::_bi::bind_t<bool,boost::_mfi::cmf4<bool,slideshow::internal::ViewShape,boost::shared_ptr<GDIMetaFile> const &,slideshow::internal::ViewShape::RenderArgs const &,int,bool>,boost::_bi::list5<boost::arg<1>,boost::reference_wrapper<boost::shared_ptr<GDIMetaFile> const >,boost::reference_wrapper<slideshow::internal::ViewShape::RenderArgs const >,boost::_bi::value<int>,boost::_bi::value<bool> > >::operator()<boost::shared_ptr<slideshow::internal::ViewShape> const >(const boost::shared_ptr<slideshow::internal::ViewShape> & a1={...}) Line 34 C++ slideshow.uno.dll!_STL::count_if<_STL::_DBG_iter<_STL::__vector<boost::shared_ptr<slideshow::internal::ViewShape>,_STL::allocator<boost::shared_ptr<slideshow::internal::ViewShape> > >,_STL::_Vector_const_traits<boost::shared_ptr<slideshow::internal::ViewShape>,boost::shared_ptr<slideshow::internal::ViewShape> *> >,boost::_bi::bind_t<bool,boost::_mfi::cmf4<bool,slideshow::internal::ViewShape,boost::shared_ptr<GDIMetaFile> const &,slideshow::internal::ViewShape::RenderArgs const &,int,bool>,boost::_bi::list5<boost::arg<1>,boost::reference_wrapper<boost::shared_ptr<GDIMetaFile> const >,boost::reference_wrapper<slideshow::internal::ViewShape::RenderArgs const >,boost::_bi::value<int>,boost::_bi::value<bool> > > >(_STL::_DBG_iter<_STL::__vector<boost::shared_ptr<slideshow::internal::ViewShape>,_STL::allocator<boost::shared_ptr<slideshow::internal::ViewShape> > >,_STL::_Vector_const_traits<boost::shared_ptr<slideshow::internal::ViewShape>,boost::shared_ptr<slideshow::internal::ViewShape> *> > __first=[invalid], _STL::_DBG_iter<_STL::__vector<boost::shared_ptr<slideshow::internal::ViewShape>,_STL::allocator<boost::shared_ptr<slideshow::internal::ViewShape> > >,_STL::_Vector_const_traits<boost::shared_ptr<slideshow::internal::ViewShape>,boost::shared_ptr<slideshow::internal::ViewShape> *> > __last=[invalid], boost::_bi::bind_t<bool,boost::_mfi::cmf4<bool,slideshow::internal::ViewShape,boost::shared_ptr<GDIMetaFile> const &,slideshow::internal::ViewShape::RenderArgs const &,int,bool>,boost::_bi::list5<boost::arg<1>,boost::reference_wrapper<boost::shared_ptr<GDIMetaFile> const >,boost::reference_wrapper<slideshow::internal::ViewShape::RenderArgs const >,boost::_bi::value<int>,boost::_bi::value<bool> > > __pred={...}) Line 76 + 0x11 bytes C++ slideshow.uno.dll!slideshow::internal::DrawShape::implRender(int nUpdateFlags=32) Line 358 + 0x123 bytes C++ slideshow.uno.dll!slideshow::internal::DrawShape::render() Line 906 C++ slideshow.uno.dll!slideshow::internal::LayerManager::update() Line 607 + 0x28 bytes C++ slideshow.uno.dll!slideshow::internal::ShapeManagerImpl::update() Line 266 + 0x12 bytes C++ slideshow.uno.dll!boost::_mfi::mf0<bool,slideshow::internal::ViewUpdate>::call<boost::shared_ptr<slideshow::internal::ViewUpdate> const >(const boost::shared_ptr<slideshow::internal::ViewUpdate> & u={...}, const void * __formal=0x0cd5b278) Line 38 C++ slideshow.uno.dll!boost::_mfi::mf0<bool,slideshow::internal::ViewUpdate>::operator()<boost::shared_ptr<slideshow::internal::ViewUpdate> const >(const boost::shared_ptr<slideshow::internal::ViewUpdate> & u={...}) Line 52 C++ slideshow.uno.dll!slideshow::internal::FunctionApply<bool,boost::shared_ptr<slideshow::internal::ViewUpdate> >::apply<boost::_mfi::mf0<bool,slideshow::internal::ViewUpdate> >(boost::_mfi::mf0<bool,slideshow::internal::ViewUpdate> func={...}, const boost::shared_ptr<slideshow::internal::ViewUpdate> & rArg={...}) Line 83 C++ slideshow.uno.dll!slideshow::internal::ListenerOperations<boost::shared_ptr<slideshow::internal::ViewUpdate> >::notifyAllListeners<_STL::vector<boost::shared_ptr<slideshow::internal::ViewUpdate>,_STL::allocator<boost::shared_ptr<slideshow::internal::ViewUpdate> > > const ,boost::_mfi::mf0<bool,slideshow::internal::ViewUpdate> >(const _STL::vector<boost::shared_ptr<slideshow::internal::ViewUpdate>,_STL::allocator<boost::shared_ptr<slideshow::internal::ViewUpdate> > > & rContainer=0x014cf904 {size=1}, boost::_mfi::mf0<bool,slideshow::internal::ViewUpdate> func={...}) Line 130 + 0x12 bytes C++ slideshow.uno.dll!slideshow::internal::ListenerContainerBase<boost::shared_ptr<slideshow::internal::ViewUpdate>,slideshow::internal::EmptyBase,_STL::vector<boost::shared_ptr<slideshow::internal::ViewUpdate>,_STL::allocator<boost::shared_ptr<slideshow::internal::ViewUpdate> > >,16>::applyAll<boost::_mfi::mf0<bool,slideshow::internal::ViewUpdate> >(boost::_mfi::mf0<bool,slideshow::internal::ViewUpdate> func={...}) Line 266 + 0xd bytes C++ slideshow.uno.dll!slideshow::internal::ScreenUpdater::commitUpdates() Line 146 C++ slideshow.uno.dll!`anonymous namespace'::SlideShowImpl::update(double & nNextTimeout=0.00000000000000000) Line 1716 C++ sdmi.dll!sd::SlideshowImpl::updateHdl() + 0x51 bytes C++ sdmi.dll!sd::SlideshowImpl::LinkStubupdateHdl() + 0xe bytes C++ tlmi.dll!SvStream::operator>>() + 0x4283 bytes vclmi.dll!Timer::Timeout() + 0xa bytes C++ vclmi.dll!Timer::ImplTimerCallbackProc() + 0x75 bytes C++ vclmi.dll!SalTimerProc() + 0x6c bytes C++ user32.dll!GetDC() + 0x6d bytes user32.dll!IsChild() + 0x149 bytes user32.dll!IsChild() + 0x83 bytes user32.dll!DispatchMessageW() + 0xf bytes vclmi.dll!ImplDispatchMessage() + 0x15 bytes C++ vclmi.dll!WinSalInstance::AcquireYieldMutex() + 0x36 bytes C++ vclmi.dll!ImplSalYield() + 0x85 bytes C++ vclmi.dll!WinSalInstance::Yield() + 0x9f bytes C++ vclmi.dll!ImplYield() + 0x4c bytes C++ vclmi.dll!Application::Yield() + 0xd bytes C++ vclmi.dll!Application::Execute() + 0x24 bytes C++ sofficeapp.dll!GetVersionInfo() + 0xd867 bytes vclmi.dll!ImplSVMain() + 0x64 bytes C++ vclmi.dll!SVMain() + 0x1c bytes C++ sofficeapp.dll!GetVersionInfo() + 0x3421b bytes soffice.bin!00401034() soffice.bin!00401055() soffice.bin!00401428() soffice.bin!0040118f() kernel32.dll!RegisterWaitForInputIdle() + 0x49 bytes
Ah, Linux to the rescue. Tried to reproduce the crash on Linux to find the memory leak and found something different. It is not a memory leak at all but a simple, old-fashioned NULL pointer access. Not sure why the Windows stack traces looked so different. Again the conversion of polygon to region is the cause. (One of my recent enhancements, should have tested this better.) A polygon is split into rectangles that are stored in horizontal bands (all rectangles in one band have the same height and do not overlap). In the case that the bottom most band should have a height of one pixel this band was never created. The resulting NULL pointer was not checked and caused the crash. Fixed by a) creating the one pixel high band and b) by handling NULL pointers gracefully. SVN revision of the fix in vcl/source/gdi/region.cxx and regband.cxx is 270896.
Changing target to OOo 3.3
*** Issue 104838 has been marked as a duplicate of this issue. ***
thanks André for resolving 104838. Any change to fix the bug for 3.2 (regression and so..) ?
@cornouws: I hope so. I am looking for an appropriate (second) CWS.
Changed target to OOo 3.2. Inclusing into 3.2 CWS is pending. Changed keyword to regression because the duplicate is a regression.
@af: thanks for changing target :-)
Reopening, because issue has been added to second CWS.
Commited the fix for the impres177 CWS. SVN revision is 276330.
Marked as show stopper.
@wg: Please verify.
Verified.