[Libreoffice-commits] core.git: vcl/source
Stephan Bergmann
sbergman at redhat.com
Thu Dec 14 06:54:50 UTC 2017
vcl/source/app/svmain.cxx | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
New commits:
commit 099877b179c50a9b5f9f8be114886166944c7ff3
Author: Stephan Bergmann <sbergman at 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 <ci at libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman at 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;
More information about the Libreoffice-commits
mailing list