Bug Hunting Session
Bug 104222 - FILESAVE: PPTX: performance regression at save time in Linux, write error in Windows
Summary: FILESAVE: PPTX: performance regression at save time in Linux, write error in ...
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Impress (show other bugs)
Version:
(earliest affected)
5.2.0.4 release
Hardware: All All
: medium normal
Assignee: Not Assigned
URL:
Whiteboard: interoperability target:5.4.0 target:...
Keywords: bibisected, bisected, filter:pptx, haveBacktrace, perf, regression
Depends on:
Blocks:
 
Reported: 2016-11-28 11:44 UTC by Xisco Faulí
Modified: 2017-02-27 11:27 UTC (History)
5 users (show)

See Also:
Crash report or crash signature:


Attachments
sample (48.19 KB, application/vnd.openxmlformats-officedocument.presentationml.presentation)
2016-11-28 11:44 UTC, Xisco Faulí
Details
a backtrace (11.43 KB, text/plain)
2016-12-11 04:23 UTC, fiftyigfuci_f_mi
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Xisco Faulí 2016-11-28 11:44:15 UTC
Created attachment 129074 [details]
sample

Steps:
1. Open attached document
2. Save it as a new .PPTX

Observed behaviour: there's a performance regression at save time

Reproduced in 

Version: 5.3.0.0.alpha1+
Build ID: 757a60d01dd152aadab2ba3c8224252481ce8a88
CPU Threads: 4; OS Version: Linux 4.8; UI Render: default; VCL: gtk3; Layout
Engine: new; 
Locale: ca-ES (ca_ES.UTF-8); Calc: group

real	4m22.519s
user	4m18.828s
sys	0m1.088s


but not in

Version: 5.0.0.0.alpha1+
Build ID: 3e4d2043e99201ec542186039e3be34d3c226111
Locale: ca-ES (ca_ES.UTF-8)

real	0m0.633s
user	0m0.528s
sys	0m0.052s
Comment 1 Telesto 2016-11-28 13:14:23 UTC
I can't save the file with: 
Version: 5.3.0.0.beta1
Build ID: 690f553ecb3efd19143acbf01f3af4e289e94536
CPU Threads: 4; OS Version: Windows 6.2; UI Render: default; Layout Engine: new; 
Locale: nl-NL (nl_NL); Calc: CL

I can't save:
Error saving the document mp07_theme_equity:
Write Error.
The file could not be written.

-----

The file can be saved with: 
Version: 5.1.0.3
Build ID: 5e3e00a007d9b3b6efb6797a8b8e57b51ab1f737
CPU Threads: 4; OS Version: Windows 6.2; UI Render: default; 
Locale: nl-NL (nl_NL)

However, they layout differs quite heavily (missing vertical lines)
Comment 2 Aron Budea 2016-12-07 03:53:17 UTC
There's already a writer error in 5.2.0.4 / Windows 7.

So it seems like this is a performance regression in Linux, and an error in Windows.
Comment 3 fiftyigfuci_f_mi 2016-12-11 04:23:13 UTC
Created attachment 129480 [details]
a backtrace

I reproduced on Build ID: 1:5.2.2-0ubuntu2 and my debug dev build:
Version: 5.4.0.0.alpha0+
Build ID: f35d29c8388744be1f95ec4acfca12eec706911a
CPU Threads: 2; OS Version: Linux 4.9; UI Render: default; VCL: gtk3; 
Locale: en-US (en_US.UTF-8); Calc: group

Memory usage on my dev build:
after lunch LO: 39.4MB
after opened the file: 263MB
while saving: maximum 1.0GB
Comment 4 Xisco Faulí 2016-12-13 12:56:38 UTC
@raal, Would you mind bisecting this issue whenever you have time?
Comment 5 raal 2016-12-14 16:18:19 UTC
This seems to have begun at the below commit.
Adding Cc: to Rohan Kumar ; Could you possibly take a look at this one?
Thanks
Bibsect on windows.
author    Rohan Kumar <rohankanojia420@gmail.com>    2016-05-06 08:04:22 (GMT)
committer    Björn Michaelsen <bjoern.michaelsen@canonical.com>    2016-05-06 09:42:20 (GMT)
commit    5c7ce42dfc35d9cceef5f05a96e813b4e3913d38 (patch)
tree    1202365b3f7b2378ab8833d6348941678377a6a6
parent    23f86273068b2389fc8703a8cc6b5c77968c918d (diff)
tdf#91794 OSL_DEBUG_LEVEL > 1 & DBG macro removed (impress/draw)

7c509926eefa99f4440e4807a18cfa41d62f278c is the first bad commit
commit 7c509926eefa99f4440e4807a18cfa41d62f278c
Author: Norbert Thiebaud <nthiebaud@gmail.com>
Date:   Sat May 7 17:41:48 2016 -0700

    source sha:5c7ce42dfc35d9cceef5f05a96e813b4e3913d38

 git bisect log
# bad: [6380ca07b05f68dedcaa379302cfe1fa478571c4] source sha:60b74fe1775e647545d2da1fcc58a4c63ec18aa5
# good: [1f670510f08cb800cbae2a1dd6ea70d3542e4721] source sha:49c2b9808df8a6b197dec666dfc0cda6321a4306
git bisect start 'origin/master' 'oldest'
# good: [38f37b8ec1a2d199bb957cfd2581df7d1b273b74] source sha:c0da1080b61a1d51654fc34fdaeba373226065ff
git bisect good 38f37b8ec1a2d199bb957cfd2581df7d1b273b74
# good: [11ae494d8c566f23e0ef84ba0cc25fb1388b67f7] source sha:470cfa9860232ab70e017e6084d80f80d469555c
git bisect good 11ae494d8c566f23e0ef84ba0cc25fb1388b67f7
# bad: [ee4cfd75d2452b8c416b4ec27358f7a905d6f5cf] source sha:aa544a002e534a313ad9dd365e80f052789d9963
git bisect bad ee4cfd75d2452b8c416b4ec27358f7a905d6f5cf
# good: [c59865b07f405048acae57452454009f8bc50235] source sha:b477a9e0b620a5e1c709e404c5a4e816ef5794f1
git bisect good c59865b07f405048acae57452454009f8bc50235
# good: [befaec7d753cb75fe41701c3c23539b017624693] source sha:b876bbe2cacce8af379b10d82da6c7e7d229b361
git bisect good befaec7d753cb75fe41701c3c23539b017624693
# good: [5c0e59943c006c034217f7d68d719d763129a6a3] source sha:19dde56de6f4d8613f156148f1e60256a8f5172a
git bisect good 5c0e59943c006c034217f7d68d719d763129a6a3
# bad: [2568d72b38f532971c9afb4e593e45a13a964527] source sha:a5fee58c72c80f6592d9d11f7b5156da275fbc2c
git bisect bad 2568d72b38f532971c9afb4e593e45a13a964527
# bad: [ca2e68240cbe454beb115aba7deb69ee43c8c56b] source sha:ba178877324384b19709c0789f496ddf44c8556a
git bisect bad ca2e68240cbe454beb115aba7deb69ee43c8c56b
# bad: [566b43e8e2a596d5dad83a7031ca9d47578c1897] source sha:27014f563577c3c5da19e37a57d4e73c0ebae140
git bisect bad 566b43e8e2a596d5dad83a7031ca9d47578c1897
# good: [bbfe0ca7985b2b73df96f7c60481a0021cf4554d] source sha:2fb31f248fe86c52c1070cbc8b18b24872a4bedc
git bisect good bbfe0ca7985b2b73df96f7c60481a0021cf4554d
# bad: [827255f220fb6c892f719a188f2274262f0ce2f4] source sha:d324b4b3e1d32b25a6347f2f77ae921a584ee9b0
git bisect bad 827255f220fb6c892f719a188f2274262f0ce2f4
# good: [f54d33105e55a0bc11d78ee5fa705da176322132] source sha:23f86273068b2389fc8703a8cc6b5c77968c918d
git bisect good f54d33105e55a0bc11d78ee5fa705da176322132
# bad: [7c509926eefa99f4440e4807a18cfa41d62f278c] source sha:5c7ce42dfc35d9cceef5f05a96e813b4e3913d38
git bisect bad 7c509926eefa99f4440e4807a18cfa41d62f278c
# first bad commit: [7c509926eefa99f4440e4807a18cfa41d62f278c] source sha:5c7ce42dfc35d9cceef5f05a96e813b4e3913d38
Comment 6 Rohan Kumar 2016-12-15 17:48:17 UTC
Hi Raal,

I'm starting to work on this bug.
Comment 7 Xisco Faulí 2016-12-17 21:22:01 UTC
I think attachment 39635 [details] from bug 31056 is affected as well
Comment 8 Matúš Kukan 2017-02-11 15:35:29 UTC
Rohan, are you working on this?
I've found the problem and fixed in https://gerrit.libreoffice.org/#/c/34150/
Comment 9 Rohan Kumar 2017-02-11 16:55:08 UTC
(In reply to Matúš Kukan from comment #8)
> Rohan, are you working on this?
> I've found the problem and fixed in https://gerrit.libreoffice.org/#/c/34150/

No. Feel free to get it merged.
Comment 10 Commit Notification 2017-02-25 13:55:50 UTC
Matúš Kukan committed a patch related to this issue.
It has been pushed to "master":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=9cbe69f1950115e47af693bd78fc78f96f9b508e

tdf#104222: Put expensive debug code behind #if again

It will be available in 5.4.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.
Comment 11 Commit Notification 2017-02-27 11:20:57 UTC
Matúš Kukan committed a patch related to this issue.
It has been pushed to "libreoffice-5-2":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=ed22f8b84ed0b5286af406c87c674f34fe8439c1&h=libreoffice-5-2

tdf#104222: Put expensive debug code behind #if again

It will be available in 5.2.7.

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.
Comment 12 Commit Notification 2017-02-27 11:22:29 UTC
Matúš Kukan committed a patch related to this issue.
It has been pushed to "libreoffice-5-3":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=bc3b23f9c07aa2916c648abf1ca8c2af297250d4&h=libreoffice-5-3

tdf#104222: Put expensive debug code behind #if again

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