Bug Hunting Session
Bug 110753 - LibO hangs when selecting an autocorrect replacement table twice (with an autocorrect file installed)
Summary: LibO hangs when selecting an autocorrect replacement table twice (with an aut...
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
3.5.7.2 release
Hardware: All All
: medium normal
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: AutoCorrect-Complete
  Show dependency treegraph
 
Reported: 2017-08-01 09:13 UTC by Telesto
Modified: 2019-02-09 16:15 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 Telesto 2017-08-01 09:13:23 UTC
Description:
LibO gets responsive when selecting the autocorrect replacement language twice (with an autocorrect file installed)

Steps to Reproduce:
1. Download attachment 100586 [details] (bug 79761)
2. Extract the file to the user profile: LibreOfficeDev\4\user\autocorr
3. Open Writer
4. Tools -> Autocorrect -> Autocorrect Options
5. Select Italian (Italy)
6. Change to selecting to Kaamba
7. Re-select again Italian (Italy) -> LibO gets unresponsive using (hang


Actual Results:  
LibO gets unresponsive 

Expected Results:
Shouldn't happen


Reproducible: Always

User Profile Reset: No

Additional Info:
Found in
Version: 6.0.0.0.alpha0+
Build ID: 18f80da7a689ab962735c0f657497b8f1ed4d606
CPU threads: 4; OS: Windows 6.19; UI render: default; 
TinderBox: Win-x86@42, Branch:master, Time: 2017-07-28_05:15:48
Locale: nl-NL (nl_NL); Calc: CL

and in
Version: 5.4.0.3
Build ID: 7556cbc6811c9d992f4064ab9287069087d7f62c
CPU threads: 4; OS: Windows 6.2; UI render: default; 
Locale: nl-NL (nl_NL); Calc: CL


User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0
Comment 1 tommy27 2017-08-02 12:06:54 UTC
I can reproduce issue with LibO 5.4.3.2 under Win7x64

to be honest I've always been aware of this even in previous releases but I forgot to report it in bugzilla.

the buggy behaviour is more apparent if you select again a large autocorrect list like the sample file attached here.

but I can tell you can see a brief hang even with smaller autocorrect tables.
Comment 2 Telesto 2017-10-04 14:59:38 UTC
No repro with:
LibreOffice 3.3.0 
OOO330m19 (Build:6)
tag libreoffice-3.3.0.4

LibO 3.5.7 will crash
Comment 3 QA Administrators 2018-10-05 02:52:10 UTC Comment hidden (obsolete)
Comment 4 Julien Nabet 2019-02-09 16:15:52 UTC
On pc Debian x86-64 with master sources updated yesterday, just clicking on Italian language in autocorrect options make LO hang.

Adding some traces, LO spends a lot of time in this loop:
https://opengrok.libreoffice.org/xref/core/cui/source/tabpages/autocdlg.cxx?r=ba28af8a#842
    842         for (auto const& elem : aContent)
    843         {
    844             bool bTextOnly = elem->IsTextOnly();
    845             // formatted text is only in Writer
    846             if (bSWriter || bTextOnly)
    847             {
    848                 m_xTextOnlyCB->set_active(elem->IsTextOnly());
    849                 OUString sId;
    850                 if (!bTextOnly)
    851                 {
    852                     // that means: with format info or even with selection text
    853                     sId = OUString::number(reinterpret_cast<sal_Int64>(m_xTextOnlyCB.get()));
    854                 }
    855                 m_xReplaceTLB->append(sId, elem->GetShort());
    856                 m_xReplaceTLB->set_text(m_xReplaceTLB->n_children() - 1, elem->GetLong(), 1);
    857             }
    858             else
    859             {
    860                 aFormatText.insert(elem->GetShort());
    861             }
    862         }