Created attachment 115758 [details] spreadsheet that experiences crash on edit Version: 4.4.2.2 Build ID: 40m0(Build:2) Locale: en_AU OS: Xubuntu 15.04 Steps to reproduce: 1) Open attached spreadsheet, forrepro.ods 2) Click in cell I2 in sheet "Target data" 3) Type "1" and press Enter (or click outside) Expected result: value updated to "1" Actual result: calc disappears (crashes). On second open, Document Recovery dialog appears
I can not reproduce this on 4.3.7.2 (Fedora 64bit) or on current master (commit 15a7ae3e8008ef7dbafdcb4b7604cac1fe1f9061)
Hi @waldo000000, have you test resetting the user profile?, sometimes solves strange issues. https://wiki.documentfoundation.org/UserProfile
No crash with LO 4.4.3, win7 To be certain the reported issue is not related to corruption in the user profile, could you rename this LibreOffice user directory ( see https://wiki.documentfoundation.org/UserProfile#Default_location or http://ask.libreoffice.org/en/question/903/where-are-the-libreoffice-data-profile-files/ ) and re-test?
(In reply to raal from comment #3) > No crash with LO 4.4.3, win7 > To be certain the reported issue is not related to corruption in the user > profile, could you rename this LibreOffice user directory ( see > https://wiki.documentfoundation.org/UserProfile#Default_location or > http://ask.libreoffice.org/en/question/903/where-are-the-libreoffice-data- > profile-files/ ) and re-test? Works after following these instructions. Please let me know if I can provide further info (e.g. the user profile) to help get to the root cause.
If you have still the old profile, you can zip it and attach it by using this link: https://bugs.documentfoundation.org/attachment.cgi?bugid=91416&action=enter (Let's lower the priority meanwhile since it's ok with a new LO profile)
Created attachment 115871 [details] profile.tar.gz Here's the backed up profile that seems to have caused the issue.
Created attachment 115882 [details] bt with debug symbols On pc Debian x86-64 with master sources updated yesterday + LO profile provided by the reporter, I could reproduce the crash.
Michael: noticing that pVirtDev were ScopedVclPtrInstance in all the other locations than editeng/source/editeng/impedit.hxx, I tried this patch: diff --git a/editeng/source/editeng/impedit.hxx b/editeng/source/editeng/impedit.hxx index c6186b9..4fdc3dd 100644 --- a/editeng/source/editeng/impedit.hxx +++ b/editeng/source/editeng/impedit.hxx @@ -422,7 +422,7 @@ private: SfxStyleSheetPool* pStylePool; SfxItemPool* pTextObjectPool; - VclPtr< VirtualDevice> pVirtDev; + ScopedVclPtrInstance< VirtualDevice> pVirtDev; VclPtr< OutputDevice > pRefDev; svtools::ColorConfig* pColorConfig; @@ -1068,9 +1068,6 @@ inline EditSelection ImpEditEngine::CreateSel( const ESelection& rSel ) inline VirtualDevice* ImpEditEngine::GetVirtualDevice( const MapMode& rMapMode, DrawModeFlags nDrawMode ) { - if ( !pVirtDev ) - pVirtDev = new VirtualDevice; - if ( ( pVirtDev->GetMapMode().GetMapUnit() != rMapMode.GetMapUnit() ) || ( pVirtDev->GetMapMode().GetScaleX() != rMapMode.GetScaleX() ) || ( pVirtDev->GetMapMode().GetScaleY() != rMapMode.GetScaleY() ) ) diff --git a/editeng/source/editeng/impedit2.cxx b/editeng/source/editeng/impedit2.cxx index 7905893..81102ab 100644 --- a/editeng/source/editeng/impedit2.cxx +++ b/editeng/source/editeng/impedit2.cxx @@ -106,7 +106,6 @@ ImpEditEngine::ImpEditEngine( EditEngine* pEE, SfxItemPool* pItemPool ) : { pEditEngine = pEE; pRefDev = NULL; - pVirtDev = NULL; pEmptyItemSet = NULL; pActiveView = NULL; pSpellInfo = NULL; I still got a crash but with a different bt. Anyway, is this patch ok for VclPtr management?
Interesting; there was another crash on edit that Markus fixed just the other day - which is an autocorrect foo. I've fixed up a number of VirtualDevice lifecycle issues - thanks Julien for that pointer; I think it's prolly best not to use the ScopedVclPtr for that here: ScopedVclPtr behaves somewhat oddly. Test build running here: https://gerrit.libreoffice.org/15913
Michael Meeks committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=f849d96463d967214bc063f6de912a082272c395 tdf#91416 - fix some incorrectly allocated VirtualDevices. It will be available in 5.1.0. 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.
Caolán McNamara committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=e3c1a394a00cef416a81b89b6d5c204891abb286 Resolves: tdf#91416 setting progress -> resize -> destroy formula context It will be available in 5.1.0. 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.
Caolán McNamara committed a patch related to this issue. It has been pushed to "libreoffice-5-0": http://cgit.freedesktop.org/libreoffice/core/commit/?id=3a34f96a16ad3063302670a57a1ed508302e3ffb&h=libreoffice-5-0 Resolves: tdf#91416 setting progress -> resize -> destroy formula context It will be available in 5.0.0.0.beta2. 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.
Michael Meeks committed a patch related to this issue. It has been pushed to "libreoffice-5-0": http://cgit.freedesktop.org/libreoffice/core/commit/?id=f34c1e9ba7d831c42c89d3c59d501ce6cc858dbe&h=libreoffice-5-0 tdf#91416 - fix some incorrectly allocated VirtualDevices. It will be available in 5.0.0.0.beta2. 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.
Confirmed it's ok with master sources updated yesterday (be01d68420086fc36ecf26b5f597ba7c6b29b369) Thank you Michael (+Caolan)! :-)
Caolán McNamara committed a patch related to this issue. It has been pushed to "libreoffice-4-4": http://cgit.freedesktop.org/libreoffice/core/commit/?id=15f70281384da36a41dc1cbe1b5d01d4704df636&h=libreoffice-4-4 Resolves: tdf#91416 setting progress -> resize -> destroy formula context It will be available in 4.4.5. 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.