https://bugs.documentfoundation.org/show_bug.cgi?id=130314

Jan-Marek Glogowski <glo...@fbihome.de> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jl...@mail.com,
                   |                            |mark...@gmail.com

--- Comment #8 from Jan-Marek Glogowski <glo...@fbihome.de> ---
(In reply to Buovjaga from comment #7)
> (In reply to Telesto from comment #6)
> > @Buovjaga
> > Maybe ICU too? Same as bug 126344 (speculation)
> 
> It's not the ICU update. Bibisected with win32-6.2 to
> https://git.libreoffice.org/core/+/
> fad862e290d727fc9fefe206f6e4b807482c4175%5E!/
> tdf#118555 fix HFONT fallback handing / lifecycle
> 
> Adding Cc: to Jan-Marek Glogowski
> 
> I tested using GUI, not command line.
> 
> Previous commit takes 12 seconds.
> Blamed commit takes 55 seconds.

While I know this commit added quite some overhead for Windows initially, it
can't be the problematic commit, because that commit is Windows only. FWIW I
don't know about the current state.

So I bibisected myself. The good time here is ~10s. And the bad time is oo (AKA
unlimited) - the document never finishes, as the reporter claimed, which is
true.

This started with:

commit 9fc9510ae3f46e5c1fd65303bac9f01ddc79cb5c
    tdf#106174 writerfilter: bidi - prev adjust? prev bidi?

This patch introduces / uncovers a bug / state, which
SwScriptInfo::CountCJKCharacters can't handle.

That code was added in

commit dcef76b34aa1dca8389b3c068dc3d82a11d2c382
    tdf#43740 Count CJK characters to distribute spaces.

The problem is, that for the bugdoc rText.getLength() < nEnd, so nPos < nEnd is
will always true. Maybe the loop should just end, if nDone == 0? No idea, if
even the input can be considered correct.

I simply couldn't uncover the constraints of rText, nPos, nEnd, SwTextSizeInfo
and SwLinePortion and their respective Len, Idx and Text values in more then a
few hours (incl. debug, callgrind). Every time I thought I had grooked it, I
found something new, like it's valid that Idx + Len > len(Text)...

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs

Reply via email to