vcl/source/app/svmain.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
New commits: commit 099877b179c50a9b5f9f8be114886166944c7ff3 Author: Stephan Bergmann <sberg...@redhat.com> Date: Wed Dec 13 17:54:13 2017 +0100 Move call to Scheduler::ImplDeInitScheduler in DeInitVCL back to orig. place Dec 13 16:18:27 <sberg> jmux, any reason fd0fff67798fea87217e65bb1561aa0d0e741c51 moved the call to Scheduler::ImplDeInitScheduler() in DeInitVCL (vcl/source/app/svmain.cxx) past the call to the pSVData->maDeInitHook? Dec 13 16:18:30 <IZBot> core - Assert active Tasks on scheduler de-init - http://cgit.freedesktop.org/libreoffice/core/commit/?id=fd0fff67798fea87217e65bb1561aa0d0e741c51 Dec 13 16:20:06 <sberg> jmux, observing a crash in CppunitTest_dbaccess_firebird_test here when comphelper::geProcessServiceFactory wants to be used after it has been cleared, <https://paste.fedoraproject.org/paste/H8bVCcpNjSipm59Ih952nw> Dec 13 16:22:41 <jmux> sberg: no. That was still during the analysis with all those static tasks and cleanup problems. Dec 13 16:23:17 <sberg> jmux, I'll see what breaks if I move the call back to its original place, then The relevant backtraces from <https://paste.fedoraproject.org/paste/H8bVCcpNjSipm59Ih952nw>: > #0 0x00007fffee08c160 in comphelper::setProcessServiceFactory(com::sun::star::uno::Reference<com::sun::star::lang::XMultiServiceFactory> const&) (xSMgr=...) at comphelper/source/processfactory/processfactory.cxx:55 > #1 0x00007fffe8b120eb in (anonymous namespace)::Hook::deinitHook((anonymous namespace)::Hook*, LinkParamNone*) () at test/source/setupvcl.cxx:54 > #2 0x00007fffe8b11f8d in (anonymous namespace)::Hook::LinkStubdeinitHook(void*, LinkParamNone*) (instance=0x0, data=0x0) at test/source/setupvcl.cxx:37 > #3 0x00007fffe76a9cb1 in Link<LinkParamNone*, void>::Call(LinkParamNone*) const (this=0x7fffe8374418 <rtl::Static<ImplSVData, (anonymous namespace)::private_aImplSVData>::get()::instance+984>, data=0x0) at include/tools/link.hxx:84 > #4 0x00007fffe79c5baf in DeInitVCL() () at vcl/source/app/svmain.cxx:517 > #5 0x00007fffe8d1cc0a in (anonymous namespace)::Protector::~Protector() (this=0x6f6b50, __in_chrg=<optimized out>) at test/source/vclbootstrapprotector.cxx:34 > #6 0x00007fffe8d1cc5e in (anonymous namespace)::Protector::~Protector() (this=0x6f6b50, __in_chrg=<optimized out>) at test/source/vclbootstrapprotector.cxx:43 > #7 0x00007ffff7b962f3 in CppUnit::ProtectorChain::pop() (this=0x630e00) at ProtectorChain.cpp:56 > #8 0x00007ffff7ba65d4 in CppUnit::TestResult::popProtector() (this=0x7fffffff2870) at TestResult.cpp:196 > #9 0x0000000000408998 in (anonymous namespace)::ProtectedFixtureFunctor::run() const (this=0x7fffffff2840) at sal/cppunittester/cppunittester.cxx:328 > #10 0x0000000000409484 in sal_main() () at sal/cppunittester/cppunittester.cxx:469 > #11 0x000000000040900b in main(int, char**) (argc=23, argv=0x7fffffff2be8) at sal/cppunittester/cppunittester.cxx:376 and > #0 0x00007fffee08c213 in comphelper::getProcessServiceFactory() () at comphelper/source/processfactory/processfactory.cxx:64 > #1 0x00007fffee08c651 in comphelper::getProcessComponentContext() () at comphelper/source/processfactory/processfactory.cxx:96 > #2 0x00007fffe79a7281 in setupPersonaHeaderFooter(WhichPersona, rtl::OUString&, BitmapEx&, boost::optional<Color>&) (eWhich=PERSONA_HEADER, rHeaderFooter=..., rHeaderFooterBitmap=..., rMenuBarTextColor=...) at vcl/source/app/settings.cxx:2135 > #3 0x00007fffe79a7c96 in StyleSettings::GetPersonaHeader() const (this=0x15d7130) at vcl/source/app/settings.cxx:2214 > #4 0x00007fffe757285f in MenuBarWindow::ApplySettings(OutputDevice&) (this=0x1644ee0, rRenderContext=...) at vcl/source/window/menubarwindow.cxx:1022 > #5 0x00007fffe7488fdb in PaintHelper::DoPaint(vcl::Region const*) (this=0x7fffffff1720, pRegion=0x0) at vcl/source/window/paint.cxx:298 > #6 0x00007fffe748a74e in vcl::Window::ImplCallPaint(vcl::Region const*, ImplPaintFlags) (this=0x1644ee0, pRegion=0x0, nPaintFlags=(ImplPaintFlags::PaintAll | ImplPaintFlags::PaintAllChildren | ImplPaintFlags::PaintChildren | ImplPaintFlags::Erase)) at vcl/source/window/paint.cxx:606 > #7 0x00007fffe748a0e5 in PaintHelper::~PaintHelper() (this=0x7fffffff1890, __in_chrg=<optimized out>) at vcl/source/window/paint.cxx:540 > #8 0x00007fffe748a7a7 in vcl::Window::ImplCallPaint(vcl::Region const*, ImplPaintFlags) (this=0x1510d40, pRegion=0x0, nPaintFlags=ImplPaintFlags::PaintChildren) at vcl/source/window/paint.cxx:603 > #9 0x00007fffe748a8ea in vcl::Window::ImplCallOverlapPaint() (this=0x1510d40) at vcl/source/window/paint.cxx:630 > #10 0x00007fffe748aa34 in vcl::Window::ImplHandlePaintHdl(Timer*) (this=0x1510d40) at vcl/source/window/paint.cxx:651 > #11 0x00007fffe748a929 in vcl::Window::LinkStubImplHandlePaintHdl(void*, Timer*) (instance=0x1510d40, data=0x1511940) at vcl/source/window/paint.cxx:634 > #12 0x00007fffe79c7f33 in Link<Timer*, void>::Call(Timer*) const (this=0x1511960, data=0x1511940) at include/tools/link.hxx:84 > #13 0x00007fffe79c7d97 in Timer::Invoke() (this=0x1511940) at vcl/source/app/timer.cxx:76 > #14 0x00007fffe799a873 in Scheduler::ProcessTaskScheduling() () at vcl/source/app/scheduler.cxx:440 > #15 0x00007fffe7999d95 in Scheduler::CallbackTaskScheduling() () at vcl/source/app/scheduler.cxx:263 > #16 0x00007fffe7ad3bbb in SalTimer::CallCallback() (this=0x156fbc0) at vcl/inc/saltimer.hxx:55 > #17 0x00007fffe7ad3209 in SvpSalInstance::CheckTimeout(bool) (this=0x730900, bExecuteTimers=true) at vcl/headless/svpinst.cxx:188 > #18 0x00007fffe7ad35b8 in SvpSalInstance::DoYield(bool, bool) (this=0x730900, bWait=false, bHandleAllCurrentEvents=true) at vcl/headless/svpinst.cxx:272 > #19 0x00007fffe79be4a1 in ImplYield(bool, bool) (i_bWait=false, i_bAllEvents=true) at vcl/source/app/svapp.cxx:469 > #20 0x00007fffe79ba4c7 in Application::Reschedule(bool) (i_bAllEvents=true) at vcl/source/app/svapp.cxx:486 > #21 0x00007fffe79ba4f9 in Scheduler::ProcessEventsToIdle() () at vcl/source/app/svapp.cxx:492 > #22 0x00007fffe79991a9 in Scheduler::ImplDeInitScheduler() () at vcl/source/app/scheduler.cxx:114 > #23 0x00007fffe79c5f80 in DeInitVCL() () at vcl/source/app/svmain.cxx:579 > #24 0x00007fffe8d1cc0a in (anonymous namespace)::Protector::~Protector() (this=0x6f6b50, __in_chrg=<optimized out>) at test/source/vclbootstrapprotector.cxx:34 > #25 0x00007fffe8d1cc5e in (anonymous namespace)::Protector::~Protector() (this=0x6f6b50, __in_chrg=<optimized out>) at test/source/vclbootstrapprotector.cxx:43 > #26 0x00007ffff7b962f3 in CppUnit::ProtectorChain::pop() (this=0x630e00) at ProtectorChain.cpp:56 > #27 0x00007ffff7ba65d4 in CppUnit::TestResult::popProtector() (this=0x7fffffff2870) at TestResult.cpp:196 > #28 0x0000000000408998 in (anonymous namespace)::ProtectedFixtureFunctor::run() const (this=0x7fffffff2840) at sal/cppunittester/cppunittester.cxx:328 > #29 0x0000000000409484 in sal_main() () at sal/cppunittester/cppunittester.cxx:469 > #30 0x000000000040900b in main(int, char**) (argc=23, argv=0x7fffffff2be8) at sal/cppunittester/cppunittester.cxx:376 Change-Id: I75ee6a7b663f6117f004877fc9ba5a3ed79d66e4 Reviewed-on: https://gerrit.libreoffice.org/46415 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Stephan Bergmann <sberg...@redhat.com> diff --git a/vcl/source/app/svmain.cxx b/vcl/source/app/svmain.cxx index 528e797c1abc..10d65ad2802c 100644 --- a/vcl/source/app/svmain.cxx +++ b/vcl/source/app/svmain.cxx @@ -469,6 +469,8 @@ void DeInitVCL() pSVData->mpSettingsConfigItem = nullptr; } + Scheduler::ImplDeInitScheduler(); + pSVData->maWinData.maMsgBoxImgList.clear(); pSVData->maCtrlData.maCheckImgList.clear(); pSVData->maCtrlData.maRadioImgList.clear(); @@ -576,8 +578,6 @@ void DeInitVCL() delete pSVData->maGDIData.mpScreenFontCache; pSVData->maGDIData.mpScreenFontCache = nullptr; - Scheduler::ImplDeInitScheduler(); - // destroy all Sal interfaces before destroying the instance // and thereby unloading the plugin delete pSVData->mpSalSystem; _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits