Bug 74983 - ACCESSIBILITY: Instability in A11y after integration of IA2-branch
Summary: ACCESSIBILITY: Instability in A11y after integration of IA2-branch
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: UI (show other bugs)
Version:
(earliest affected)
4.3.0.0.alpha0+ Master
Hardware: Other macOS (All)
: medium normal
Assignee: Not Assigned
URL:
Whiteboard: BSA target:4.3.0
Keywords:
Depends on:
Blocks: a11y-macOS
  Show dependency treegraph
 
Reported: 2014-02-14 14:26 UTC by Niklas Johansson
Modified: 2014-05-13 17:15 UTC (History)
0 users

See Also:
Crash report or crash signature:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Niklas Johansson 2014-02-14 14:26:00 UTC
Problem description: When the ia2 branch was integrated it seems that this commit made LibreOffice freeze very easily on Mac OS X.
http://cgit.freedesktop.org/libreoffice/core/commit/?id=76c549eb01dcb7b5bf28a271ce00e386f3d388ba

Since it's a big commit I'm not sure if it will help that much but just in case it does ...

Steps to reproduce:
1. Start typing characters fast

Current behavior:
LibreOffice quickly freezes

Expected behavior:
Before the commit above it did not freeze.

              
Operating System: Mac OS X
Version: 4.3.0.0.alpha0+ Master
Comment 1 Niklas Johansson 2014-02-14 15:12:02 UTC
Forgot to mention that you need to have VoiceOver running for the freeze to happen.
Comment 2 Niklas Johansson 2014-03-07 15:08:58 UTC
I finally narrowed it down to the else statement here:

http://cgit.freedesktop.org/libreoffice/core/tree/sw/source/core/access/accpara.cxx?id=b1995a2f2d193d12bf189dfcfa2e0fcaa415bbf6#n958

If I remove the else statement then LibreOffice stops freezing. Now the only problem is that I do not really understand what the code is supposed to do so I don't want to remove it blindly.

Looking even closer it seems that these parts in the else statement makes the code go into circles. 
rBound.endPos = min(nNext, rBound.endPos);

It seems that this while loop never ends when the line above is called.
http://cgit.freedesktop.org/libreoffice/core/tree/vcl/osx/a11ytextattributeswrapper.mm?id=b1995a2f2d193d12bf189dfcfa2e0fcaa415bbf6#n327
Comment 3 Commit Notification 2014-03-19 10:31:56 UTC
Niklas Johansson committed a patch related to this issue.
It has been pushed to "master":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=3fa4b0a00f78e940b32d546bac410890719502fd

fdo#74983: Instability in A11y after integration of IA2-branch



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 4 Niklas Johansson 2014-03-20 17:25:37 UTC
I just tried the daily build for windows and after the patch it is crashing the same way as mac did before the patch.

Oh I haven't mentioned that auto spellcheck needs to be active for the bug to manifest it self.
Comment 5 Niklas Johansson 2014-05-13 17:15:53 UTC
This now seems stable on Mac/Windows/Linux so I close this as Resolved - fixed.