Bug 92372 - Writer systematic hangs when undoing frame move
Summary: Writer systematic hangs when undoing frame move
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
Inherited From OOo
Hardware: x86-64 (AMD64) Linux (All)
: medium major
Assignee: Not Assigned
URL:
Whiteboard: target:6.3.0 target:6.2.5
Keywords:
Depends on:
Blocks: Undo-Redo
  Show dependency treegraph
 
Reported: 2015-06-27 08:44 UTC by Pascal Hingamp
Modified: 2019-05-23 12:57 UTC (History)
5 users (show)

See Also:
Crash report or crash signature:


Attachments
Screen shot of frozen LO Writer with RAM monitor rocketing (784.76 KB, image/png)
2015-06-27 08:44 UTC, Pascal Hingamp
Details
Screenshot with TOP showing RAM leaking LO process (374.52 KB, image/png)
2015-06-27 08:46 UTC, Pascal Hingamp
Details
Screen cast of the two action needed to reproduce the crash. The CTRL-Z key is pressed after the frame is moved. (3.89 MB, video/ogg)
2015-06-27 11:36 UTC, Pascal Hingamp
Details
LO Writer file to reproduce the bug (10.34 MB, application/vnd.oasis.opendocument.text)
2018-12-04 21:12 UTC, Pascal Hingamp
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Pascal Hingamp 2015-06-27 08:44:28 UTC
Created attachment 116861 [details]
Screen shot of frozen LO Writer with RAM monitor rocketing

In the attached document, when the frame (containing text starting with "cartoonesque...") is moved with the mouse across the page boundary to bottom of previous page, then the action is undone with CTRL-Z, then the RAM usage of LO goes through the roof (see attached screeenshots) and if user is not quick enough the PC can become unusable.

Note that the frame is linked to two other frames (previous and next) for text flow between the three.

This bug (and others) happened so regularly while working on this document, that in desperation I resorted to creating a macro to do incremental automatic saves of the document to avoid loosing too much work...

OS: Ubuntu 14.10
RAM: 8GB
CPU: 64bit Intel® Core™ i7-2720QM CPU @ 2.20GHz × 8 
LO: Version: 4.3.7.2 Build ID: 430m0(Build:2)

This bug was also experienced with other older versions of LO (I don't have access right now to the other PCs to provide the other version IDs)
Comment 1 Pascal Hingamp 2015-06-27 08:46:57 UTC
Created attachment 116862 [details]
Screenshot with TOP showing RAM leaking LO process
Comment 2 Pascal Hingamp 2015-06-27 08:50:57 UTC
Sorry, turns out I can't submit the Writer document (10.8MB). I can send it if requested.
Comment 3 Julien Nabet 2015-06-27 09:19:03 UTC
Could you try a more recent LO version (last one is 4.4.3) by using LO ppa? (see https://launchpad.net/~libreoffice/+archive/ubuntu/ppa)
Indeed 4.3 branch is EOL, see https://wiki.documentfoundation.org/ReleasePlan
Comment 4 Pascal Hingamp 2015-06-27 10:41:25 UTC
(In reply to Julien Nabet from comment #3)
> Could you try a more recent LO version (last one is 4.4.3) by using LO ppa?
> (see https://launchpad.net/~libreoffice/+archive/ubuntu/ppa)
> Indeed 4.3 branch is EOL, see https://wiki.documentfoundation.org/ReleasePlan

I have added the ppa, updated LO to Version: 4.4.3.2 Build ID: 40m0(Build:2), rebooted the PC, and opened the .odt file again: the bug is exactly the same (very fast RAM leakage leaving very little time to react and close the "not responding application").

If you wish to try by yourself, I have uploaded the file here:
http://biologie.univ-mrs.fr/upload/p1/tpe_20150214_ex2.odt

Not only that, but now my document has also become unreadable in version 4.4.3.2 because of some unexplainable change in the background color of the frames... Separate bug report on the way. I've spent all my Saturday afternoon (Asia here) filing three LO bug reports. I'm really sorry, I'm very aware how much effort is going into this huge project, but I can't continue filing bug reports, I need to produce documents, this is a very sad day for me but after 15 years of using 100% open source (I switched to OO in 2000!) I'm having to switch to other solution - breaks my heart believe me as I'm such a strong advocate of OS :(
Comment 5 Julien Nabet 2015-06-27 11:12:35 UTC
I uploaded your file and tested with LO Debian package 4.4.4 RC2.
I found "cartoonesque" in "L'avis de l'expert", page 24.
I moved the frame on previous page then did an undo with Ctrl-Z, nothing special about memory. Perhaps I missed something.

For the test, could you rename your LO directory profile (see https://wiki.documentfoundation.org/UserProfile#GNU.2FLinux)?
Indeed, there could be buggy remnants from previous LO version or from buggy extensions.

Normally I would have proposed prerelease version  - eg: https://fr.libreoffice.org/download/pre-releases/ - but since it's not for personal use and you lack time, I can easily understand you wouldn't want to try)
Comment 6 Pascal Hingamp 2015-06-27 11:34:49 UTC
(In reply to Julien Nabet from comment #5)
> I uploaded your file and tested with LO Debian package 4.4.4 RC2.
> I found "cartoonesque" in "L'avis de l'expert", page 24.
> I moved the frame on previous page then did an undo with Ctrl-Z, nothing
> special about memory. Perhaps I missed something.
> 
> For the test, could you rename your LO directory profile (see
> https://wiki.documentfoundation.org/UserProfile#GNU.2FLinux)?
> Indeed, there could be buggy remnants from previous LO version or from buggy
> extensions.
> 
> Normally I would have proposed prerelease version  - eg:
> https://fr.libreoffice.org/download/pre-releases/ - but since it's not for
> personal use and you lack time, I can easily understand you wouldn't want to
> try)

I have moved my profile:
mv .config/libreoffice/ .config/libreoffice_bak

The crash happens in exactly the same predictable way.

I'm attaching a screenshot of the two very simple actions required to reproduce the crash. It works 100% of the time. Notice the RAM graph in green in the unity monitor.
Comment 7 Pascal Hingamp 2015-06-27 11:36:00 UTC
Created attachment 116875 [details]
Screen cast of the two action needed to reproduce the crash. The CTRL-Z key is pressed after the frame is moved.
Comment 8 Julien Nabet 2015-06-27 11:48:05 UTC
Thank you for the screencast, I could reproduce this with LO Debian package thanks to it.

I'm building right now master sources (future 5.1.0) and it'll take some time (more precisely, some hours) to finish.
I'll give a try with it, certainly I may have more info for devs (backtrace, warning logs, etc) since I build with --enable-dbgutil flag.
Just for curiosity, what are the other bugtrackers you filled? I could take a look at them.
Comment 9 Pascal Hingamp 2015-06-27 13:32:27 UTC
(In reply to Julien Nabet from comment #8)
> Thank you for the screencast, I could reproduce this with LO Debian package
> thanks to it.
> 
> I'm building right now master sources (future 5.1.0) and it'll take some
> time (more precisely, some hours) to finish.
> I'll give a try with it, certainly I may have more info for devs (backtrace,
> warning logs, etc) since I build with --enable-dbgutil flag.
> Just for curiosity, what are the other bugtrackers you filled? I could take
> a look at them.

Thanks for the lightening fast pick up of the issue!

The other two bugs filed are:

-Issue with background formatting of frames in Writer, discovered when I updated to 4.4.3.2 as suggested here for the RAM leakage bug:
https://bugs.documentfoundation.org/show_bug.cgi?id=92379

-Issue with cropped images loosing their size ratio in Impress:
https://bugs.documentfoundation.org/show_bug.cgi?id=92375
Comment 10 Julien Nabet 2015-06-27 20:56:06 UTC
Just for the record, here are some console logs with master sources updated today:
warn:legacy.tools:15185:1:xmloff/source/draw/shapeimport.cxx:811: Shape sorting failed
warn:legacy.osl:15185:1:sw/source/core/text/porlin.cxx:221: SwLinePortion::FindPrevPortion: blowing in the wind

warn:xmloff.core:15185:1:xmloff/source/core/xmlimp.cxx:1438: duplicate style name of family 300: "Sans_20_nom1"
warn:legacy.osl:15185:1:xmloff/source/core/xmlerror.cxx:181: An error or a warning has occurred during XML import/export!
Error-Id: 0x10040001
    Flags: 1 WARNING
    Class: 4 API
    Number: 1
Parameters:
    0: 
Exception-Message: empty style name reference
Position:
    Public Identifier: 
    System Identifier: 
    Row, Column: 2,206960

warn:legacy.osl:15185:1:xmloff/source/core/xmlerror.cxx:181: An error or a warning has occurred during XML import/export!
Error-Id: 0x10040001
    Flags: 1 WARNING
    Class: 4 API
    Number: 1
Parameters:
    0: 
Exception-Message: empty style name reference
Position:
    Public Identifier: 
    System Identifier: 
    Row, Column: 2,206960
Comment 11 Julien Nabet 2015-06-27 21:05:43 UTC
Some testing show CPU at 100% when undoing and RAM is ok.

I retrieved a bt:
#0  0x00002aaac9a96970 in SwCacheObj::GetPrev() (this=0x7354a90) at /home/julien/compile-libreoffice/libreoffice/sw/source/core/inc/swcache.hxx:149
#1  0x00002aaac9a948a9 in SwCache::Check() (this=0x2c01720) at /home/julien/compile-libreoffice/libreoffice/sw/source/core/bastyp/swcache.cxx:45
#2  0x00002aaac9a96589 in SwCache::SetLRUOfst(unsigned short) (this=0x2c01720, nOfst=300) at /home/julien/compile-libreoffice/libreoffice/sw/source/core/bastyp/swcache.cxx:412
#3  0x00002aaaca465f10 in SwSaveSetLRUOfst::SwSaveSetLRUOfst(SwCache&, unsigned short) (this=0x7fffffff45f0, rC=..., nOfst=300)
    at /home/julien/compile-libreoffice/libreoffice/sw/source/core/inc/swcache.hxx:127
#4  0x00002aaaca45d828 in SwViewShell::LayoutIdle() (this=0x2d1dca0) at /home/julien/compile-libreoffice/libreoffice/sw/source/core/view/viewsh.cxx:699
#5  0x00002aaac9c7db4c in sw::DocumentTimerManager::DoIdleJobs(Idle*) (this=0x2c53da0, pIdle=0x2c53db8)
    at /home/julien/compile-libreoffice/libreoffice/sw/source/core/doc/DocumentTimerManager.cxx:119
#6  0x00002aaac9c7d863 in sw::DocumentTimerManager::LinkStubDoIdleJobs(void*, Idle*) (instance=0x2c53da0, data=0x2c53db8)
    at /home/julien/compile-libreoffice/libreoffice/sw/source/core/doc/DocumentTimerManager.cxx:81
#7  0x00002aaab1997e55 in Link<Idle*, void>::Call(Idle*) const (this=0x2c53dd8, data=0x2c53db8) at /home/julien/compile-libreoffice/libreoffice/include/tools/link.hxx:127
#8  0x00002aaab1f94975 in Idle::Invoke() (this=0x2c53db8) at /home/julien/compile-libreoffice/libreoffice/vcl/source/app/idle.cxx:26
#9  0x00002aaab1f9bd68 in ImplSchedulerData::Invoke() (this=0x2e746b0) at /home/julien/compile-libreoffice/libreoffice/vcl/source/app/scheduler.cxx:38
#10 0x00002aaab1f9c02d in Scheduler::ProcessTaskScheduling(bool) (bTimer=false) at /home/julien/compile-libreoffice/libreoffice/vcl/source/app/scheduler.cxx:127
#11 0x00002aaab1fc0b0c in ImplYield(bool, bool, unsigned long) (i_bWait=true, i_bAllEvents=false, nReleased=0)
    at /home/julien/compile-libreoffice/libreoffice/vcl/source/app/svapp.cxx:347

Michael: any thought? Could it be due to timer rework? Layout or cache pb?
Comment 12 Buovjaga 2015-06-29 18:11:51 UTC
Can already be reproduced in OOo 3.3.

The mem leak might not hit with the first try, but a second one did it.
I also tested with 3.5.0 and 4.0.6.

Ubuntu 15.04 64-bit 
OpenOffice.org 3.3.0
OOO330m20 (Build:9567)
Comment 13 Telesto 2017-12-03 14:00:42 UTC
The testing file (comment 4) isn't available anymore
Comment 14 Buovjaga 2017-12-03 14:13:50 UTC
Pascal: can you attach the file? Our upload limit is now 30 megabytes.
Comment 15 QA Administrators 2018-12-04 03:47:57 UTC Comment hidden (obsolete)
Comment 16 Pascal Hingamp 2018-12-04 21:10:46 UTC
(In reply to Buovjaga from comment #14)
> Pascal: can you attach the file? Our upload limit is now 30 megabytes.

Hi,
Sorry I must have missed this request for the testing file. I'm attaching it now that the size limit has been increased.
Comment 17 Pascal Hingamp 2018-12-04 21:12:28 UTC
Created attachment 147292 [details]
LO Writer file to reproduce the bug
Comment 18 Pascal Hingamp 2018-12-04 21:16:59 UTC
(In reply to Pascal Hingamp from comment #16)
> (In reply to Buovjaga from comment #14)
> > Pascal: can you attach the file? Our upload limit is now 30 megabytes.
> 
> Hi,
> Sorry I must have missed this request for the testing file. I'm attaching it
> now that the size limit has been increased.

Please note that the testing file is impossible to open in my current LO Writer (Writer hangs after usual "macro warning" - I have to kill LO):
Version: 6.0.6.2
Build ID: 1:6.0.6-0ubuntu0.18.04.1
CPU threads: 32; OS: Linux 4.15; UI render: default; VCL: gtk3; 
Locale: en-US (en_US.UTF-8); Calc: group
Comment 19 Buovjaga 2018-12-21 17:37:50 UTC
(In reply to Pascal Hingamp from comment #18)
> Please note that the testing file is impossible to open in my current LO
> Writer (Writer hangs after usual "macro warning" - I have to kill LO):

I opened bug 122272 for it. Let's hope for a swift resolution so we can get back to testing the original issue.
Comment 20 Commit Notification 2019-05-22 07:55:32 UTC
Caolán McNamara committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/+/e7fb44b8c86b4dce1d4c6f15752cc3bf62b14888%5E%21

crashtesting: failure on layout of tdf92372-4.odt

It will be available in 6.3.0.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 21 Buovjaga 2019-05-22 12:06:38 UTC
After the recent commit, the file no longer hangs in any way. Pascal is invited to test with a fresh build: https://dev-builds.libreoffice.org/daily/master/ I think the newest Linux build might not be new enough.
https://wiki.documentfoundation.org/Installing_in_parallel/Linux

Arch Linux 64-bit
Version: 6.3.0.0.alpha1+
Build ID: b004b7f3c1a28ebab1823bdbe38660b6c44483b1
CPU threads: 8; OS: Linux 5.1; UI render: default; VCL: gtk3; 
Locale: fi-FI (fi_FI.UTF-8); UI-Language: en-US
Calc: threaded
Built on 22 May 2019
Comment 22 Xisco Faulí 2019-05-22 12:30:33 UTC
Still hangs if I replicate the screencast

Version: 6.3.0.0.alpha1+
Build ID: e7fb44b8c86b4dce1d4c6f15752cc3bf62b14888
CPU threads: 4; OS: Linux 4.15; UI render: default; VCL: gtk3; 
Locale: ca-ES (ca_ES.UTF-8); UI-Language: en-US
Calc: threaded
Comment 23 Commit Notification 2019-05-23 12:57:37 UTC
Caolán McNamara committed a patch related to this issue.
It has been pushed to "libreoffice-6-2":

https://git.libreoffice.org/core/+/07642832e3d9c3d1648324ef40bff09bfde1f6e5%5E%21

crashtesting: failure on layout of tdf92372-4.odt

It will be available in 6.2.5.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.