diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2020-09-18 14:00:43 +0200 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2020-09-18 17:47:28 +0200 |
commit | 5cd04405c6b2d1ee46294ce0696d89d2edc97d16 (patch) | |
tree | b2b5fa146543277c461840a2baa5acb41dc6083f /test | |
parent | c547ebfd6599a0d178099c5c1fa69b962d41e43e (diff) |
Disable automatic onFirstVisibleTask UpdateCheck during CppunitTests
Some CppunitTests like CppunitTest_sw_core_layout that use
gb_CppunitTest_use_configuration and happen to run enough VCL may trigger the
UpdateCheckJob (see example backtrace below), which is known to be problematic
as it may spawn (via UpdateCheck) an UpdateCheckThread that is not joined, so it
can still run during exit and cause trouble. However, there should be no need
for CppunitTests to (accidentally) run that UpdateCheckJob anyway, so disable
it.
Example backtrace from CppunitTest_sw_core_layout:
> #9 0x00007fe612e1e89a in (anonymous namespace)::UpdateCheckJob::execute(com::sun::star::uno::Sequence<com::sun::star::beans::NamedValue> const&) (this=0x3422200, namedValues=uno::Sequence of length 2 = {...}) at extensions/source/update/check/updatecheckjob.cxx:150
> #10 0x00007fe612e1ec45 in non-virtual thunk to (anonymous namespace)::UpdateCheckJob::execute(com::sun::star::uno::Sequence<com::sun::star::beans::NamedValue> const&) () at instdir/program/libupdchklo.so
> #11 0x00007fe61917a51e in framework::Job::execute(com::sun::star::uno::Sequence<com::sun::star::beans::NamedValue> const&) (this=0x33bbd30, lDynamicArgs=empty uno::Sequence) at framework/source/jobs/job.cxx:209
> #12 0x00007fe61918ae85 in (anonymous namespace)::JobExecutor::trigger(rtl::OUString const&) (this=0x3050030, sEvent="onFirstVisibleTask") at framework/source/jobs/jobexecutor.cxx:238
> #13 0x00007fe619267b09 in (anonymous namespace)::XFrameImpl::windowShown(com::sun::star::lang::EventObject const&) (this=0x31db1c0) at framework/source/services/frame.cxx:2606
> #14 0x00007fe6187b3107 in WindowListenerMultiplexer::windowShown(com::sun::star::lang::EventObject const&) (this=0x32136a8, evt=...) at toolkit/source/helper/listenermultiplexer.cxx:85
> #15 0x00007fe61855989b in VCLXWindow::ProcessWindowEvent(VclWindowEvent const&) (this=0x31d22c8, rVclWindowEvent=...) at toolkit/source/awt/vclxwindow.cxx:480
> #16 0x00007fe6185591a9 in VCLXWindow::WindowEventListener(VclWindowEvent&) (this=0x31d22c8, rEvent=...) at toolkit/source/awt/vclxwindow.cxx:396
> #17 0x00007fe618558a00 in VCLXWindow::LinkStubWindowEventListener(void*, VclWindowEvent&) (instance=0x31d22c8, data=...) at toolkit/source/awt/vclxwindow.cxx:390
> #18 0x00007fe622f934c8 in Link<VclWindowEvent&, void>::Call(VclWindowEvent&) const (this=0x341f540, data=...) at include/tools/link.hxx:111
> #19 0x00007fe622f8f5bb in vcl::Window::CallEventListeners(VclEventId, void*) (this=0x3115da0, nEvent=VclEventId::WindowShow, pData=0x3115da0) at vcl/source/window/event.cxx:256
> #20 0x00007fe6230fbbb3 in vcl::Window::ImplSetReallyVisible() (this=0x3115da0) at vcl/source/window/window.cxx:1306
> #21 0x00007fe6230fbc9e in vcl::Window::ImplSetReallyVisible() (this=0x30ecc20) at vcl/source/window/window.cxx:1322
> #22 0x00007fe6230ff712 in vcl::Window::Show(bool, ShowFlags) (this=0x30ecc20, bVisible=true, nFlags=ShowFlags::NONE) at vcl/source/window/window.cxx:2312
> #23 0x00007fe6230ff859 in vcl::Window::Show(bool, ShowFlags) (this=0x3115da0, bVisible=true, nFlags=ShowFlags::NONE) at vcl/source/window/window.cxx:2328
> #24 0x00007fe6190aa53d in framework::StatusIndicatorFactory::implts_makeParentVisibleIfAllowed() (this=0x32d83f0) at framework/source/helper/statusindicatorfactory.cxx:373
> #25 0x00007fe6190a9b65 in framework::StatusIndicatorFactory::start(com::sun::star::uno::Reference<com::sun::star::task::XStatusIndicator> const&, rtl::OUString const&, int) (this=0x32d83f0, xChild=uno::Reference to (class framework::StatusIndicator *) 0x31128a8, sText="Loading :", nRange=4) at framework/source/helper/statusindicatorfactory.cxx:133
> #26 0x00007fe6190a74cf in framework::StatusIndicator::start(rtl::OUString const&, int) (this=0x3112880, sText="Loading :", nRange=4) at framework/source/helper/statusindicator.cxx:51
> #27 0x00007fe612f3263d in XmlFilterAdaptor::importImpl(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) (this=0x3420600, aDescriptor=uno::Sequence of length 12 = {...}) at filter/source/xmlfilteradaptor/XmlFilterAdaptor.cxx:70
> #28 0x00007fe612f36564 in XmlFilterAdaptor::filter(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) (this=0x3420600, aDescriptor=uno::Sequence of length 12 = {...}) at filter/source/xmlfilteradaptor/XmlFilterAdaptor.cxx:308
> #29 0x00007fe61dc6f02d in SfxObjectShell::ImportFrom(SfxMedium&, com::sun::star::uno::Reference<com::sun::star::text::XTextRange> const&) (this=0x32fa6a0, rMedium=..., xInsertPosition=empty uno::Reference) at sfx2/source/doc/objstor.cxx:2251
> #30 0x00007fe61dc61688 in SfxObjectShell::DoLoad(SfxMedium*) (this=0x32fa6a0, pMed=0x3316a40) at sfx2/source/doc/objstor.cxx:738
> #31 0x00007fe61dcc8e28 in SfxBaseModel::load(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) (this=0x3320b00, seqArguments=uno::Sequence of length 14 = {...}) at sfx2/source/doc/sfxbasemodel.cxx:1883
> #32 0x00007fe61de63f9c in (anonymous namespace)::SfxFrameLoader_Impl::load(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&, com::sun::star::uno::Reference<com::sun::star::frame::XFrame> const&) (this=0x32deca0, rArgs=uno::Sequence of length 11 = {...}, _rTargetFrame=uno::Reference to (class (anonymous namespace)::XFrameImpl *) 0x31db230) at sfx2/source/view/frmload.cxx:680
> #33 0x00007fe6191f5f31 in framework::LoadEnv::impl_loadContent() (this=0x7ffe003aa618) at framework/source/loadenv/loadenv.cxx:1157
> #34 0x00007fe6191f2c12 in framework::LoadEnv::start() (this=0x7ffe003aa618) at framework/source/loadenv/loadenv.cxx:395
> #35 0x00007fe6191f0960 in framework::LoadEnv::startLoading(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&, com::sun::star::uno::Reference<com::sun::star::frame::XFrame> const&, rtl::OUString const&, int, LoadEnvFeatures) (this=0x7ffe003aa618, sURL="file:///sw/qa/core/layout/data/tdf134783_testAnchorPositionBasedOnParagraph.fodt", lMediaDescriptor=uno::Sequence of length 2 = {...}, xBaseFrame=uno::Reference to (class framework::Desktop *) 0x29e7768, sTarget="_default", nSearchFlags=0, eFeature=LoadEnvFeatures::NONE) at framework/source/loadenv/loadenv.cxx:300
> #36 0x00007fe6191ef2dc in framework::LoadEnv::loadComponentFromURL(com::sun::star::uno::Reference<com::sun::star::frame::XComponentLoader> const&, com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> const&, rtl::OUString const&, rtl::OUString const&, int, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) (xLoader=uno::Reference to (class framework::Desktop *) 0x29e7778, xContext=uno::Reference to (class cppu::(anonymous namespace)::ComponentContext *) 0x2124250, sURL="file:///sw/qa/core/layout/data/tdf134783_testAnchorPositionBasedOnParagraph.fodt", sTarget="_default", nSearchFlags=0, lArgs=uno::Sequence of length 2 = {...}) at framework/source/loadenv/loadenv.cxx:169
> #37 0x00007fe6192514b2 in framework::Desktop::loadComponentFromURL(rtl::OUString const&, rtl::OUString const&, int, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) (this=0x29e7700, sURL="file:///sw/qa/core/layout/data/tdf134783_testAnchorPositionBasedOnParagraph.fodt", sTargetFrameName="_default", nSearchFlags=0, lArguments=uno::Sequence of length 2 = {...}) at framework/source/services/desktop.cxx:593
> #38 0x00007fe619251575 in non-virtual thunk to framework::Desktop::loadComponentFromURL(rtl::OUString const&, rtl::OUString const&, int, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) () at instdir/program/libfwklo.so
> #39 0x00007fe61a48bc68 in unotest::MacrosTest::loadFromDesktop(rtl::OUString const&, rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) (this=0x3045750, rURL="file:///sw/qa/core/layout/data/tdf134783_testAnchorPositionBasedOnParagraph.fodt", rDocService="com.sun.star.text.TextDocument", rExtraArgs=empty uno::Sequence) at unotest/source/cpp/macros_test.cxx:61
> #40 0x00007fe61a53754d in SwModelTestBase::loadURL(rtl::OUString const&, char const*, char const*) (this=0x3045700, rURL="file:///sw/qa/core/layout/data/tdf134783_testAnchorPositionBasedOnParagraph.fodt", pName=0x7fe621e07e58 "tdf134783_testAnchorPositionBasedOnParagraph.fodt", pPassword=0x0) at sw/qa/unit/swmodeltestbase.cxx:514
> #41 0x00007fe621e15f7a in SwModelTestBase::load(rtl::OUString const&, char const*, char const*) (this=0x3045700, pDir="/sw/qa/core/layout/data/", pName=0x7fe621e07e58 "tdf134783_testAnchorPositionBasedOnParagraph.fodt", pPassword=0x0) at sw/qa/inc/swmodeltestbase.hxx:348
> #42 0x00007fe621e150ea in testAnchorPositionBasedOnParagraph::TestBody() (this=0x3045700) at sw/qa/core/layout/layout.cxx:155
Change-Id: Idcd348ecfa6b6495d9a8710e142232baed8ff45f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103003
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Diffstat (limited to 'test')
-rw-r--r-- | test/user-template/registry/modifications.xcd | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/test/user-template/registry/modifications.xcd b/test/user-template/registry/modifications.xcd index f38cc269fdd0..dcccd94b69d5 100644 --- a/test/user-template/registry/modifications.xcd +++ b/test/user-template/registry/modifications.xcd @@ -38,6 +38,15 @@ </node> </node> </oor:component-data> + <oor:component-data oor:name="Jobs" oor:package="org.openoffice.Office"> + <node oor:name="Events"> + <node oor:name="onFirstVisibleTask" oor:op="fuse"> + <node oor:name="JobList"> + <node oor:name="UpdateCheck" oor:op="remove"/> + </node> + </node> + </node> + </oor:component-data> <oor:component-data oor:name="Paths" oor:package="org.openoffice.Office"> <node oor:name="Paths"> <node oor:name="UIConfig" oor:op="replace"> |