Bug 108622 - EDITING: Auto-correct while typing keeps trying access acor_und.dat and acor_en.dat
Summary: EDITING: Auto-correct while typing keeps trying access acor_und.dat and acor_...
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
5.4.0.0.beta2
Hardware: All Windows (All)
: medium minor
Assignee: Aron Budea
QA Contact:
URL:
Whiteboard: target:6.0.0 target:5.4.0.2 target:5.3.5
Keywords: perf
Depends on:
Blocks: Too-Much-File-Access
  Show dependency treegraph
 
Reported: 2017-06-18 16:14 UTC by Telesto
Modified: 2017-08-01 03:24 UTC (History)
2 users (show)

See Also:
Crash report or crash signature:


Attachments
Stack for failing file request (14.88 KB, application/vnd.oasis.opendocument.spreadsheet)
2017-06-20 14:29 UTC, Telesto
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Telesto 2017-06-18 16:14:01 UTC
Description:
When auto-correct while typing is activated, auto-correct while typing keeps trying to access acor_und.dat and acor_en.dat (or acor_nl.dat with dutch language).
It's creating unnecessary reads and is consuming a some CPU power (0,50%) while typing. 


Steps to Reproduce:
1. Download and launch Process Monitor and set the filter for soffice.bin. Disable capture until everything is set up.
2. Open Writer
3. Disable automatic spell checking
4. Disable Writing aids (Options -> Language settings -> Writing aids (just a precaution)
5. Check if Autocorrect is enabled while typing. Menu Tools -> Autocorrect
6. Enable capture in Process Monitor
7. Start typing a few lines of text (not holding one key; just type something).


Actual Results:  
LibO constantly tries to to read two non-existing files: acor_en.dat and acor_und.dat

Expected Results:
Shouldn't do that. 


Reproducible: Always

User Profile Reset: No

Additional Info:
Found in
Version: 6.0.0.0.alpha0+
Build ID: cbf371e07fd5dea1ea08a1f299360d1273961ebd
CPU threads: 4; OS: Windows 6.19; UI render: default; 
TinderBox: Win-x86@42, Branch:master, Time: 2017-06-14_23:13:57
Locale: nl-NL (nl_NL); Calc: CL

and in
Version: 5.4.0.0.beta2
Build ID: 3cc1cdd8ee50f144e5514da51800a08119754d8f
CPU threads: 4; OS: Windows 6.2; UI render: default; 
Locale: en-US (nl_NL); Calc: CL


User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0
Comment 1 Aron Budea 2017-06-20 00:16:42 UTC
Confirmed with LO 5.4beta2 / Windows 7.
Comment 2 Telesto 2017-06-20 14:29:51 UTC
Created attachment 134166 [details]
Stack for failing file request
Comment 3 Commit Notification 2017-07-01 13:40:33 UTC
Aron Budea committed a patch related to this issue.
It has been pushed to "master":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=51f616ddd7a2e3310e1b30dbd73d90e5138980ea

tdf#108622: use correct type for last check timestamp during autocorrect

It will be available in 6.0.0.

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 Aron Budea 2017-07-01 23:28:34 UTC
There was a mechanism that the autocorrect files were only supposed to be accessed every 2 mins, but due to type mismatch this didn't work, and they were accessed each time autocorrect ran (basically at the end of words).

"en" and "und" (undetermined) are part of a fallback mechanism, I'm not sure how correct that is, but now those nonexistent files are only accessed once every 2 mins.

Fix for 5.4 is in gerrit.
Comment 5 Commit Notification 2017-07-03 12:20:40 UTC
Aron Budea committed a patch related to this issue.
It has been pushed to "libreoffice-5-4":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=ef5d9650ecc034100fbf09005436fe75e7eccecb&h=libreoffice-5-4

tdf#108622: use correct type for last check timestamp during autocorrect

It will be available in 5.4.0.2.

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 6 Commit Notification 2017-07-03 12:21:59 UTC
Aron Budea committed a patch related to this issue.
It has been pushed to "libreoffice-5-3":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=9ea89aab5c03795092a207c484a84c34d2cd80f2&h=libreoffice-5-3

tdf#108622: use correct type for last check timestamp during autocorrect

It will be available in 5.3.5.

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 7 tommy27 2017-08-01 03:24:17 UTC
is this somehow related to this one?
Bug 46805 - large autocorrect database make LibO freeze when start typing