Bug 156764 - Tools>Language>For All Text hangs if multiple languages are involved
Summary: Tools>Language>For All Text hangs if multiple languages are involved
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
7.5.4.2 release
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-08-14 10:38 UTC by Roy Reese
Modified: 2023-09-08 12:07 UTC (History)
2 users (show)

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 Roy Reese 2023-08-14 10:38:28 UTC
I have had to play with LO Writer to try to isolate this, disabling extensions and using a clean set of defaults. I am providing an extensive description of my experience and tests in the hopes it narrows down the source for the devs.

The problem appears when a document has multiple languages. Examples, in working as a translator I have received documents that have the text in one language, but were done with the default set to another -- or copying from one document in English to a blank document with my default Spanish.

To be more specific, in the first example I have received documents to correct where the template was set to German, but the text was written in US English and some parts remained with German set as the language. In trying to set the whole document UK English, LO hung.

In the second example part of text was copied from the internet was added to the document with the default Spanish, the rest was in a text box with US English. Trying to set to UK English caused LO to hang. However, if the same text was pasted from the clipboard without being in a separate text box, all parts of the document showed having the default Spanish and were able to be set to be completely set to UK English.

In the cases of multiple languages, sections of the document can be changed successfully, but if one attempts to reset the language for the entire document, LO hangs. It is not clear what is happening as CPU use does not increase as if there is a loop in the code. However, after waiting a minute or two I find I have to kill the window and start over. LO does not respond to "Cancel", presumably because it is busy in the background.

(Without evidence of a loop, it may be that the LO algorithm simply takes an incredibly long time. I will confess that for me killing is the better part of valour when the program is keeping me from working!)

To replicate:

A:

1. Open a document with multiple languages set OR insert text from a document with a language set that differs from the document being tested.

2. Choose Tools>Language>For All Text

3. Select an available 3rd language.

B:

1. Open a document with default language and insert some text

2. Create a text box and insert text in a language other than your default

3. Choose Tools>Language>For All Text

4. Select an available 3rd language.

Expected behaviour: LO sets language for the entire document to the 3rd language. Actual behaviour (in one or both instances): LO appears to hang, does not respond to "cancel" and must be killed.

Additional information: this is LO running in Mageia Cauldron (9). No similar problem was noted with versions prior to 7.5.x.x in either Cauldron or Mageia 8.
Comment 1 Roy Reese 2023-08-14 10:49:59 UTC
Just tested this for 4 minutes before killing it. During that time usage in one of the 4 cores did spike periodically, once as high as 99%.
Comment 2 m_a_riosv 2023-08-14 16:39:35 UTC
Looks like a duplicate of https://bugs.documentfoundation.org/show_bug.cgi?id=156535
Comment 3 raal 2023-08-14 19:14:00 UTC
Hello, as mentioned in https://bugs.documentfoundation.org/show_bug.cgi?id=156535#c2 it should be resolved in 7.5.5. Please update first.
Comment 4 Roy Reese 2023-09-08 12:07:43 UTC
OK, didn't get a chance to install 7.5.5, but rather to install the just released 7.5.6, and all is well. My thanks to the devs for the speedy fix.