Bug 141027 - LibreOffice freezes when checking russian spelling
Summary: LibreOffice freezes when checking russian spelling
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
6.4.0.0.alpha0+
Hardware: All Windows (All)
: medium normal
Assignee: Caolán McNamara
URL:
Whiteboard: target:7.2.0 target:7.1.3
Keywords: bibisected, bisected, regression
Depends on:
Blocks:
 
Reported: 2021-03-14 17:22 UTC by Sergei
Modified: 2021-03-26 19:57 UTC (History)
1 user (show)

See Also:
Crash report or crash signature:


Attachments
A minimal sample hanging on spell check with Russian UI (8.60 KB, application/vnd.oasis.opendocument.text)
2021-03-15 16:53 UTC, Mike Kaganski
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Sergei 2021-03-14 17:22:23 UTC
Description:
When I open a text file in LibreOffice (format: txt, size: 192 kilobytes, encoding: 1251 ANSI-Cyrillic) for editing and running a spell check, the LibreOffice spell check freezes after finding an erroneous word (three dots in angle brackets <...>) and does not respond to pressing the "Skip" button.

Steps to Reproduce:
1. Download the text file "Diary. The invasion of the secret service in my life" https://drive.google.com/file/d/12cL64enQET9X1CnuCYbbAjyWHxS0g5qO/view?usp=sharing
2. Open this file in the LibreOffice text editor.
3. Run the russian spelling checker and click on the "Skip" button. After the fourth missing word (when the check reaches the points in the angle brackets), the spell check will hang.

Actual Results:
The russian spelling check is frozen.

Expected Results:
The software should have continued the spell check.


Reproducible: Always


User Profile Reset: No



Additional Info:
Version: 7.1.1.2 (x64) / LibreOffice Community
Build ID: fe0b08f4af1bacafe4c7ecc87ce55bb426164676
CPU threads: 2; OS: Windows 10.0 Build 19042; UI render: Skia/Raster; VCL: win
Locale: ru-RU (ru_RU); UI: ru-RU
Calc: CL
Comment 1 Julien Nabet 2021-03-14 18:45:01 UTC
On pc Debian x86-64 with master sources updated today, I wanted to give a try but it doesn't take into account the specific encoding.
Would it be possible you put the text in an odt file and attach directly the odt file on bugtracker by using this link? https://bugs.documentfoundation.org/attachment.cgi?bugid=141027&action=enter
Comment 2 Sergei 2021-03-15 12:56:11 UTC
(In reply to Julien Nabet from comment #1)
> On pc Debian x86-64 with master sources updated today, I wanted to give a
> try but it doesn't take into account the specific encoding.
> Would it be possible you put the text in an odt file and attach directly the
> odt file on bugtracker by using this link?
> https://bugs.documentfoundation.org/attachment.cgi?bugid=141027&action=enter

Unfortunately, I can't publish my text: this is a personal diary, and recently Russian legislation introduced criminal liability for " slander on the Internet "(in fact, for what you can't show). Please fix this error in the LibreOffice spell checker as soon as possible, because I plan to close access to the diary file.
Comment 3 Julien Nabet 2021-03-15 13:44:49 UTC
Thank you for your feedback.
I can't help here if I can't reproduce this=>uncc myself
Comment 4 Roman Kuznetsov 2021-03-15 16:20:51 UTC
no problem in

Version: 7.2.0.0.alpha0+ (x64) / LibreOffice Community
Build ID: 9d8accf03984a64a4105826e55b221962628eb93
CPU threads: 4; OS: Windows 6.1 Service Pack 1 Build 7601; UI render: Skia/Raster; VCL: win
Locale: ru-RU (ru_RU); UI: en-US
Calc: CL
Comment 5 Mike Kaganski 2021-03-15 16:53:30 UTC
Created attachment 170494 [details]
A minimal sample hanging on spell check with Russian UI

Repro with Version: 7.1.1.2 (x64) / LibreOffice Community
Build ID: fe0b08f4af1bacafe4c7ecc87ce55bb426164676
CPU threads: 12; OS: Windows 10.0 Build 19042; UI render: Skia/Raster; VCL: win
Locale: ru-RU (ru_RU); UI: ru-RU
Calc: CL

No repro with Version: 7.1.1.2 (x64) / LibreOffice Community
Build ID: fe0b08f4af1bacafe4c7ecc87ce55bb426164676
CPU threads: 12; OS: Windows 10.0 Build 19042; UI render: Skia/Raster; VCL: win
Locale: ru-RU (ru_RU); UI: en-US
Calc: CL
Comment 6 Mike Kaganski 2021-03-15 17:10:03 UTC
No repro using Версия: 6.3.0.4 (x64)
ID сборки: 057fc023c990d676a43019934386b85b21a9ee99
Потоков ЦП: 12; ОС:Windows 10.0; Отрисовка ИП: GL; VCL: win; 
Локаль: ru-RU (ru_RU); Язык интерфейса: ru-RU
Calc: CL

Repro using Версия: 6.4.0.3 (x64)
ID сборки: b0a288ab3d2d4774cb44b62f04d5d28733ac6df8
Потоков ЦП: 12; ОС: Windows 10.0 Build 19042; Отрисовка ИП: GL; VCL: win; 
Локаль: ru-RU (ru_RU); Язык интерфейса: ru-RU
Calc: threaded

(in those versions, the first pass was checking spelling, and the second was checking grammar; that second pass hung in 6.4, but pressing Esc, after some time it closed the dialog).

I doubt this is bibisectable: bibisect repos only contain en-US UI.
Comment 7 Mike Kaganski 2021-03-15 17:45:22 UTC
Bibisected by putting RU language files (translation + dictionary) to 6.4 bibisect repo.

Regression after https://git.libreoffice.org/core/+/ae5fc99491cf61b02b8dc1c666c88435beadf3e5

> Related: tdf#126935 rearrange spell dialog for expected tab traversal
> 
> so tabbing through goes in visual left to right top to bottom direction

Caolan: could you please take a look?
Comment 8 Mike Kaganski 2021-03-15 19:09:09 UTC
FTR: the "Skip" button from step #3 of comment 0 ("Пропустить" in Russian) is "Ignore Once" in en-US UI.
Comment 9 Mike Kaganski 2021-03-16 06:54:22 UTC
Cannot repro using Версия: 6.4.6.2
ID сборки: 1:6.4.6-0ubuntu0.20.04.1
Потоков ЦП: 4; ОС: Linux 5.8; Отрисовка ИП: по умолчанию; VCL: gtk3; 
Локаль: en-US (en_US.UTF-8); Язык интерфейса: ru-RU
Calc: threaded

with libreoffice-l10n-ru, hunspell-ru, and libreoffice-lightproof-ru-ru.

But ~repro with Версия: 6.4.6.2
ID сборки: 1:6.4.6-0ubuntu0.20.04.1
Потоков ЦП: 4; ОС: Linux 5.8; Отрисовка ИП: по умолчанию; VCL: x11; 
Локаль: en-US (en_US.UTF-8); Язык интерфейса: ru-RU
Calc: threaded

(started using 'SAL_USE_VCLPLUGIN=gen libreoffice'). It doesn't hung then, but the dialog is just black, without any controls.
Comment 10 Caolán McNamara 2021-03-16 15:20:58 UTC
not sure if this is a sensitivity thing or a dialog behind a dialog thing
Comment 11 Caolán McNamara 2021-03-16 16:09:15 UTC
I'm not entirely sure the problem I see is the entire problem, but I am apparently able to work around that so lets see if it sufficient to fix just that.
Comment 12 Commit Notification 2021-03-17 20:58:41 UTC
Caolán McNamara committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/feb6fd1f4213ef114e63a3dd398c2cba6a5e93ea

tdf#141027 set all buttons to the same max width

It will be available in 7.2.0.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 13 Mike Kaganski 2021-03-18 06:42:16 UTC
The commit above fixed the problem for me. Thanks Caolán!
Comment 14 Commit Notification 2021-03-19 10:13:19 UTC
Caolán McNamara committed a patch related to this issue.
It has been pushed to "libreoffice-7-1":

https://git.libreoffice.org/core/commit/66319fd36564f55feb9669b3f117176f4ef4c939

tdf#141027 set all buttons to the same max width

It will be available in 7.1.3.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.