Bug 119993 - Memory usage keeps increasing for every change in the column width
Summary: Memory usage keeps increasing for every change in the column width
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
6.2.0.0.alpha0+
Hardware: All Windows (All)
: medium normal
Assignee: Miklos Vajna
URL:
Whiteboard: target:6.2.0
Keywords: bibisected, bisected, regression
Depends on:
Blocks: Writer-Tables
  Show dependency treegraph
 
Reported: 2018-09-19 18:49 UTC by Telesto
Modified: 2018-10-09 09:06 UTC (History)
2 users (show)

See Also:
Crash report or crash signature:


Attachments
Bibisect log (2.76 KB, text/plain)
2018-09-22 12:09 UTC, Telesto
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Telesto 2018-09-19 18:49:34 UTC
Description:
Memory usage keeps increasing for every change in the column width

Steps to Reproduce:
1. Open attachment 144815 [details]
2. Set the undo steps to 0
2. Drag the border multiple times to left or right (small changes are enough)

Actual Results:
Memory usage keeps increasing quite heavily


Expected Results:
A bit less perhaps


Reproducible: Always


User Profile Reset: No



Additional Info:
Version: 6.2.0.0.alpha0+
Build ID: 7d242f3bd7277236046f90d3f32b9792fd8ea97b
CPU threads: 4; OS: Windows 6.3; UI render: default; 
TinderBox: Win-x86@42, Branch:master, Time: 2018-09-18_23:43:19
Locale: nl-NL (nl_NL); Calc: CL
Comment 1 Telesto 2018-09-22 12:09:55 UTC
Created attachment 145107 [details]
Bibisect log

Bisected to:

author	Miklos Vajna <vmiklos@collabora.co.uk>	2018-08-31 18:19:12 +0200
committer	Miklos Vajna <vmiklos@collabora.co.uk>	2018-09-03 09:13:32 +0200
commit aeff83240c88435d11590f5e9c6fe9927a508c6a (patch)
tree a3b918a7d3164ee428a4df39df7118a87618dfd9
parent 08b5048198d59441cb8033ed14cd17e68c943004 (diff)
sw: save more vcl layout calls in SwFntObj
This builds on top of commit 436b829f5b904d76039db0818cff5dedf1ae89f1
(sw: save one vcl layout call in SwFntObj::DrawText(), 2018-08-16), but
now layouts are shared not only inside SwFntObj::DrawText(), but also
between SwFntObj::GetTextSize() and SwFntObj::DrawText().

To get there, create an SwFntObj cache member that stores already
calculated vcl layouts. SwFntObj already derives from SwCacheObj, so no
need to explicitly expire this cache member.

Total number of GenericSalLayout::LayoutText() invocations go down from
8 to 5 with this when pressing a key in Writer.

https://cgit.freedesktop.org/libreoffice/core/commit/?id=aeff83240c88435d11590f5e9c6fe9927a508c6a
Comment 2 Telesto 2018-09-23 09:49:13 UTC
@Buovjaga
Would you mind to verifier this one (and ideally bug 119992; same file different issue) some time. I prefer to give quick feedback (while memory about the code is still fresh), instead of letting in linger in the bug tracker.
Comment 3 Buovjaga 2018-09-23 10:37:15 UTC
Repro.

Step 2: Tools - Options - LibreOffice - Advanced - Open expert config: search for "steps" and scroll to bottom, double-click Undo and set value to 0.

Adding Cc: to Miklos Vajna

Version: 6.2.0.0.alpha0+ (x64)
Build ID: 3208fcb3a36d75d6290d9c548430682f153b09db
CPU threads: 4; OS: Windows 10.0; UI render: default; 
TinderBox: Win-x86_64@42, Branch:master, Time: 2018-09-20_22:43:20
Locale: fi-FI (fi_FI); Calc: threaded
Comment 4 Commit Notification 2018-10-09 07:25:16 UTC
Miklos Vajna committed a patch related to this issue.
It has been pushed to "master":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=5da57ff00b23fd9969a2bfcf4e6e1e8245dfc1a3

tdf#119993 sw: clear the font cache text glyphs on table col change

It will be available in 6.2.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.