Created attachment 92355 [details] test-ODS-file-crashes-Base.ods Following procedure always crashes LibreOffice Base when closing the application: How to reproduce: * Save attached .ods file somewhere on your computer * Start Base * In the upcoming "Database-Assistant" choose "Connection to an existing database" and select "spreadsheet" (Tabellendokument in German). Select the .ods file. Click "complete" (fertigstellen in German). * In the next step, Base wants you to create a ODF database. Just type any name and save it. * The database is now up and running. * Now click File -> Close. * Result: Entire LibreOffice CRASHES on close. Restarting LibreOffice ends in the file recovery wizard. In case a Writer or Calc document is open at the same time, it will also crash. * This is always reproducable. LibreOffice: Version: 4.1.4.2, Build-ID: 410m0(Build:2) I encountered the same bug with LibreOffice 4.2RC2 System: Ubuntu 13.04
On pc Debian x86-64 with 4.1 sources updated yesterday, I don't reproduce this. Just for the test, could you rename your LO directory profile (see https://wiki.documentfoundation.org/UserProfile) and give it a new try?
With a blank user profile, I cannot reproduce the bug. Switching back to my real user profile, the bug is here again. What are the next steps? I cannot just work with the blank profile, since I am using extensions, my own word lists and so forth. What to do?
Gerry: thank you for your feedback. For the test, you can add 1 by 1 your extensions and see each time if you can reproduce the bug. (if you've got a lot of extensions, perhaps 2 or 3 by 3). With this, we'll know if the problem comes from an extension.
Thanks Julien for the advice. I tried with a fresh profile and I added my installed extensions one by one. I could find isolate the extension "Review toolbar" [1] and after I install it, I can reproduce the crashes. Please try it out whether you can reproduce the crashes. Still, I think Base should not crash even if there is such an extension. I also don't understand why Base should crash when a Writer extension is installed. I have been using the Review extension already for quite some time... [1] http://extensions.libreoffice.org/extension-center/review-toolbar
Gerry: http://extensions.libreoffice.org/extension-center/review-toolbar indicated this extension is only compatible with LO 3.3 and LO 3.4. Even if it may have worked with other versions, there are quite a lot of internal differences between 3.X and 4.X versions.
Created attachment 93014 [details] bt with symbols on 4.2 On pc Debian x86-64 with 4.2 sources updated today, I reproduced the crash. I attached bt with symbols. With master sources updated yesterday, I had this message when I tried to install the extension: no constructor symbol "com.sun.star.comp.sfx2.ApplicationScriptLibraryContainer_get_implementation" in component library <file:///home/julien/compile-libreoffice/libo/instdir/program/../program/libsfxlo.so>
Stephan: I don't know what to think about this one. The website of the extension indicated a compatibility with 3.3 and 3.4 so since LO master sources doesn't open it could be considered somehow as ok. However I don't know if the message is ok + 4.2 shouldn't crash anyway. Looking at the bt of 4.2, I noticed that some destructors were called twice so I wonder if it could a problem of order in the stack of calls of destructors. Any idea?
(In reply to comment #6) > With master sources updated yesterday, I had this message when I tried to > install the extension: > no constructor symbol > "com.sun.star.comp.sfx2. > ApplicationScriptLibraryContainer_get_implementation" in component library > <file:///home/julien/compile-libreoffice/libo/instdir/program/../program/ > libsfxlo.so> I cannot reproduce that with today's master, it looks like a temporary problem caused by Matus' work on constructor functions. (In reply to comment #7) > The website of the extension indicated a compatibility with 3.3 and 3.4 so > since LO master sources doesn't open it could be considered somehow as ok. > However I don't know if the message is ok + 4.2 shouldn't crash anyway. It looks like the extension is only a catalyst to get into the crash, but not the reason for it. (And from a quick look at the extension, it does not look like it should not work with current LO 4.) > Looking at the bt of 4.2, I noticed that some destructors were called twice > so I wonder if it could a problem of order in the stack of calls of > destructors. Two consecutive frames of seemingly the same C++ destructor is normal and expected, it is an artefact of how the compiler generates code for C++ destructors.
Installing <http://extensions.libreoffice.org/extension-center/review-toolbar/pscreleasefolder.2011-12-03.6583332356/20131006.0.1/review.oxt> into a recent Linux x86_64 master build and running the recipe from comment 0 under valgrind indicates a problem with SfxFrame::DoClose_Impl and ScInputWindow lifecycle, see below. Putting Calc experts on CC. > Invalid read of size 8 > at 0x3BB4A736: ScInputWindow::StopEditEngine(unsigned char) (sc/source/ui/app/inputwin.cxx:736) > by 0x3BB3A7FF: ScInputHandler::StopInputWinEngine(bool) (sc/source/ui/app/inputhdl.cxx:1815) > by 0x3BB31C30: ScInputHandler::EnterHandler(unsigned char) (sc/source/ui/app/inputhdl.cxx:2748) > by 0x3BB30054: ScInputHandler::~ScInputHandler() (sc/source/ui/app/inputhdl.cxx:546) > by 0x3BB32868: ScInputHandler::~ScInputHandler() (sc/source/ui/app/inputhdl.cxx:541) > by 0x3C1A4A04: ScTabViewShell::~ScTabViewShell() (sc/source/ui/view/tabvwsh4.cxx:1808) > by 0x3C1A4E18: ScTabViewShell::~ScTabViewShell() (sc/source/ui/view/tabvwsh4.cxx:1779) > by 0x6A9497E: SfxViewFrame::ReleaseObjectShell_Impl() (sfx2/source/view/viewfrm.cxx:1094) > by 0x6A96C8F: SfxViewFrame::~SfxViewFrame() (sfx2/source/view/viewfrm.cxx:1489) > by 0x6A971E8: SfxViewFrame::~SfxViewFrame() (sfx2/source/view/viewfrm.cxx:1481) > by 0x6A95212: SfxViewFrame::Close() (sfx2/source/view/viewfrm.cxx:1149) > by 0x6A5CE6B: SfxFrame::DoClose_Impl() (sfx2/source/view/frame.cxx:174) > by 0x6A7FB27: SfxBaseController::dispose() (sfx2/source/view/sfxbasecontroller.cxx:1031) > by 0x6A7FC1B: non-virtual thunk to SfxBaseController::dispose() (sfx2/source/view/sfxbasecontroller.cxx:1035) > by 0x1E09D2EB: (anonymous namespace)::Frame::setComponent(com::sun::star::uno::Reference<com::sun::star::awt::XWindow> const&, com::sun::star::uno::Reference<com::sun::star::frame::XController> const&) (framework/source/services/frame.cxx:1718) > by 0x1E0A0B6C: (anonymous namespace)::Frame::close(unsigned char) (framework/source/services/frame.cxx:1971) > by 0x1E0A35F5: non-virtual thunk to (anonymous namespace)::Frame::close(unsigned char) (framework/source/services/frame.cxx:2003) > by 0x6A5C90D: SfxFrame::DoClose() (sfx2/source/view/frame.cxx:139) > by 0x6A95F46: SfxViewFrame::Notify(SfxBroadcaster&, SfxHint const&) (sfx2/source/view/viewfrm.cxx:1332) > by 0x6A96316: non-virtual thunk to SfxViewFrame::Notify(SfxBroadcaster&, SfxHint const&) (sfx2/source/view/viewfrm.cxx:1395) > by 0x70F2D81: SfxBroadcaster::Broadcast(SfxHint const&) (svl/source/notify/brdcst.cxx:46) > by 0x690D206: SfxModelListener_Impl::notifyClosing(com::sun::star::lang::EventObject const&) (sfx2/source/doc/objxtor.cxx:174) > by 0x690D2AE: non-virtual thunk to SfxModelListener_Impl::notifyClosing(com::sun::star::lang::EventObject const&) (sfx2/source/doc/objxtor.cxx:175) > by 0x694AE31: SfxBaseModel::close(unsigned char) (sfx2/source/doc/sfxbasemodel.cxx:1439) > by 0x69463AD: SfxBaseModel::dispose() (sfx2/source/doc/sfxbasemodel.cxx:793) > by 0x69467EB: non-virtual thunk to SfxBaseModel::dispose() (sfx2/source/doc/sfxbasemodel.cxx:832) > by 0x37850138: void comphelper::disposeComponent<com::sun::star::sheet::XSpreadsheetDocument>(com::sun::star::uno::Reference<com::sun::star::sheet::XSpreadsheetDocument>&) (include/comphelper/types.hxx:114) > by 0x3784DF0B: connectivity::calc::OCalcConnection::disposing() (connectivity/source/drivers/calc/CConnection.cxx:187) > by 0x59ABFD1: cppu::WeakComponentImplHelperBase::dispose() (cppuhelper/source/implbase.cxx:271) > by 0x378508B0: cppu::WeakComponentImplHelper4<com::sun::star::sdbc::XConnection, com::sun::star::sdbc::XWarningsSupplier, com::sun::star::lang::XServiceInfo, com::sun::star::lang::XUnoTunnel>::dispose() (include/cppuhelper/compbase4.hxx:60) > by 0x37AD5987: connectivity::file::OConnection::close() (connectivity/source/drivers/file/FConnection.cxx:354) > by 0x37AD59FB: non-virtual thunk to connectivity::file::OConnection::close() (connectivity/source/drivers/file/FConnection.cxx:355) > by 0x2483BD93: dbaccess::OConnection::disposing() (dbaccess/source/core/dataaccess/connection.cxx:519) > by 0x598DF6F: cppu::OComponentHelper::dispose() (cppuhelper/source/component.cxx:178) > by 0x598E2DB: non-virtual thunk to cppu::OComponentHelper::dispose() (cppuhelper/source/component.cxx:212) > by 0x2477A548: void comphelper::disposeComponent<com::sun::star::sdbc::XConnection>(com::sun::star::uno::Reference<com::sun::star::sdbc::XConnection>&) (include/comphelper/types.hxx:114) > by 0x248A03D0: dbaccess::OSharedConnectionManager::disposing(com::sun::star::lang::EventObject const&) (dbaccess/source/core/dataaccess/datasource.cxx:339) > by 0x248A05CE: non-virtual thunk to dbaccess::OSharedConnectionManager::disposing(com::sun::star::lang::EventObject const&) (dbaccess/source/core/dataaccess/datasource.cxx:344) > by 0x59B1CB3: cppu::OInterfaceContainerHelper::disposeAndClear(com::sun::star::lang::EventObject const&) (cppuhelper/source/interfacecontainer.cxx:316) > by 0x59B2BFA: cppu::OMultiTypeInterfaceContainerHelper::disposeAndClear(com::sun::star::lang::EventObject const&) (cppuhelper/source/interfacecontainer.cxx:491) > by 0x59ABFB9: cppu::WeakComponentImplHelperBase::dispose() (cppuhelper/source/implbase.cxx:270) > by 0x2491F490: cppu::WeakComponentImplHelper1<com::sun::star::sdbc::XConnection>::dispose() (include/cppuhelper/compbase1.hxx:60) > by 0x2491FF7B: non-virtual thunk to cppu::WeakComponentImplHelper1<com::sun::star::sdbc::XConnection>::dispose() (dbaccess/source/core/dataaccess/SharedConnection.cxx:60) > by 0x8D07D21: utl::DisposableComponent::~DisposableComponent() (unotools/source/misc/sharedunocomponent.cxx:59) > by 0x27B75089: void boost::checked_delete<utl::DisposableComponent>(utl::DisposableComponent*) (workdir/UnpackedTarball/boost/boost/checked_delete.hpp:34) > by 0x27B75138: boost::detail::sp_counted_impl_p<utl::DisposableComponent>::dispose() (workdir/UnpackedTarball/boost/boost/smart_ptr/detail/sp_counted_impl.hpp:78) > by 0x27B60561: boost::detail::sp_counted_base::release() (workdir/UnpackedTarball/boost/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp:146) > by 0x27B604FC: boost::detail::shared_count::~shared_count() (workdir/UnpackedTarball/boost/boost/smart_ptr/detail/shared_count.hpp:377) > by 0x27B604BB: boost::shared_ptr<utl::DisposableComponent>::~shared_ptr() (workdir/UnpackedTarball/boost/boost/smart_ptr/shared_ptr.hpp:728) > by 0x27B603A5: boost::shared_ptr<utl::DisposableComponent>::reset() (workdir/UnpackedTarball/boost/boost/smart_ptr/shared_ptr.hpp:625) > Address 0x2a283b80 is 2,272 bytes inside a block of size 2,336 free'd > at 0x4A078DE: operator delete(void*) (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) > by 0x3BB48211: ScInputWindow::~ScInputWindow() (sc/source/ui/app/inputwin.cxx:271) > by 0x65B81FA: SfxChildWindow::~SfxChildWindow() (sfx2/source/appl/childwin.cxx:193) > by 0x3BB55AF4: ScInputWindowWrapper::~ScInputWindowWrapper() (sc/source/ui/inc/inputwin.hxx:308) > by 0x3BB55B18: ScInputWindowWrapper::~ScInputWindowWrapper() (sc/source/ui/inc/inputwin.hxx:308) > by 0x65B8146: SfxChildWindow::Destroy() (sfx2/source/appl/childwin.cxx:185) > by 0x6634FF4: SfxWorkWindow::DeleteControllers_Impl() (sfx2/source/appl/workwin.cxx:705) > by 0x6A5CE3D: SfxFrame::DoClose_Impl() (sfx2/source/view/frame.cxx:171) > by 0x6A7FB27: SfxBaseController::dispose() (sfx2/source/view/sfxbasecontroller.cxx:1031) > by 0x6A7FC1B: non-virtual thunk to SfxBaseController::dispose() (sfx2/source/view/sfxbasecontroller.cxx:1035) > by 0x1E09D2EB: (anonymous namespace)::Frame::setComponent(com::sun::star::uno::Reference<com::sun::star::awt::XWindow> const&, com::sun::star::uno::Reference<com::sun::star::frame::XController> const&) (framework/source/services/frame.cxx:1718) > by 0x1E0A0B6C: (anonymous namespace)::Frame::close(unsigned char) (framework/source/services/frame.cxx:1971) > by 0x1E0A35F5: non-virtual thunk to (anonymous namespace)::Frame::close(unsigned char) (framework/source/services/frame.cxx:2003) > by 0x6A5C90D: SfxFrame::DoClose() (sfx2/source/view/frame.cxx:139) > by 0x6A95F46: SfxViewFrame::Notify(SfxBroadcaster&, SfxHint const&) (sfx2/source/view/viewfrm.cxx:1332) > by 0x6A96316: non-virtual thunk to SfxViewFrame::Notify(SfxBroadcaster&, SfxHint const&) (sfx2/source/view/viewfrm.cxx:1395) > by 0x70F2D81: SfxBroadcaster::Broadcast(SfxHint const&) (svl/source/notify/brdcst.cxx:46) > by 0x690D206: SfxModelListener_Impl::notifyClosing(com::sun::star::lang::EventObject const&) (sfx2/source/doc/objxtor.cxx:174) > by 0x690D2AE: non-virtual thunk to SfxModelListener_Impl::notifyClosing(com::sun::star::lang::EventObject const&) (sfx2/source/doc/objxtor.cxx:175) > by 0x694AE31: SfxBaseModel::close(unsigned char) (sfx2/source/doc/sfxbasemodel.cxx:1439) > by 0x69463AD: SfxBaseModel::dispose() (sfx2/source/doc/sfxbasemodel.cxx:793) > by 0x69467EB: non-virtual thunk to SfxBaseModel::dispose() (sfx2/source/doc/sfxbasemodel.cxx:832) > by 0x37850138: void comphelper::disposeComponent<com::sun::star::sheet::XSpreadsheetDocument>(com::sun::star::uno::Reference<com::sun::star::sheet::XSpreadsheetDocument>&) (include/comphelper/types.hxx:114) > by 0x3784DF0B: connectivity::calc::OCalcConnection::disposing() (connectivity/source/drivers/calc/CConnection.cxx:187) > by 0x59ABFD1: cppu::WeakComponentImplHelperBase::dispose() (cppuhelper/source/implbase.cxx:271) > by 0x378508B0: cppu::WeakComponentImplHelper4<com::sun::star::sdbc::XConnection, com::sun::star::sdbc::XWarningsSupplier, com::sun::star::lang::XServiceInfo, com::sun::star::lang::XUnoTunnel>::dispose() (include/cppuhelper/compbase4.hxx:60) > by 0x37AD5987: connectivity::file::OConnection::close() (connectivity/source/drivers/file/FConnection.cxx:354) > by 0x37AD59FB: non-virtual thunk to connectivity::file::OConnection::close() (connectivity/source/drivers/file/FConnection.cxx:355) > by 0x2483BD93: dbaccess::OConnection::disposing() (dbaccess/source/core/dataaccess/connection.cxx:519) > by 0x598DF6F: cppu::OComponentHelper::dispose() (cppuhelper/source/component.cxx:178) > by 0x598E2DB: non-virtual thunk to cppu::OComponentHelper::dispose() (cppuhelper/source/component.cxx:212) > by 0x2477A548: void comphelper::disposeComponent<com::sun::star::sdbc::XConnection>(com::sun::star::uno::Reference<com::sun::star::sdbc::XConnection>&) (include/comphelper/types.hxx:114) > by 0x248A03D0: dbaccess::OSharedConnectionManager::disposing(com::sun::star::lang::EventObject const&) (dbaccess/source/core/dataaccess/datasource.cxx:339) > by 0x248A05CE: non-virtual thunk to dbaccess::OSharedConnectionManager::disposing(com::sun::star::lang::EventObject const&) (dbaccess/source/core/dataaccess/datasource.cxx:344) > by 0x59B1CB3: cppu::OInterfaceContainerHelper::disposeAndClear(com::sun::star::lang::EventObject const&) (cppuhelper/source/interfacecontainer.cxx:316) > by 0x59B2BFA: cppu::OMultiTypeInterfaceContainerHelper::disposeAndClear(com::sun::star::lang::EventObject const&) (cppuhelper/source/interfacecontainer.cxx:491) > by 0x59ABFB9: cppu::WeakComponentImplHelperBase::dispose() (cppuhelper/source/implbase.cxx:270) > by 0x2491F490: cppu::WeakComponentImplHelper1<com::sun::star::sdbc::XConnection>::dispose() (include/cppuhelper/compbase1.hxx:60) > by 0x2491FF7B: non-virtual thunk to cppu::WeakComponentImplHelper1<com::sun::star::sdbc::XConnection>::dispose() (dbaccess/source/core/dataaccess/SharedConnection.cxx:60) > by 0x8D07D21: utl::DisposableComponent::~DisposableComponent() (unotools/source/misc/sharedunocomponent.cxx:59) > by 0x27B75089: void boost::checked_delete<utl::DisposableComponent>(utl::DisposableComponent*) (workdir/UnpackedTarball/boost/boost/checked_delete.hpp:34) > by 0x27B75138: boost::detail::sp_counted_impl_p<utl::DisposableComponent>::dispose() (workdir/UnpackedTarball/boost/boost/smart_ptr/detail/sp_counted_impl.hpp:78) > by 0x27B60561: boost::detail::sp_counted_base::release() (workdir/UnpackedTarball/boost/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp:146) > by 0x27B604FC: boost::detail::shared_count::~shared_count() (workdir/UnpackedTarball/boost/boost/smart_ptr/detail/shared_count.hpp:377) > by 0x27B604BB: boost::shared_ptr<utl::DisposableComponent>::~shared_ptr() (workdir/UnpackedTarball/boost/boost/smart_ptr/shared_ptr.hpp:728) > by 0x27B603A5: boost::shared_ptr<utl::DisposableComponent>::reset() (workdir/UnpackedTarball/boost/boost/smart_ptr/shared_ptr.hpp:625) > by 0x27B420E8: utl::SharedUNOComponent<com::sun::star::sdbc::XConnection, utl::DisposableComponent>::clear() (include/unotools/sharedunocomponent.hxx:234) > by 0x27B29FA6: dbaui::OApplicationController::disconnect() (dbaccess/source/ui/app/AppController.cxx:339) > by 0x27B2A2A1: dbaui::OApplicationController::disposing() (dbaccess/source/ui/app/AppController.cxx:361) > by 0x59ABFD1: cppu::WeakComponentImplHelperBase::dispose() (cppuhelper/source/implbase.cxx:271)
I can't seem to install that extension on my local master build, due to "no constructor symbol" from libsfx2lo.so.
(In reply to comment #10) > I can't seem to install that extension on my local master build, due to "no > constructor symbol" from libsfx2lo.so. Nevermind it's there.
I'm on it.
Kohei Yoshida committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=76bdf523981d2bd983dac4e01bc5cc934118a73f fdo#73773: Check if the *document* is closing, not the *app*. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Backport requests on gerrit: 4.2: https://gerrit.libreoffice.org/8053 4.2.1: https://gerrit.libreoffice.org/8054 4.1: https://gerrit.libreoffice.org/8055
Kohei Yoshida committed a patch related to this issue. It has been pushed to "libreoffice-4-2": http://cgit.freedesktop.org/libreoffice/core/commit/?id=6fe0d38b6dc150544da30819da90a0c32e49f58a&h=libreoffice-4-2 fdo#73773: Check if the *document* is closing, not the *app*. It will be available in LibreOffice 4.2.2. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Kohei Yoshida committed a patch related to this issue. It has been pushed to "libreoffice-4-2-1": http://cgit.freedesktop.org/libreoffice/core/commit/?id=3cc0ed80291b521375d00c1e0a15aa66e712ced6&h=libreoffice-4-2-1 fdo#73773: Check if the *document* is closing, not the *app*. It will be available already in LibreOffice 4.2.1. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Fixed.
Kohei Yoshida committed a patch related to this issue. It has been pushed to "libreoffice-4-1": http://cgit.freedesktop.org/libreoffice/core/commit/?id=ac6568e412821b4fc9c347cc1bb56ccd65311c27&h=libreoffice-4-1 fdo#73773: Check if the *document* is closing, not the *app*. It will be available in LibreOffice 4.1.6. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
correcting target, since 4.2.1.1 is 4.2.1 release
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.