https://bugs.freedesktop.org/show_bug.cgi?id=68750

Michael Stahl <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Whiteboard|BSA                         |BSA perf
         Resolution|---                         |FIXED
           Assignee|[email protected] |[email protected]
                   |desktop.org                 |
                 CC|                            |[email protected],
                   |                            |[email protected],
                   |                            |[email protected]
          Component|Writer                      |Linguistic

--- Comment #2 from Michael Stahl <[email protected]> ---
here on Linux the UI is indeed blocked after loading for about 20 seconds,
which did not happen on 3.6.7; contrary to comment #1 i see this on master too.

the main thread is blocked on a mutex while checking a grammar checker flag;
the thread 2 is running a GrammarCheckingIterator
from linguistic/source/gciterator.cxx, and is mostly in some ICU
breakiterator code.  clearly something must be going wrong
if that takes 20 seconds on a 1 page document.

lol... problem was introduced by:

commit a33dbc169037d985f104c83d01d5efd9982413de
Author:     Stephan Bergmann <[email protected]>
AuthorDate: Tue Oct 23 15:23:09 2012 +0200

    Related fdo#46808: Fix pre-existing bug identified in previous commit

    Assigning to dead xBreakIterator instead of m_xBreakIterator had been
introduced
    with 9f2fde7ab5de20926bb25a6b298b4e5dffb66eb2 "#i103496#: split svtools;
improve
    ConfitItems," and just fixing it does not cause any tests to start breaking
for
    me.


... so GetSuggestedEndOfSentence spends all this time checking a string
consisting of 17399 spaces (the entire content of the first paragraph),
 and the reason it wasn't slow in 3.6 is that the break iterator variable
was not properly initialized and the whole function was skipped ...

for additional lulz i've looked at the document in Word 2010 and
evidently the document statistic function cannot count more than
746 consecutive spaces, selecting more than that results in
"Characters (with spaces)  0".


i've added a low-risk local fix to GrammarCheckingIterator on master,
not sure if it would be a better idea to change
BreakIterator_Unicode::endOfSentence() instead to never return
a position samller than the start pos...

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Libreoffice-bugs mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs

Reply via email to