https://bugs.documentfoundation.org/show_bug.cgi?id=98038

Michael Meeks <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|[email protected]            |[email protected],
                   |                            |[email protected]

--- Comment #9 from Michael Meeks <[email protected]> ---
The valgrind trace is quite useful:

Noel/Daniel this looks like a shared_ptr re-work (or other lifecycle) tweak.
Could you have a look ?

==6940== Invalid read of size 8
==6940==    at 0x52A5B20A:
slideshow::internal::SlideChangeBase::prefetch(std::shared_ptr<slideshow::internal::AnimatableShape>
const&, std::shared_ptr<slideshow::internal::ShapeAttributeLayer> const&)
(slidechangebase.cxx:182)
==6940==    by 0x529E9865: (anonymous
namespace)::SlideShowImpl::createSlideTransition(com::sun::star::uno::Reference<com::sun::star::drawing::XDrawPage>
const&, std::shared_ptr<slideshow::internal::Slide> const&,
std::shared_ptr<slideshow::internal::Slide> const&,
std::shared_ptr<slideshow::internal::Event> const&)::{lambda()#1}::operator()()
const (slideshowimpl.cxx:861)
==6940==    by 0x529F3F41: std::_Function_handler<void (), (anonymous
namespace)::SlideShowImpl::createSlideTransition(com::sun::star::uno::Reference<com::sun::star::drawing::XDrawPage>
const&, std::shared_ptr<slideshow::internal::Slide> const&,
std::shared_ptr<slideshow::internal::Slide> const&,
std::shared_ptr<slideshow::internal::Event>
const&)::{lambda()#1}>::_M_invoke(std::_Any_data const&) (functional:1871)
==6940==    by 0x528B96A9: std::function<void ()>::operator()() const
(functional:2267)
==6940==    by 0x528B95DF: slideshow::internal::Delay::fire()
(delayevent.cxx:32)
==6940==    by 0x52923885: slideshow::internal::EventQueue::process_(bool)
(eventqueue.cxx:222)
==6940==    by 0x52923377: slideshow::internal::EventQueue::process()
(eventqueue.cxx:164)
==6940==    by 0x529EFDBF: (anonymous
namespace)::SlideShowImpl::update(double&) (slideshowimpl.cxx:2000)
==6940==    by 0x31ACD151: sd::SlideshowImpl::updateSlideShow()
(slideshowimpl.cxx:1765)
==6940==    by 0x31ACD0A7: sd::SlideshowImpl::updateHdl(Timer*)
(slideshowimpl.cxx:1750)
==6940==    by 0x31ACD088: sd::SlideshowImpl::LinkStubupdateHdl(void*, Timer*)
(slideshowimpl.cxx:1748)
==6940==    by 0xD408B28: Link<Timer*, void>::Call(Timer*) const (in
/home/julien/compile-libreoffice/libreoffice/instdir/program/libvcllo.so)

==6940==  Address 0x4cc56910 is 144 bytes inside a block of size 208 free'd
==6940==    at 0x4C2B2CB: operator delete(void*) (in
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==6940==    by 0x52A69E82: slideshow::internal::(anonymous
namespace)::ClippedSlideChange::~ClippedSlideChange()
(slidetransitionfactory.cxx:279)
==6940==    by 0x52A621F3:
std::_Sp_counted_ptr<slideshow::internal::SlideChangeBase*,
(__gnu_cxx::_Lock_policy)2>::_M_dispose() (in
/home/julien/compile-libreoffice/libreoffice/instdir/program/libslideshowlo.so)
==6940==    by 0x528548F9:
std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release()
(shared_ptr_base.h:150)
==6940==    by 0x52853FCA:
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count()
(shared_ptr_base.h:659)
==6940==    by 0x528CCCF3:
std::__shared_ptr<slideshow::internal::ViewEventHandler,
(__gnu_cxx::_Lock_policy)2>::~__shared_ptr() (shared_ptr_base.h:925)
==6940==    by 0x528CCD0F:
std::shared_ptr<slideshow::internal::ViewEventHandler>::~shared_ptr()
(shared_ptr.h:93)
==6940==    by 0x52A5B202:
slideshow::internal::SlideChangeBase::prefetch(std::shared_ptr<slideshow::internal::AnimatableShape>
const&, std::shared_ptr<slideshow::internal::ShapeAttributeLayer> const&)
(slidechangebase.cxx:179)
==6940==    by 0x529E9865: (anonymous
namespace)::SlideShowImpl::createSlideTransition(com::sun::star::uno::Reference<com::sun::star::drawing::XDrawPage>
const&, std::shared_ptr<slideshow::internal::Slide> const&,
std::shared_ptr<slideshow::internal::Slide> const&,
std::shared_ptr<slideshow::internal::Event> const&)::{lambda()#1}::operator()()
const (slideshowimpl.cxx:861)
==6940==    by 0x529F3F41: std::_Function_handler<void (), (anonymous
namespace)::SlideShowImpl::createSlideTransition(com::sun::star::uno::Reference<com::sun::star::drawing::XDrawPage>
const&, std::shared_ptr<slideshow::internal::Slide> const&,
std::shared_ptr<slideshow::internal::Slide> const&,
std::shared_ptr<slideshow::internal::Event>
const&)::{lambda()#1}>::_M_invoke(std::_Any_data const&) (functional:1871)
==6940==    by 0x528B96A9: std::function<void ()>::operator()() const
(functional:2267)
==6940==    by 0x528B95DF: slideshow::internal::Delay::fire()
(delayevent.cxx:32)
==6940==    by 0x52923885: slideshow::internal::EventQueue::process_(bool)
(eventqueue.cxx:222)
==6940==    by 0x52923377: slideshow::internal::EventQueue::process()
(eventqueue.cxx:164)
==6940==    by 0x529EFDBF: (anonymous
namespace)::SlideShowImpl::update(double&) (slideshowimpl.cxx:2000)
==6940==    by 0x31ACD151: sd::SlideshowImpl::updateSlideShow()
(slideshowimpl.cxx:1765)
==6940==    by 0x31ACD0A7: sd::SlideshowImpl::updateHdl(Timer*)
(slideshowimpl.cxx:1750)
==6940==    by 0x31ACD088: sd::SlideshowImpl::LinkStubupdateHdl(void*, Timer*)
(slideshowimpl.cxx:1748)
==6940==    by 0xD408B28: Link<Timer*, void>::Call(Timer*) const (in
/home/julien/compile-libreoffice/libreoffice/instdir/program/libvcllo.so)

==6940==  Block was alloc'd at
==6940==    at 0x4C2A16F: operator new(unsigned long) (in
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==6940==    by 0x52A66A43:
slideshow::internal::TransitionFactory::createSlideTransition(std::shared_ptr<slideshow::internal::Slide>
const&, std::shared_ptr<slideshow::internal::Slide> const&,
slideshow::internal::UnoViewContainer const&,
slideshow::internal::ScreenUpdater&, slideshow::internal::EventMultiplexer&,
com::sun::star::uno::Reference<com::sun::star::presentation::XTransitionFactory>
const&, short, short, bool, slideshow::internal::RGBColor const&,
std::shared_ptr<slideshow::internal::SoundPlayer> const&)
(slidetransitionfactory.cxx:989)
==6940==    by 0x529EA024: (anonymous
namespace)::SlideShowImpl::createSlideTransition(com::sun::star::uno::Reference<com::sun::star::drawing::XDrawPage>
const&, std::shared_ptr<slideshow::internal::Slide> const&,
std::shared_ptr<slideshow::internal::Slide> const&,
std::shared_ptr<slideshow::internal::Event> const&) (slideshowimpl.cxx:830)
==6940==    by 0x529EBA14: (anonymous
namespace)::SlideShowImpl::displaySlide(com::sun::star::uno::Reference<com::sun::star::drawing::XDrawPage>
const&,
com::sun::star::uno::Reference<com::sun::star::drawing::XDrawPagesSupplier>
const&,
com::sun::star::uno::Reference<com::sun::star::animations::XAnimationNode>
const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue>
const&) (slideshowimpl.cxx:1149)
==6940==    by 0x31AC56A0:
sd::AnimationSlideController::displayCurrentSlide(com::sun::star::uno::Reference<com::sun::star::presentation::XSlideShow>
const&,
com::sun::star::uno::Reference<com::sun::star::drawing::XDrawPagesSupplier>
const&, bool) (slideshowimpl.cxx:475)
==6940==    by 0x31ACB367: sd::SlideshowImpl::displayCurrentSlide(bool)
(slideshowimpl.cxx:1363)
==6940==    by 0x31ACCCDD: sd::SlideshowImpl::displaySlideIndex(int)
(slideshowimpl.cxx:1658)
==6940==    by 0x31AC9794:
sd::SlideshowImpl::startShowImpl(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue>
const&) (slideshowimpl.cxx:1115)
==6940==    by 0x31AC79FC:
sd::SlideshowImpl::startPreview(com::sun::star::uno::Reference<com::sun::star::drawing::XDrawPage>
const&,
com::sun::star::uno::Reference<com::sun::star::animations::XAnimationNode>
const&, vcl::Window*) (slideshowimpl.cxx:828)
==6940==    by 0x31AC1B91: sd::SlideShow::StartInPlacePresentation()
(slideshow.cxx:1099)
==6940==    by 0x31AC0A49:
sd::SlideShow::startWithArguments(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue>
const&) (slideshow.cxx:850)
==6940==    by 0x31AC0F0B:
sd::SlideShow::startPreview(com::sun::star::uno::Reference<com::sun::star::drawing::XDrawPage>
const&,
com::sun::star::uno::Reference<com::sun::star::animations::XAnimationNode>
const&, vcl::Window*) (slideshow.cxx:911)
==6940==    by 0x31ABE415: sd::SlideShow::StartPreview(sd::ViewShellBase&,
com::sun::star::uno::Reference<com::sun::star::drawing::XDrawPage> const&,
com::sun::star::uno::Reference<com::sun::star::animations::XAnimationNode>
const&, vcl::Window*) (slideshow.cxx:192)
==6940==    by 0x318E60B1: sd::SlideTransitionPane::playCurrentEffect()
(SlideTransitionPane.cxx:913)
==6940==    by 0x318E5FA4: sd::SlideTransitionPane::applyToSelectedPages(bool)
(SlideTransitionPane.cxx:897)
==6940==    by 0x318E6770:
sd::SlideTransitionPane::TransitionSelected(ValueSet*)
(SlideTransitionPane.cxx:1023)
==6940==    by 0x318E671A:
sd::SlideTransitionPane::LinkStubTransitionSelected(void*, ValueSet*)
(SlideTransitionPane.cxx:1020)
==6940==    by 0xB192228: Link<ValueSet*, void>::Call(ValueSet*) const (in
/home/julien/compile-libreoffice/libreoffice/instdir/program/libsvtlo.so)

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Libreoffice-bugs mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs

Reply via email to