chart2/source/inc/Diagram.hxx | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-)
New commits: commit ad59487053bcd267b53febde0cecbd64c7f94cc0 Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Sun Mar 19 20:40:35 2023 +0000 Commit: Caolán McNamara <caol...@redhat.com> CommitDate: Mon Mar 20 09:02:41 2023 +0000 crashtesting: frequent XDiagram OPropertySetHelper::getFastPropertyValue crash seen with gcc --version gcc (Debian 10.2.1-6) 10.2.1 20210110 bt #1 0x00007ffff702fd36 in cppu::OPropertySetHelper::getFastPropertyValue (this=this@entry=0x55555991baa0, nHandle=nHandle@entry=0) at /home/buildslave/source/libo-core/cppuhelper/source/propshlp.cxx:550 #2 0x00007fffd6e97b4d in chart::Diagram::getDiagramPositioningMode (this=0x55555991ba30) at /home/buildslave/source/libo-core/chart2/source/model/main/Diagram.cxx:720 #3 0x00007fffd6dd9575 in chart::SeriesPlotterContainer::initializeCooSysAndSeriesPlotter (this=0x555559aa44a0, rChartModel=...) at /home/buildslave/source/libo-core/chart2/source/view/main/SeriesPlotterContainer.cxx:231 #4 0x00007fffd6d96e02 in chart::ChartView::createShapes2D (this=this@entry=0x555558fb1fa0, rPageSize=...) at /usr/include/c++/10/bits/shared_ptr_base.h:1324 #5 0x00007fffd6d98420 in chart::ChartView::createShapes (this=this@entry=0x555558fb1fa0) at /home/buildslave/source/libo-core/chart2/source/view/main/ChartView.cxx:1398 #6 0x00007fffd6d98647 in chart::ChartView::impl_updateView (this=0x555558fb1fa0, bCheckLockedCtrler=bCheckLockedCtrler@entry=false) at /home/buildslave/source/libo-core/chart2/source/view/main/ChartView.cxx:1451 #7 0x00007fffd6d9c5f0 in chart::ChartView::updateHard (this=<optimized out>) info vtbl this vtable for 'cppu::OPropertySetHelper' @ 0x7fffd71c7980 (subobject @ 0x55555991baa0): [0]: 0x7fffd6ea0529 <non-virtual thunk to chart::Diagram::queryInterface(com::sun::star::uno::Type const&)> [1]: 0x7fffd6e95434 <non-virtual thunk to chart::Diagram::acquire()> [2]: 0x7fffd6e953ba <non-virtual thunk to chart::Diagram::release()> [3]: 0x7fffd6e9ff43 <non-virtual thunk to chart::Diagram::setFastPropertyValue(int, com::sun::star::uno::Any const&)> [4]: 0x7ffff702ff0b <non-virtual thunk to cppu::OPropertySetHelper::getFastPropertyValue(int)> [5]: 0xffffffffffffff88 [6]: 0x7fffd71c7008 <typeinfo for chart::Diagram> [7]: 0x7fffd6ea0520 <non-virtual thunk to chart::Diagram::queryInterface(com::sun::star::uno::Type const&)> [8]: 0x7fffd6e9542e <non-virtual thunk to chart::Diagram::acquire()> [9]: 0x7fffd6e953b4 <non-virtual thunk to chart::Diagram::release()> [10]: 0x7fffd6e9ae67 <non-virtual thunk to chart::Diagram::getPropertySetInfo()> [11]: 0x7ffff702de17 <non-virtual thunk to cppu::OPropertySetHelper::setPropertyValue(rtl::OUString const&, com::sun::star::uno::Any const&)> [12]: 0x7ffff702de89 <non-virtual thunk to cppu::OPropertySetHelper::getPropertyValue(rtl::OUString const&)> [13]: 0x7ffff702f6ec <non-virtual thunk to cppu::OPropertySetHelper::addPropertyChangeListener(rtl::OUString const&, com::sun::star::uno::Reference<com::sun::star::beans::XPropertyChangeListener> const&)> [14]: 0x7ffff702f8be <non-virtual thunk to cppu::OPropertySetHelper::removePropertyChangeListener(rtl::OUString const&, com::sun::star::uno::Reference<com::sun::star::beans::XPropertyChangeListener> const&)> [15]: 0x7ffff702fb24 <non-virtual thunk to cppu::OPropertySetHelper::addVetoableChangeListener(rtl::OUString const&, com::sun::star::uno::Reference<com::sun::star::beans::XVetoableChangeListener> const&)> [16]: 0x7ffff702fcf6 <non-virtual thunk to cppu::OPropertySetHelper::removeVetoableChangeListener(rtl::OUString const&, com::sun::star::uno::Reference<com::sun::star::beans::XVetoableChangeListener> const&)> [17]: 0xffffffffffffff28 [18]: 0x7fffd71c7008 <typeinfo for chart::Diagram> [19]: 0x7fffd6ea0514 <non-virtual thunk to chart::Diagram::queryInterface(com::sun::star::uno::Type const&)> [20]: 0x7fffd6e95425 <non-virtual thunk to chart::Diagram::acquire()> but without "final" used info vtbl this (and this is what I also get with fedora's gcc 12.2.1 with "final" used) vtable for 'cppu::OPropertySetHelper' @ 0x7fffd79c8850 (subobject @ 0x55555991cc98): [0]: 0x7fffd76a1370 <non-virtual thunk to chart::Diagram::queryInterface(com::sun::star::uno::Type const&)> [1]: 0x7fffd76962d2 <non-virtual thunk to chart::Diagram::acquire()> [2]: 0x7fffd7696258 <non-virtual thunk to chart::Diagram::release()> [3]: 0x7fffd769bcf7 <non-virtual thunk to chart::Diagram::getPropertySetInfo()> [4]: 0x7fffd77fcd5c <property::OPropertySet::setPropertyValues(com::sun::star::uno::Sequence<rtl::OUString> const&, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&)> [5]: 0x7ffff702e320 <cppu::OPropertySetHelper::getPropertyValues(com::sun::star::uno::Sequence<rtl::OUString> const&)> [6]: 0x7ffff702f1ac <cppu::OPropertySetHelper::addPropertiesChangeListener(com::sun::star::uno::Sequence<rtl::OUString> const&, com::sun::star::uno::Reference<com::sun::star::beans::XPropertiesChangeListener> const&)> [7]: 0x7ffff702f282 <cppu::OPropertySetHelper::removePropertiesChangeListener(com::sun::star::uno::Reference<com::sun::star::beans::XPropertiesChangeListener> const&)> [8]: 0x7ffff703085a <cppu::OPropertySetHelper::firePropertiesChangeEvent(com::sun::star::uno::Sequence<rtl::OUString> const&, com::sun::star::uno::Reference<com::sun::star::beans::XPropertiesChangeListener> const&)> [9]: 0x7ffff702dde2 <cppu::OPropertySetHelper::setPropertyValue(rtl::OUString const&, com::sun::star::uno::Any const&)> [10]: 0x7ffff702de1e <cppu::OPropertySetHelper::getPropertyValue(rtl::OUString const&)> [11]: 0x7ffff702f490 <cppu::OPropertySetHelper::addPropertyChangeListener(rtl::OUString const&, com::sun::star::uno::Reference<com::sun::star::beans::XPropertyChangeListener> const&)> [12]: 0x7ffff702f6f6 <cppu::OPropertySetHelper::removePropertyChangeListener(rtl::OUString const&, com::sun::star::uno::Reference<com::sun::star::beans::XPropertyChangeListener> const&)> [13]: 0x7ffff702f8c8 <cppu::OPropertySetHelper::addVetoableChangeListener(rtl::OUString const&, com::sun::star::uno::Reference<com::sun::star::beans::XVetoableChangeListener> const&)> [14]: 0x7ffff702fb2e <cppu::OPropertySetHelper::removeVetoableChangeListener(rtl::OUString const&, com::sun::star::uno::Reference<com::sun::star::beans::XVetoableChangeListener> const&)> [15]: 0x7fffd76a0dae <non-virtual thunk to chart::Diagram::setFastPropertyValue(int, com::sun::star::uno::Any const&)> [16]: 0x7ffff702fd00 <cppu::OPropertySetHelper::getFastPropertyValue(int)> [17]: 0x7fffd769bc26 <non-virtual thunk to chart::Diagram::getInfoHelper()> [18]: 0x7fffd77f78c0 <property::OPropertySet::convertFastPropertyValue(com::sun::star::uno::Any&, com::sun::star::uno::Any&, int, com::sun::star::uno::Any const&)> [19]: 0x7fffd77fcb46 <property::OPropertySet::setFastPropertyValue_NoBroadcast(int, com::sun::star::uno::Any const&)> [20]: 0x7fffd76a0f5f <non-virtual thunk to chart::Diagram::getFastPropertyValue(com::sun::star::uno::Any&, int) const> seen with exporting forum-de2-10559.odt to odt Change-Id: I18f7ddb90f9249eda5f5635fe4e9d185a2e092f1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149117 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caol...@redhat.com> diff --git a/chart2/source/inc/Diagram.hxx b/chart2/source/inc/Diagram.hxx index 403dfbb15385..2d40831c1892 100644 --- a/chart2/source/inc/Diagram.hxx +++ b/chart2/source/inc/Diagram.hxx @@ -67,9 +67,12 @@ typedef ::cppu::WeakImplHelper< Diagram_Base; } -class OOO_DLLPUBLIC_CHARTTOOLS Diagram final : - public impl::Diagram_Base, - public ::property::OPropertySet +class OOO_DLLPUBLIC_CHARTTOOLS Diagram +#if !defined __GNUC__ || __GNUC__ >= 12 + final +#endif + : public impl::Diagram_Base + , public ::property::OPropertySet { public: Diagram( css::uno::Reference< css::uno::XComponentContext > xContext );