Bug 123098 - LibreOffice Writer hangs on opening odt document (page number always changing in status bar)
Summary: LibreOffice Writer hangs on opening odt document (page number always changing...
Status: VERIFIED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
6.1.4.2 release
Hardware: All All
: medium normal
Assignee: Not Assigned
URL:
Whiteboard:
Keywords: bibisected, regression
Depends on:
Blocks: Performance CPU-AT-100%
  Show dependency treegraph
 
Reported: 2019-02-01 08:11 UTC by Andrey Skvortsov
Modified: 2024-04-25 06:39 UTC (History)
8 users (show)

See Also:
Crash report or crash signature:


Attachments
test document that works in 6.0.7, but don't in 6.1.4 (12.49 KB, application/vnd.oasis.opendocument.text)
2019-02-01 08:13 UTC, Andrey Skvortsov
Details
Screenshot of working 6.0.7 (AppImage) (74.01 KB, image/png)
2019-02-01 08:14 UTC, Andrey Skvortsov
Details
backtrace for hang (41.06 KB, text/x-log)
2019-02-01 09:59 UTC, Andrey Skvortsov
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Andrey Skvortsov 2019-02-01 08:11:38 UTC
Description:
We've experienced that LibreOffice 6.1.4 (and higher) hangs (100% CPU consumption) on opening existing ODS documents. We have a lot of documentation based on the same template, that we successfully use since LibreOffice 4.

I've tried to remove as much as I can from original document to reproduce the problem. Minimal document is attached as it's render in LO 6.0.7. 

If the document is open on 6.1.4 and higher, then LO hangs and number of pages in status bar is changing constantly ("Page 1 of 4" to "Page 1 of 5" and back). But the document has only 2 pages (6.0.7 reported 3 pages).

Problem exists in 6.1.4.2 (AppImage), 6.1.5~rc1 (from Debian/Buster), 6.2.0.1 (AppImage), 6.3.0.0.alpha0 (AppImage). 

LO 6.0.7 does work correctly.

Steps to Reproduce:
Open attached document and monitor CPU usage.

Actual Results:
 LibreOffice hangs with 100% CPU consumption. 


Expected Results:
Open document.


Reproducible: Always


User Profile Reset: Yes



Additional Info:
OpenGL is disabled
Comment 1 Andrey Skvortsov 2019-02-01 08:13:01 UTC
Created attachment 148815 [details]
test document that works in 6.0.7, but don't in 6.1.4
Comment 2 Andrey Skvortsov 2019-02-01 08:14:13 UTC
Created attachment 148816 [details]
Screenshot of working 6.0.7 (AppImage)
Comment 3 Andrey Skvortsov 2019-02-01 08:17:26 UTC Comment hidden (obsolete)
Comment 4 Dieter 2019-02-01 09:29:56 UTC
I confirm it with

Version: 6.3.0.0.alpha0+ (x64)
Build ID: 411f3a050ac2be598019d512f8ccfe041080c28f
CPU threads: 4; OS: Windows 10.0; UI render: default; VCL: win; 
TinderBox: Win-x86_64@42, Branch:master, Time: 2019-01-14_03:17:11
Locale: en-US (de_DE); UI-Language: en-US
Calc: threaded

and

Version: 6.1.4.2 (x64)
Build-ID: 9d0f32d1f0b509096fd65e0d4bec26ddd1938fd3
CPU-Threads: 4; BS: Windows 10.0; UI-Render: Standard; 
Gebietsschema: de-DE (de_DE); Calc: group threaded

but not with

Version: 5.4.7.2 (x64)
Build-ID: c838ef25c16710f8838b1faec480ebba495259d0
CPU-Threads: 4; BS: Windows 6.19; UI-Render: GL; 
Gebietsschema: de-DE (de_DE); Calc: CL
Comment 5 Andrey Skvortsov 2019-02-01 09:59:52 UTC
Created attachment 148818 [details]
backtrace for hang

$ loffice --backtrace
$ kill -15 <pid>
Attached backtrace for taken for LO package from Debian Buster repo.

Version: 6.1.5.1
Build ID: 1:6.1.5~rc1-2
CPU threads: 8; OS: Linux 4.19; UI render: default; VCL: gtk3; 
Locale: en-US (en_US.UTF-8); Calc: group threaded
Comment 6 Andrey Skvortsov 2019-02-03 01:32:37 UTC
To bibisect I've used bibisect-linux-64-6.1 repo.

Result: aa3056a64b992812f01674ab72c99db0d73fa022 is the first bad commit
commit aa3056a64b992812f01674ab72c99db0d73fa022
Author: Jenkins Build User <tdf@pollux.tdf>
Date:   Fri Dec 22 05:41:30 2017 +0100

    source 0b53f794ffb2550288610b9488f11fd21ab85aae
    
    source 0b53f794ffb2550288610b9488f11fd21ab85aae



Log:
$ git bisect log
# bad: [342f2f26f2f0e06a2128d0ae2c1478e0461551f0] source d6f563b37d8a694c6c1d4c9ef3ba746c7f019517
# good: [2c1cccc19f9e70d2ecbc9ba7815abd674ab6d858] source 6eeac3539ea4cac32d126c5e24141f262eb5a4d9
git bisect start 'master' 'oldest'
# bad: [e538cd24944f4ec8fafeac82a3d3b39f1cae88ee] source e4b13d90bfe99428564fba147e9b00210de341b2
git bisect bad e538cd24944f4ec8fafeac82a3d3b39f1cae88ee
# bad: [90c562f81b671e2f3120b85345d13eafaa7af844] source 89a214536373886f1d9262eac3ecefb6cc1a2a35
git bisect bad 90c562f81b671e2f3120b85345d13eafaa7af844
# good: [9b167e453bfbac4349b2aea771652dbd9de49271] source f7961456d81c3ee6ee4c13eac9ef7add6c7ea6b5
git bisect good 9b167e453bfbac4349b2aea771652dbd9de49271
# bad: [6283a7bd9db2cf661ba53a311d2ee012b4b7e1a8] source 89e354eff9d99d05461e2892fb1af56d186b8653
git bisect bad 6283a7bd9db2cf661ba53a311d2ee012b4b7e1a8
# bad: [c0169433c812493a647bff805faf4d726638dfa8] source f2dafc6e2ccaee058276d8ddb02bea3c9bc095a2
git bisect bad c0169433c812493a647bff805faf4d726638dfa8
# bad: [3854176ea71049304284e94602399dc304fe6b08] source 7ea805eb81ce865198cdb0fe418a73f6c353310e
git bisect bad 3854176ea71049304284e94602399dc304fe6b08
# good: [5ef45169c1dd678744785f54c33fff16363cc4ff] source bb911509930054e50bc48292cd5a087762707953
git bisect good 5ef45169c1dd678744785f54c33fff16363cc4ff
# bad: [8375a0c9ee69c6f1f8a8a07bea9dc6fe2bb5b3bd] source 1d55c1baed9977bad449691012807c6f09e2fca8
git bisect bad 8375a0c9ee69c6f1f8a8a07bea9dc6fe2bb5b3bd
# bad: [39fdd1112ddc3e18c2badf4505dfc43bf3c75269] source b366adcf5aca8bb22ccd0dd270ab08e9c8976b5b
git bisect bad 39fdd1112ddc3e18c2badf4505dfc43bf3c75269
# good: [3513292b8f27f6c2845e2d59165c9e955e897050] source 6fc7f85de7f0bfa8ee36f867e321a8816ad1e385
git bisect good 3513292b8f27f6c2845e2d59165c9e955e897050
# good: [3cf457cc075c5b4d87bdfbf8ec2a80ccf7c3f0bb] source f2f5ebcee462472b27b610f53abc7f9a6378462b
git bisect good 3cf457cc075c5b4d87bdfbf8ec2a80ccf7c3f0bb
# good: [75c92af822cd841724326f1035a8fbaf15d11c09] source fadbccc3176044b3642716f5b388a793165da05a
git bisect good 75c92af822cd841724326f1035a8fbaf15d11c09
# bad: [6ea428a2d8e0ec181aeea2fce389dfd4d5fcde90] source f6c2fd1ce58a8f34483177c0b240c53a7866faf9
git bisect bad 6ea428a2d8e0ec181aeea2fce389dfd4d5fcde90
Comment 7 Roman Kuznetsov 2019-02-03 08:58:42 UTC
https://gerrit.libreoffice.org/#/c/46855/

CC-ed: Armin Le Grand
Comment 8 Michael Stahl (allotropia) 2019-07-02 17:05:39 UTC
this appears to be fixed on master; no idea why though; might be worth re-checking with current 6.3 and 6.2 to see if those are fixed too or alternatively bibisecting the commit that fixed it
Comment 9 Xisco Faulí 2019-07-04 09:17:17 UTC
(In reply to Michael Stahl (CIB) from comment #8)
> this appears to be fixed on master; no idea why though; might be worth
> re-checking with current 6.3 and 6.2 to see if those are fixed too or
> alternatively bibisecting the commit that fixed it

Hi Michael,
I found this issue after reading you commit message in https://cgit.freedesktop.org/libreoffice/core/commit/?id=5cee586a97a11c23dd252accc42099bd5e9b4187
However, the file never loads for me ( although it doesn't go to 100% CPU ) in

Version: 6.4.0.0.alpha0+
Build ID: d62f6b7d40284b2e41831376e5388711ab6250f3
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 10 Xisco Faulí 2019-07-04 09:33:55 UTC
(In reply to Xisco Faulí from comment #9)
> Version: 6.4.0.0.alpha0+
> Build ID: d62f6b7d40284b2e41831376e5388711ab6250f3
> 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

Launching LibreOffice with 'time OOO_EXIT_POST_STARTUP=1' I killed it after

real	14m47,292s
user	14m41,422s
sys	0m1,375s
Comment 11 Justin L 2021-07-28 05:53:58 UTC
This is not fixed in master. Repro 7.3+.
Comment 12 QA Administrators 2023-07-29 03:17:45 UTC Comment hidden (obsolete)
Comment 13 Gabor Kelemen (allotropia) 2023-08-03 12:57:47 UTC
This seems to be fixed in 7.5.6 since

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

author	Michael Stahl <michael.stahl@allotropia.de>	Wed Jun 28 17:19:02 2023 +0200
committer	Caolán McNamara <caolan.mcnamara@collabora.com>	Mon Jul 03 12:44:58 2023 +0200

tdf#156077 sw: layout: call AssertFlyPages() in Init()
Comment 14 Dieter 2023-08-19 11:58:41 UTC
VERIFIED with

Version: 24.2.0.0.alpha0+ (X86_64) / LibreOffice Community
Build ID: 34d32740d89876c3d4fd2743a07d6e2578601683
CPU threads: 4; OS: Windows 10.0 Build 19045; UI render: Skia/Raster; VCL: win
Locale: de-DE (de_DE); UI: en-GB
Calc: CL threaded

Additional information
In contrast to bug description in comment 0 the document has 4 pages (two of them are empty), but it doesn't hang and status bar shows always 4 pages