Bug 144915 - "The dictionary is already full" when adding new word to dictionary
Summary: "The dictionary is already full" when adding new word to dictionary
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Linguistic (show other bugs)
(earliest affected) release
Hardware: x86-64 (AMD64) Windows (All)
: medium normal
Assignee: Caolán McNamara
Whiteboard: target:7.6.0
Depends on:
Blocks: Dictionaries
  Show dependency treegraph
Reported: 2021-10-04 12:05 UTC by Jeff
Modified: 2023-01-21 20:08 UTC (History)
4 users (show)

See Also:
Crash report or crash signature:

A window with the inscription "The dictionary is already filled in" (22.01 KB, image/jpeg)
2021-10-04 12:08 UTC, Jeff

Note You need to log in before you can comment on or make changes to this bug.
Description Jeff 2021-10-04 12:05:29 UTC
When trying to add a new word to the dictionary (right-click on the word and select the line "add to dictionary" (by the way, this line is not translated)), a small sign appears with the inscription "The dictionary is already filled in" (I use the Russian version). What to do?

Steps to Reproduce:
1.Hover the cursor over a word that is missing in the dictionary (it is underlined)
3.Selecting the line "add to dictionary" + left click

Actual Results:
A small window appears with the inscription "The dictionary is already filled in"

Expected Results:
I pressed the "OK" button in the window

Reproducible: Always

User Profile Reset: No

Additional Info:
Version: (x64) / LibreOffice Community
Build ID: 87b77fad49947c1441b67c559c339af8f3517e22
CPU threads: 6; OS: Windows 6.1 Service Pack 1 Build 7601; UI render: Skia/Raster; VCL: win
Locale: ru-RU (ru_RU); UI: ru-RU
Calc: CL
Comment 1 Jeff 2021-10-04 12:08:33 UTC
Created attachment 175500 [details]
A window with the inscription "The dictionary is already filled in"
Comment 2 Buovjaga 2022-10-24 16:32:56 UTC
Does this only happen with the Russian dictionary? I can't reproduce the problem with English (USA).

Arch Linux 64-bit
Version: / LibreOffice Community
Build ID: 40(Build:3)
CPU threads: 8; OS: Linux 6.0; UI render: default; VCL: kf5 (cairo+xcb)
Locale: fi-FI (fi_FI.UTF-8); UI: en-US
Calc: threaded
Comment 3 Stéphane Guillou (stragu) 2023-01-20 16:56:20 UTC
I assume the string is "The dictionary is already full" in English.

It is defined here: https://opengrok.libreoffice.org/xref/core/include/editeng/editrids.hrc?r=f7f0f399#308
And it is only used here: https://opengrok.libreoffice.org/xref/core/editeng/source/misc/unolingu.cxx?r=91fef4a4#738

This is triggered if the dictionary has 30,000 or more entries.
Size is checked in DictionaryNeo::isFull() here: https://opengrok.libreoffice.org/xref/core/linguistic/source/dicimp.cxx?r=3d236177#920

DIC_MAX_ENTRIES limit of 30,000 is defined here: https://opengrok.libreoffice.org/xref/core/linguistic/source/dicimp.hxx?r=fd3888c6&fi=DIC_MAX_ENTRIES#33

Not sure why this hard limit. I don't see it documented: https://help.libreoffice.org/7.4/en-US/text/shared/optionen/01010400.html

Any reason for this hard 30,000 limit?
Should this report be changed into a documentation issue?
Comment 4 Caolán McNamara 2023-01-20 21:13:26 UTC
If the issue is the 30,000 limit we could just remove the limit. Its unclear why there is a limit there. https://gerrit.libreoffice.org/c/core/+/145916 would do that, and presumably let us find out why there is a limit :-)
Comment 5 Shantanu 2023-01-21 03:36:14 UTC
A workaround is to create a new custom dictionary that will allow another set of 30,000 words! I think there is no need of such restriction.

I can reproduce using Marathi(IN) Dictionary.

Version: (x64) / LibreOffice Community
Build ID: 1048a8393ae2eeec98dff31b5c133c5f1d08b890
CPU threads: 1; OS: Windows 10.0 Build 14393; UI render: Skia/Raster; VCL: win
Locale: en-US (en_US); UI: en-US
Calc: threaded
Comment 6 Commit Notification 2023-01-21 16:22:49 UTC
Caolán McNamara committed a patch related to this issue.
It has been pushed to "master":


tdf#144915 effectively remove limit on number of words in dictionary

It will be available in 7.6.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:

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