Bug 79253 - Writer: Slow editing of text in complex table, freezes on Enters (swlo!SwFrame::UnionFrame) STR comment 32
Summary: Writer: Slow editing of text in complex table, freezes on Enters (swlo!SwFram...
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
Inherited From OOo
Hardware: All All
: high major
Assignee: Not Assigned
URL:
Whiteboard: BSA
Keywords: haveBacktrace
Depends on:
Blocks: Writer-Tables CPU-AT-100% Writer-Table-Layouting
  Show dependency treegraph
 
Reported: 2014-05-26 09:16 UTC by Jens Harms
Modified: 2022-11-14 22:28 UTC (History)
11 users (show)

See Also:
Crash report or crash signature:


Attachments
sample document, created with lo writer, which forces a crash (30.42 KB, application/vnd.oasis.opendocument.text)
2014-05-26 09:16 UTC, Jens Harms
Details
gdbtrace.log from libreofficedev5.2 with soffice --backtrace --writer (25.87 KB, text/plain)
2016-09-28 12:43 UTC, Jens Harms
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jens Harms 2014-05-26 09:16:53 UTC
Created attachment 99850 [details]
sample document, created with lo writer, which forces a crash

Problem description:
lo writer 4.1 and 3.5 and maybe others doesn't respond and use 100% CPU.
All instances of lowrite will freeze.
 
Steps to reproduce:
1. open attached document 
2. goto 3.1 / Nr. 2. "Lara und Viola kommen ins Cafe"
3. place crsr at end of line, press "," and <enter>
4. crash

              
Operating System: Ubuntu
Version: 4.1.3.2 release
Comment 1 Kevin Suo 2014-05-26 09:47:58 UTC
I do not encounter the "CRASH" when doing the steps outlined by Jens Harms, in LibreOffice 4.2.4.2 and 4.3.0 beta 1.

However, when I press ENTER at the end of any lines above 5.2: "Cafe, Cafebesucher sitzen an den Tischen , Kellner bedient", there is at least 2 seconds' delay. Then when I repeat typing ENTER, sometimes libreoffice CRASH.

Typing ENTER below the line 5.2: "Cafe, Cafebesucher sitzen an den Tischen , Kellner bedient" is no delay and no crash.

So, set as NEW.
Comment 2 Kevin Suo 2014-05-26 09:49:12 UTC
Set platform to ALL, as I reproduce this in Windows XP.
Comment 3 Julien Nabet 2014-05-26 20:27:45 UTC
I do not encounter a crash too but a freeze on pc Debia x86-64 with master sources updated today.

I noticed these logs:
warn:legacy.osl:30654:1:sw/source/core/txtnode/txtedt.cxx:710: SwScanner: EmptyString
warn:legacy.osl:30654:1:sw/source/core/layout/tabfrm.cxx:2490: debug assertion: <SwTabFrm::MakeAll()> - format of table lowers suppressed by fix i44910
warn:legacy.osl:30654:1:sw/source/core/layout/calcmove.cxx:289: :-( Layout unstable (this not found).
Comment 4 Julien Nabet 2014-05-26 20:29:47 UTC Comment hidden (obsolete)
Comment 5 QA Administrators 2015-06-08 14:42:34 UTC Comment hidden (obsolete)
Comment 6 Jean-Baptiste Faure 2015-07-10 18:15:44 UTC
Freeze still reproducible with LO 4.4.6.0+ and LO 5.0.1.0+ both built at home under Ubuntu 15.04 x86-64.

Best regards. JBF
Comment 7 Julien Nabet 2015-07-14 20:50:04 UTC
To give an update, I still reproduce this too and I noticed these kind of logs on console:
warn:legacy.osl:3773:1:svx/source/dialog/rulritem.cxx:525: Wrong MemberId!
warn:legacy.osl:3773:1:editeng/source/items/frmitems.cxx:476: unknown MemberId
warn:legacy.osl:3773:1:svx/source/dialog/rulritem.cxx:525: Wrong MemberId!
warn:legacy.osl:3773:1:editeng/source/items/frmitems.cxx:476: unknown MemberId
warn:vcl.gdi:3773:1:vcl/source/gdi/bmpfast.cxx:780: ImplFastBlend for not accelerated case (4000*10->4000)
warn:legacy.osl:3773:1:sw/source/uibase/docvw/edtwin.cxx:5500: unknown command.
warn:legacy.osl:3773:1:sw/source/uibase/docvw/edtwin.cxx:5500: unknown command.
warn:legacy.osl:3773:1:svx/source/dialog/rulritem.cxx:525: Wrong MemberId!
warn:legacy.osl:3773:1:svx/source/dialog/rulritem.cxx:525: Wrong MemberId!

** (soffice:3773): WARNING **: missing get indicator state
warn:legacy.osl:3773:1:sw/source/core/layout/tabfrm.cxx:2505: debug assertion: <SwTabFrm::MakeAll()> - format of table lowers suppressed by fix i44910
warn:legacy.osl:3773:1:sw/source/core/layout/tabfrm.cxx:2505: debug assertion: <SwTabFrm::MakeAll()> - format of table lowers suppressed by fix i44910
warn:legacy.osl:3773:1:sw/source/core/layout/tabfrm.cxx:2505: debug assertion: <SwTabFrm::MakeAll()> - format of table lowers suppressed by fix i44910
warn:legacy.osl:3773:1:sw/source/core/layout/tabfrm.cxx:2505: debug assertion: <SwTabFrm::MakeAll()> - format of table lowers suppressed by fix i44910
warn:legacy.osl:3773:1:sw/source/core/layout/tabfrm.cxx:2505: debug assertion: <SwTabFrm::MakeAll()> - format of table lowers suppressed by fix i44910
warn:legacy.osl:3773:1:sw/source/core/txtnode/txtedt.cxx:728: SwScanner: EmptyString
Comment 8 Mark Neuffer 2015-08-27 15:52:39 UTC Comment hidden (obsolete)
Comment 9 Mark Neuffer 2015-08-27 15:54:31 UTC
I have no idea if I have filled this inquiry out correctly.

As stated in my summary, I was editing text in a table.  The writer application froze and hung.  I had to Force Quit.  The work was not recoverable.

I am not real happy about that.  The recovery feature was essentially useless.

Back to re-work the document.

Mark H Neuffer
Comment 10 QA Administrators 2016-09-20 10:29:26 UTC Comment hidden (obsolete)
Comment 11 Jean-Baptiste Faure 2016-09-25 17:43:44 UTC Comment hidden (obsolete)
Comment 12 Jens Harms 2016-09-28 12:26:26 UTC
Bug is still present in:
libreofficedev5.2-writer_5.2.3.0.0-1_i386.deb
+ http://dev-builds.libreoffice.org/daily/libreoffice-5-2/Linux-rpm_deb-x86@71-TDF/2016-09-27_17.37.14/libreoffice-5-2~2016-09-27_17.37.14_LibreOfficeDev_5.2.3.0.0_Linux_x86_deb.tar.gz

LibreOffice 5.2.1.2 20m0(Build:2)
+ deb http://ppa.launchpad.net/libreoffice/libreoffice-5-2/ubuntu trusty main


Steps to reproduce:
1. open attached document 
2. go to 3.1 / Nr. 2. "Lara und Viola kommen ins Cafe"
3. place crsr at end of line, press "," and <enter>
4. crash (CPU 100%), freeze

Tables in LibreOffice considered harmful!
Comment 13 Jens Harms 2016-09-28 12:43:43 UTC
Created attachment 127698 [details]
gdbtrace.log from libreofficedev5.2 with soffice --backtrace --writer

This log indicates that the bug is still present in all versions of lowriter.
I.M.H.O. the table-layout algorithm or the implementation does a endless loop
Comment 14 Jean-Baptiste Faure 2016-09-28 17:19:22 UTC Comment hidden (obsolete)
Comment 15 Jean-Baptiste Faure 2016-10-01 20:10:31 UTC Comment hidden (obsolete)
Comment 16 QA Administrators 2017-10-23 14:07:31 UTC Comment hidden (obsolete)
Comment 17 Jean-Baptiste Faure 2017-10-29 07:08:42 UTC Comment hidden (obsolete)
Comment 18 Jean-Baptiste Faure 2017-10-29 07:09:42 UTC Comment hidden (obsolete)
Comment 19 Jens Harms 2017-10-29 09:43:10 UTC
Bug is still present but it took some more editing (appended 2 lines of text in the cell: '3.1 / Nr. 2. "Lara und Viola kommen ins Cafe'). Then i inserted a 2x2 Table and wrote a number inside the new cells, then it crashed. i guess with some more time it is possible to find shorter ways to make this application crash.

I tried this version:

Version: 5.4.2.2
Build-ID: 1:5.4.2~rc2-0ubuntu0.17.10.1~lo1
CPU-Threads: 4; Betriebssystem:Linux 4.13; UI-Render: Standard; VCL: gtk3; 
Gebietsschema: de-DE (de_DE.UTF-8); Calc: group
Comment 20 Aron Budea 2017-11-30 03:54:50 UTC Comment hidden (obsolete)
Comment 21 tommy27 2017-12-21 05:55:33 UTC Comment hidden (obsolete)
Comment 22 Jens Harms 2017-12-21 10:35:06 UTC
LO 5.4.4 same bug. 

Steps to reproduce:
1. open attached document 
2. goto 3.1 / Nr. 2. "Lara und Viola kommen ins Cafe"
3. place crsr at end of line, press nine times <enter>
4. crash

100% CPU Usage
Comment 23 Timur 2017-12-21 11:42:14 UTC
Repro with 6.1+. Dump also catched. 

FOLLOWUP_IP: swlo!SwFrame::UnionFrame +2182 1ea92362 8bf0   mov     esi,eax
Comment 24 gwbronstad 2018-07-23 18:32:35 UTC
Got following msg: "
Please check the report and if no bug report is connected to the crash report yet, open a new bug report at bugs.documentfoundation.org.
Add detailed instructions on how to reproduce the crash and the shown crash ID into the crash report field.
Thank you for your help in improving LibreOffice."

Could not find bug report s b about 1:05 pm cst 2018-07-23.
Comment 25 Xisco Faulí 2018-07-24 10:40:56 UTC Comment hidden (obsolete)
Comment 26 Xisco Faulí 2018-07-24 10:53:33 UTC Comment hidden (obsolete)
Comment 27 Xisco Faulí 2018-07-24 16:42:01 UTC
Let's keep the hang and the crash in separated bugs.
Let's use this one for the hang, which is reproducible back to 

LibreOffice 3.3.0 
OOO330m19 (Build:6)
tag libreoffice-3.3.0.4

and bug 116293, which is a recent issue
Comment 28 Telesto 2019-07-01 14:28:03 UTC
Repro
Version: 6.4.0.0.alpha0+ (x86)
Build ID: c2cb467a1e5194c56bb65706b7965fb2c9241b8f
CPU threads: 4; OS: Windows 6.3; UI render: default; VCL: win; 
TinderBox: Win-x86@42, Branch:master, Time: 2019-06-29_00:11:35
Locale: nl-NL (nl_NL); UI-Language: en-US
Calc: threaded
Comment 29 Telesto 2019-07-01 14:31:35 UTC
@Michael
I thought, based on the recent commits you might interested in this one
Comment 30 Telesto 2020-01-03 19:38:29 UTC
Repro comment 22
Version: 6.5.0.0.alpha0+ (x64)
Build ID: 42a1a1c6b91907f81e15066ffab219411f18c4db
CPU threads: 4; OS: Windows 6.3 Build 9600; UI render: GL; VCL: win; 
Locale: nl-NL (nl_NL); UI-Language: en-US
Calc: CL
Comment 31 BogdanB 2021-08-23 10:42:20 UTC
REPRO in
Version: 7.3.0.0.alpha0+ / LibreOffice Community
Build ID: 5b025285b3528910a4360899abb2bbbaadc72c97
CPU threads: 4; OS: Linux 5.11; UI render: default; VCL: gtk3
Locale: ro-RO (ro_RO.UTF-8); UI: en-US
Calc: threaded
Comment 32 Gabor Kelemen (allotropia) 2022-11-14 22:28:16 UTC
This has changed in 7.4 with

https://git.libreoffice.org/core/+/cc7de9022b83c4103f1dc9ba6a8c1a8a98a21324

author	Michael Stahl <michael.stahl@allotropia.de>	Mon Jul 11 19:20:33 2022 +0200
committer	Thorsten Behrens <thorsten.behrens@allotropia.de>	Thu Jul 14 23:03:06 2022 +0200

sw: fix spurious layout invalidation from ~SwCallLink()

Before this keeping the Enter pressed could cause a layout loop, now it only creates a CPU spike, but the new layout is applied.

On the other hand, deleting the newly added empty paragraphs can cause a layout loop when some text is supposed to be moved back to the page it initially was.

New STR:
1 Open the attachment 99850 [details]
2 After "Lara und Viola kommen ins Cafe" add several new paragraphs so that "Schattenmensch denkt nach, während Lara und Viola von Joana begrüßt werden" is broken to the next page.
3 Press Backspace until the text should be moved back to the first page -> layout loop.