Created attachment 60654 [details] the problematic document Problem description: Steps to reproduce: 1. Open the attached document Current behavior: soffice.bin CPU usage spikes to 90%, the document is displayed, but the application freezes and has to be terminated from Task Manager. Expected behavior: Platform: Win XP SP 3
HANG ist [Reproducible] with "LibreOffice 3.5.3.2 (RC2) German UI/Locale [Build-ID: 235ab8a-3802056-4a8fed3-2d66ea8-e241b80] on German WIN7 Home Premium (64bit) [Reproducible] with Server installation of Master "LibO-dev 3.5.0 – WIN7 Home Premium (64bit) ENGLISH UI [(Build ID: d38713d-5d03837-ca7e6f5-c4bb9bd-ce71330)]" (Voreppe_Win32_Tinderbox 2011-11-15) Works fine with Server installation of Master "LibO-dev 3.5.0 – WIN7 Home Premium (64bit) English UI [(Build ID: d3d1481-3f8994a-2ba0a9f)]" (2011-09-09) 3.4.5 opens the document without problems, so REGRESSION
Hang is reproducible with LibreOffice 3.5.2.2 Build ID: 281b639-6baa1d3-ef66a77-d866f25-f36d45 on Windows 7 Pro, SP1, 64 bit edition. Hang is also reproducible with LibreOffice 3.5.3.2 (RC2) Build ID: 235ab8a-3802056-4a8fed3-2d66ea8-e241b8 on Windows 7 Pro, SP1, 64 bit edition.
bibisected, Ubuntu 11.10 amd64. 193201016cfa131b76e2eabf5ddbae19ce209157 is the first bad commit commit 193201016cfa131b76e2eabf5ddbae19ce209157 Author: Bjoern Michaelsen <bjoern.michaelsen@canonical.com> Date: Thu Dec 8 06:49:52 2011 +0100 source-hash-6598e65cfcabd270199d09d11d9d93639bca620d commit 6598e65cfcabd270199d09d11d9d93639bca620d Author: Caolán McNamara <caolanm@redhat.com> AuthorDate: Thu Nov 3 15:36:28 2011 +0000 Commit: Caolán McNamara <caolanm@redhat.com> CommitDate: Thu Nov 3 15:42:41 2011 +0000 probably need to add mbIsGrey to operator== comparison :100644 100644 e15ffe8e773f1dcd19f449efa7f53024470c9cce e82c4145d70e5845ec7a8d49d489d926c2e30e9a M autogen.log :100644 100644 8a5c9fdba21f3acd2bb134e9ead7cad5bbe8113f f8da83172bf617355f62008302c40f4aca661128 M ccache.log :100644 100644 9b17087f57682efaea74a9ca86cb01306e8424fa 552c3d80c429179541b5b4d4db24d49b1941459e M commitmsg :100644 100644 b08a98de074e1de3d755f89ef54e4b14caef2981 2227d419c7d60ab38ce75bbb4aaa0b79cf4afada M dev-install.log :100644 100644 f7e04f8f8d96dbf5604f9d8ef3f65c2cd7e4b150 6ac608a6a6e07110c54cfbb01f9be2d68be0855c M make.log :040000 040000 d396f390560449a296a5d115ddd1ae74959520bf 6be8947021235b712f136cf198ca0446ffa5ccd3 M opt # bad: [4c30602f43475389f81b1d981ce8ee9a3410b9d9] source-hash-85c6244b85b29c1d2bb9d89b62e9512dd65378b5 # good: [65fd30f5cb4cdd37995a33420ed8273c0a29bf00] source-hash-d6cde02dbce8c28c6af836e2dc1120f8a6ef9932 git bisect start 'latest' 'oldest' # good: [2faf4bc12ab490370d2196dedbc8091f9b09d0a5] source-hash-418a35f4861e863feb39eec73f4a39a87fbcb1f3 git bisect good 2faf4bc12ab490370d2196dedbc8091f9b09d0a5 # bad: [b6fca7e58854bc617c5fc9a75d1c1720b0d7e1a4] source-hash-ce60138d339a5eb2a174a5d27063249acf2cac42 git bisect bad b6fca7e58854bc617c5fc9a75d1c1720b0d7e1a4 # bad: [0a28a62d53e996cf66d86e9bfb63ddc6ade75b7e] source-hash-71cbcb62028295a98ceee60cb4c4ee425bafcd2e git bisect bad 0a28a62d53e996cf66d86e9bfb63ddc6ade75b7e # bad: [16f81707f835f12f5fcd8d258ebbddb5f2cc8e53] source-hash-1ca547d20882e9b3d3ba9a6c7ee0340a5b7009b0 git bisect bad 16f81707f835f12f5fcd8d258ebbddb5f2cc8e53 # bad: [193201016cfa131b76e2eabf5ddbae19ce209157] source-hash-6598e65cfcabd270199d09d11d9d93639bca620d git bisect bad 193201016cfa131b76e2eabf5ddbae19ce209157 # good: [db83d7490566a710f00c93319f85cc1bd1fc7cd7] source-hash-c5e280b4144d3ed642404079f464a42829be3f80 git bisect good db83d7490566a710f00c93319f85cc1bd1fc7cd7
@elton@layerjet.com Bebisect result seems to show that problem is reproducible with Linux?
PROFORMA INVOICE No.", ' ' <repeats 56655 times> that's a *lot* of space characters and the complex text char count grinds through it way too slowly
(In reply to comment #4) > @elton@layerjet.com > Bebisect result seems to show that problem is reproducible with Linux? Yes.
Caolan McNamara committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=268ec2e64f89eb39fd5f02688787cd6f53e948b5 Related: fdo#49208 crazy to create the string *twice*
Caolan McNamara committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=fd4fe85329654883a0bf3304ad0aa8ef0bfde844 Related: fdo#49208 don't copy string if we can reuse the original
Caolan McNamara committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=ccc47b3db3eae25cc11bb709416c0b61747ca89e Resolves: fdo#49208 icu string compare is shocking slow
Caolan McNamara committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=ae716b07f7218fadf0143de1946cc9e0e2c08744 Related: fdo#49208 optimize common case
What makes this document special is that it has paragraphs that are nearly 64k in length, they end with vast quantity of spaces, and writer implements a word compatibility feature to allow huge quantity of trailing whitespace to overflow out of the page boundary instead of wordwrapping which is why it's not immediately obvious. Turns out to be a good testcase for edge case break iterator behaviour
OS due to ocmments 4,6
Caolan McNamara committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=6f0503c82c0a019678458ded9e339a71f96d837d Related: fdo#49208 use UText adaptor to underlying rtl::OUString
Caolan McNamara committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=2b168feccee9c367152e106386101be903e4f1db Related: fdo#49208 implement operator== with faster equals
Caolan McNamara committed a patch related to this issue. It has been pushed to "libreoffice-3-5": http://cgit.freedesktop.org/libreoffice/core/commit/?id=5730b57700045c49e039ca9bd357f40c5a43313f&g=libreoffice-3-5 Resolves: fdo#49208 performance problems with very long paragraphs It will be available in LibreOffice 3.5.4.
Verified with LOdev 3.6 (master - 18-May-2012 02h44 x86@6-fast; Build ID: 8b1d29b) under Windows Vista 64.