| Summary: | CRASH: Bad allocation if undo count is set to zero (0) (see comment 4) | ||
|---|---|---|---|
| Product: | LibreOffice | Reporter: | Telesto <telesto> |
| Component: | Writer | Assignee: | Michael Stahl (allotropia) <michael.stahl> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | michael.stahl, serval2412, xiscofauli |
| Priority: | medium | Keywords: | haveBacktrace |
| Version: | 5.0 all versions | ||
| Hardware: | All | ||
| OS: | All | ||
| Whiteboard: | target:6.0.0 target:5.4.0.2 | ||
| Crash report or crash signature: | Regression By: | ||
| Bug Depends on: | |||
| Bug Blocks: | 109386 | ||
| Attachments: |
Profile 1
Profile 2 bt with debug symbols |
||
|
Description
Telesto
2017-06-28 13:35:42 UTC
Created attachment 134348 [details]
Profile 1
Created attachment 134349 [details]
Profile 2
I'll set this to WFM and add the keyword corruptProfile, which was just suggested on the mailing list: http://lists.freedesktop.org/archives/libreoffice-qa/2015-October/009104.html Found the corner case culprit. 1. Open Writer 2. Options - LibO - Advanced - Expert config: org.openoffice.Office.Common/Undo -> Set undo count to 0 3. Type something in Writer (not sure if it's required) 4. Close the Writer document (gray cross -> back to start screen) 5. Open Writer again -> Start typing random stuff with spaces.. Crash will occur pretty soon. If not repeat 4 and 5) crashreport.libreoffice.org/stats/crash_details/d55cd0ba-e5e9-41bf-9091-f18a6736484e Confirmed in Version: 6.0.0.0.alpha0+ Build ID: 08f6f9dded1b142b858c455da03319abac691655 CPU Threads: 4; OS Version: Linux 4.8; UI Render: default; VCL: gtk3; Locale: ca-ES (ca_ES.UTF-8); Calc: group and Version: 5.0.0.0.alpha1+ Build ID: 0db96caf0fcce09b87621c11b584a6d81cc7df86 Locale: ca-ES (ca_ES.UTF-8) Created attachment 134365 [details]
bt with debug symbols
On pc Debian x86-64 with master sources updated today, I got an assert.
Michael: thought you might be interested in this one. I got an assert which has been introduced with https://cgit.freedesktop.org/libreoffice/core/commit/?id=e012f326c1c32c053304998a6826cb322f2c7728 (2013). Now I just wonder if putting 0 at undo should be forbidden since we've got an assert, or if we just should remove this assert. I personally would prefer to be able to set it to 0. For three reasons: - It makes it possible to move larger datasets in Calc (undo is a bit memory hungry) - It makes it a bit easier spotting real memory leaks - Writer is the only application crashing part of bt after having removed the assert:
(gdb) bt
#0 0x00007fffc9911aa5 in rtl::OUString::operator+=<rtl::OUStringLiteral1_ const>(rtl::OUStringLiteral1_ const&) & (this=0x9999999999999999, literal=...)
at /home/julien/lo/libreoffice/include/rtl/ustring.hxx:576
#1 0x00007fffc9d3e35f in SwUndoInsert::CanGrouping (this=0x55555ba65d00, cIns=32 u' ') at /home/julien/lo/libreoffice/sw/source/core/undo/unins.cxx:145
#2 0x00007fffc9758e77 in sw::DocumentContentOperationsManager::InsertString (this=0x5555578b9a30, rRg=SwPaM = {...}, rStr=" ", nInsertMode=SwInsertFlags::EMPTYEXPAND)
at /home/julien/lo/libreoffice/sw/source/core/doc/DocumentContentOperationsManager.cxx:2514
#3 0x00007fffc99058f3 in SwAutoCorrDoc::Insert (this=0x7fffffff1230, nPos=5, rText=" ") at /home/julien/lo/libreoffice/sw/source/core/edit/acorrect.cxx:131
#4 0x00007ffff36afedf in SvxAutoCorrect::DoAutoCorrect (this=0x555557894ae0, rDoc=..., rTxt="azevb ", nInsPos=5, cChar=32 u' ', bInsert=true, pFrameWin=0x5555579ab5f0)
at /home/julien/lo/libreoffice/editeng/source/misc/svxacorr.cxx:1271
#5 0x00007fffc9959d37 in SwEditShell::AutoCorrect (this=0x5555579d3200, rACorr=..., bInsert=true, cChar=32 u' ')
at /home/julien/lo/libreoffice/sw/source/core/edit/edws.cxx:255
#6 0x00007fffca528d74 in SwWrtShell::AutoCorrect (this=0x5555579d3200, rACorr=..., cChar=32 u' ') at /home/julien/lo/libreoffice/sw/source/uibase/wrtsh/wrtsh1.cxx:1613
Michael Stahl committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=5c4a9dfdc01606e0a35c5e2809571d0f6f03df39 tdf#108836 sw: don't enable Undo if Steps configured to 0 It will be available in 6.0.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. well undo with 0 steps isn't going to do a whole lot so lets just not enable it *** Bug 108863 has been marked as a duplicate of this bug. *** Michael Stahl committed a patch related to this issue. It has been pushed to "libreoffice-5-4": http://cgit.freedesktop.org/libreoffice/core/commit/?id=55368a0602eb2ab191e969d3b363087dce62994f&h=libreoffice-5-4 tdf#108836 sw: don't enable Undo if Steps configured to 0 It will be available in 5.4.0.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. |