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
*** Bug 59244 has been marked as a duplicate of this bug. ***