Repository navigation
Description
Environment
- Product: Google Japanese Input v3.33.6130 (proprietary build; the
DictionaryToolhere is the same code shared with Mozc) - OS: macOS 26.5.2 (build 25F84)
- Hardware: MacBook Air (
Mac17,3), Apple M5, 16 GB RAM (Apple Silicon native build) - User dictionary: DMiME 1.1 medical-term dictionary — 42,467 entries, plain UTF-8, tab-separated (
reading<TAB>word<TAB>pos), imported as a single user dictionary. (Almost all entries are名詞/NOUN.)
Summary
When the user dictionary contains ~42,000 entries, DictionaryTool allocates memory without bound during "テーブルの更新" (table update/rebuild) — climbing to roughly 100 GB on this 16 GB machine, so the only way out is a force quit.
This happens in two situations:
- During import of the full 42k-entry file.
- Every time
DictionaryToolis opened afterwards, because it rebuilds the table view of the already-stored user dictionary. So once the data is present, the tool becomes unusable and re-balloons on each launch. Uninstalling/reinstalling the app does not help, becauseuser_dictionary.dbsurvives.
Splitting does not help. Importing as 9 separate ~5,000-entry dictionaries still balloons — memory had already reached ~5.4 GB at 20,000 entries and kept growing. The cost scales with the total number of entries across all dictionaries, not per-dictionary.
Important: only the GUI is affected
The conversion engine (GoogleJapaneseInputConverter) handles the full 42,467-entry dictionary without any problem (tens of MB RSS, normal). The dictionary data is written correctly and completely to ~/Library/Application Support/Google/JapaneseInput/user_dictionary.db (verified by parsing the protobuf: all 42,467 entries present with correct POS). Only the DictionaryTool GUI balloons.
Steps to reproduce
- Fresh install of Google Japanese Input v3.33 on an Apple Silicon Mac.
- Get
DMiME-1.1.txt(42,467 entries) or any user dictionary of comparable size. DictionaryTool→ 管理 → 新規辞書にインポート → select the file.- Watch
DictionaryToolRSS in Activity Monitor climb without bound (~100 GB) → force quit required. - Re-open
DictionaryTool: the same balloon occurs on "テーブルの更新" before you can do anything.
Expected
Importing / displaying a ~42k-entry user dictionary should complete with bounded memory. This size is far below the documented user-dictionary limits, and the same DMiME dictionary has reportedly been imported without issue on Windows and earlier (Intel) Mac builds for years — which suggests this may be a regression specific to the Apple Silicon–native macOS build (v3.33).
Workaround (for other affected users)
Bypass DictionaryTool entirely. The data is already saved in user_dictionary.db, so placing/restoring a valid user_dictionary.db and restarting the Converter (killall GoogleJapaneseInputConverter) gives full medical-term conversion — as long as you never open DictionaryTool.
Notes
- This is distinct from Mozc crashes on opening ConfigDialog.app or DictionaryTool.app on macOS #692 (that was a crash on open due to a missing
Frameworksdir); here the tool launches and then consumes unbounded memory. - I'm aware this is the proprietary Google Japanese Input build and that such reports are sometimes redirected to the product forum. Filing here because
DictionaryToolis Mozc-shared code and this may well reproduce in OSS Mozc with a large user dictionary. Happy to move it if preferred.
Activity
yukawa commentedon Jul 8, 2026
@seiki-tajima, thank you for the report, but can you also check it with the latest version of Mozc? Google Japanese Input and Mozc can be installed side-by-side. You can for instance download Mozc_arm64.pkg for commit 9b29c7d from the following page.
Looks like the page is no longer available. Can you paste it if it's a freely distributable content?
Fix a potential infinity loop in DictionaryTool.
hiroyuki-komatsu commentedon Jul 13, 2026
I have fixed a potential infinity loop error on DictionaryTool [e7ab408].
Could you please check if it fixes your issue or not?
Update BUILD_OSS to 6345
Fix a potential infinity loop in DictionaryTool.